Java中的流程控制语句

目录

一、if条件语句

二、switch分支语句

三、for循环

四、while循环

五、do...while循环

六、break、continue关键字

1、break

2、continue


一、if条件语句

如果条件表达式true,就执行if的语句代码块。它有以下几种格式:

// 第一种:
if (条件表达式) {执行的语句;
}
// 第二种:
if (条件表达式) {表达式的值为真时执行的语句;
} else {表达式的值为假时执行的语句;
}
// 第三种:
if (条件表达式1) {表达式1的值为真时执行的语句;
} else if (条件表达式2) {表达式2的值为真时执行的语句;
} else {其他条件时要执行的语句;
}

使用示例,只有一个语句时:

public class IfStatement01 {public static void main(String[] args) {// 接收用户输入Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");// 接收一个整数int input = sc.nextInt();if (input == 18) {System.out.println("你猜对了。");}}
}

使用示例,有两个语句时候:

import java.util.Scanner;/*** if...else...语句*/
public class IfStatement02 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入你猜的年龄:");int age = sc.nextInt();if (age == 18) {System.out.println("猜对了。");} else {System.out.println("再给你一个机会");}}
}

使用示例,多条件表达:

import java.util.Scanner;/*** 多条件表达式*/
public class IfStatement03 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入今天是周几:");int week = sc.nextInt();if (week == 1) {System.out.println("今天是星期一");} else if (week == 2) {System.out.println("今天是星期二");} else if (week == 3) {System.out.println("今天是星期三");} else if (week == 4) {System.out.println("今天是星期四");} else if (week == 5) {System.out.println("今天是星期五");} else if (week == 6) {System.out.println("今天是星期六");} else if (week == 7) {System.out.println("今天是星期七");} else {System.out.println("你一定不是来自地球!");}}
}

二、switch分支语句

switch语句的语法如下:

switch(表达式) {case 值1:语句1;break;case 值2:语句2;break;.....default:默认语句块;break;
}

使用示例:

import java.util.Scanner;/*** Switch语句*/
public class SwitchStatement {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("今天是星期几:");int week = sc.nextInt();switch (week) {case 1:System.out.println("今天是星期一");break;case 2:System.out.println("今天是星期二");break;case 3:System.out.println("今天是星期三");break;case 4:System.out.println("今天是星期四");break;case 5:System.out.println("今天是星期五");break;case 6:System.out.println("今天是星期六");break;case 7:System.out.println("今天是星期天");break;default:System.out.println("地球很危险,你还是回火星吧");break;}}
}

需要注意的是:

  1. case语句块中,break不能省略,否则会继续向下执行,直接遇到break或者switch代码块结束。
  2. default语句块是可以在switch语句块中的任意位置,不一定是在最后她。如果不是在最后的话,那么此时代码块中的break语句不能省略。
  3. 如果default语句块是在最后,那么break语句可以省略。

另外if语句块和switch语句块的区别:

  • switch语句比if语句的执行效率高
  • if语句的使用场景比switch要多

三、for循环

当我们需要重复去做某些事(功能)时,就可以考虑使用循环来实现。在 Java中循环有以下几种:

  • for 循环

  • while 循环

  • do..while循环

对于循环来说它有以下几个部分组成:

  1. 循环变量初始,在整个循环中只会执行一次

  2. 循环条件

  3. 循环体,它就是我们要反复执行代码

  4. 循环变量的步长,它是用来改变循环变更,从而可以达到退出循环的目的

for循环的简单使用:

1)使用格式:

for(循环变量类型 循环变量 = 初值; 循环条件; 循环变量步长){循环体;
}

2)exam1:使用 for 循环实现 1 ~ 100 的和

public class ForDemo02 {public static void main(String[] args) {int sum = 0; // 存放最终的结果for (int i = 1; i <= 100; i++) {//sum = sum + i;sum += i;     // +=、-=、/=、*=、%=}System.out.println("sum = " + sum);}
}

3)exam2:计算1~100的偶数和

public class ForDemo03 {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("sum = " + sum);System.out.println("------------------");sum = 0;for (int i = 2; i <= 100; i = i + 2) {sum += i;}System.out.println("sum = " + sum);}
}

对于for循环来说,还可以做如下的变化:

public class ForDemo04 {public static void main(String[] args) {int sum = 0;int i = 2;for (; i <= 100; ) {i = i + 2;sum += i;}System.out.println("sum = " + sum);}
}

for循环的死循环写法:

public class ForDemo05 {public static void main(String[] args) {for (;;) {System.out.println("hello");}}
}

for循环是可以嵌套的,它的语法格式为:

for (循环变量类型 循环变量 = 初值; 循环条件; 循环变量步长) {for (循环变量类型 循环变量 = 初值; 循环条件; 循环变量步长) {循环体;}
}

exam1:打印四边形

public class ForDemo06 {public static void main(String[] args) {// 打印5行10列的长方形for (int i = 0; i < 5; i++) {for (int j = 0; j < 10; j++) {System.out.print(" * ");}System.out.println();}}
}

exam2:打印如下三角形

public class ForDemo07 {public static void main(String[] args) {for (int i = 0; i <= 6; i++) {for (int j = 0; j <= i; j++) {System.out.print("#");}System.out.println();}}
}

public class ForDemo08 {public static void main(String[] args) {for (int i = 1; i <= 6; i++) {for (int j = 6; j >= i; j--) {System.out.print("#");}System.out.println();}}
}

四、while循环

while循环的结构如下:

循环变量初值;
while(循环条件) {要执行的逻辑;循环变量步长;
}

exam1:计算1~100的和

public class WhileDemo01 {public static void main(String[] args) {// 需要:计算 1 ~ 100 的和int sum = 0;// 定义循环变量初值int i = 1;// 循环while (i <= 100) {sum += i;  // sum = sum + i;i++;}System.out.println("sum = " + sum);}
}

代码还可以进行简化:

public class WhileDemo01 {public static void main(String[] args) {// 需要:计算 1 ~ 100 的和int sum = 0;// 定义循环变量初值int i = 1;// 循环while (i <= 100) {sum += i++;  // sum = sum + i;//i++;}System.out.println("sum = " + sum);}
}

exam2:使用while打印九九乘法表

public class NineTableForWhile {public static void main(String[] args) {// 定义外层循环的初值int i = 1;while (i <= 9) {// 定义内层循环的初值int j = 1;while (j <= i) {System.out.print(i + " * " + j + " = " + (i * j) + "\t");j++;}i++;System.out.println();}}
}

五、do...while循环

循环的结构如下:

循环变量初值;
do {循环处理逻辑;循环变量步长;
} while (循环条件);

exam1:计算1~100的和

public class DoWhileDemo01 {public static void main(String[] args) {// 需求:计算1~100的和int sum = 0;int i = 1;do {sum += i;i++;} while (i <= 100);System.out.println("sum = " + sum);}
}

这三个循环的适用场景:

  1. 大多数情况下这三个循环都可以通用

  2. 一般情况下在循环次数确定的时候通常会优先使用 for 循环,而循环次数不确定时通常会优先选择 while 循环

  3. 如果在任何情况下都希望至少执行一次,则选择 do...while 循环

对于for循环和while循环来说,它们是先判断再执行,而 dowhile循环是先执行再判断。

六、break、continue关键字

1、break

这个关键字用于结束循环或退出switch,它只能用于 swtich 和 循环中。

exam1:循环 1 ~ 10,但是当循环到 6 时就退出。

public class BreakDemo01 {public static void main(String[] args) {// 需求:循环 1 ~ 10,但是当循环到 6 时就退出。for (int i = 1; i <= 10; i++) {//if (i < 6) {//    System.out.println(i);//}System.out.println("----");if (i >= 6) break;else System.out.println(i);}}
}

除了可以推出break关键字所在的循环,还可以使用来退出指定的循环。

public class BreakDemo02 {// 需求:当 j 的值为 3 时,退出外层循环public static void main(String[] args) {out:for (int i = 1; i <= 5; i++) {System.out.println(i);for (int j = 1; j <= 5; j++) {if (j == 3) break out;System.out.println("\t" + j);}}}
}

2、continue

这个关键字只能使用在循环中,来结束本次循环进入下一次循环。

exam1:

public class ContinueDemo01 {// 需求:当循环到 5 时就跳过public static void main(String[] args) {for (int i = 1; i < 10; i++) {if (i == 5) continue;System.out.println(i);}}
}

该关键字也可以带标签跳过:

public class ContinueDemo02 {// 需求:当 j = 3 时结束外层循环一次,并进入到下一次。public static void main(String[] args) {out:for (int i = 1; i <= 5; i++) {System.out.println(i);for (int j = 1; j <= 5; j++) {if (j == 3) continue out;System.out.println("\t" + j);}}}
}

exam2:

import java.util.Random;
import java.util.Scanner;public class Exercise03 {public static void main(String[] args) {// 1. 创建一个能够产生随机数的对象Random random = new Random();// 2. 调用这个对象的相关方法来生成一个随机数// 它会产生一个 [0 ~ 99) 的数int num = random.nextInt(89) + 11;System.out.println(num);// 3. 获取个位数和十位数int ten_digit_number = num / 10;System.out.println("ten_digit_number = " + ten_digit_number);int single_digit = num % 10;System.out.println("single_digit = " + single_digit);// 4. 接收用户的输入// 4.1 接收用户输入Scanner sc = new Scanner(System.in);System.out.println("请输入你要购买的数字:");int input = sc.nextInt();// 4.2 判断用户输入的数字是否在安全范围之内if (input >= 100 || input < 10) {System.out.println("输入的数字不能超过100,也不能小于 10");// 退出System.exit(1);}// 4.3 获取用户输入数字的个位和十位int user_ten_digit_number = input / 10;System.out.println("user_ten_digit_number = " + user_ten_digit_number);int user_single_digit = input % 10;System.out.println("user_single_digit = " + user_single_digit);// 5. 判断输入的值与产生的随机数进行匹配if (num == input) {System.out.println("恭喜你中大奖了,得了10000美元");} else if (ten_digit_number == user_single_digit && single_digit == user_ten_digit_number) {System.out.println("恭喜你得了二等奖,奖金为3000美元");} else {if (ten_digit_number == user_single_digit ||ten_digit_number == user_ten_digit_number ||user_single_digit == single_digit) {System.out.println("还不错,得了三等奖,奖金为 1000美元");} else {System.out.println("差一点就中奖, 继续?");}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600615.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

买卖股票的最佳时机III

题目链接 买卖股票的最佳时机III 题目描述 注意点 1 < prices.length < 1000000 < prices[i] < 100000不能同时参与多笔交易&#xff08;必须在再次购买前出售掉之前的股票&#xff09;最多可以完成 两笔 交易 解答思路 本题最多可以完成两笔交易&#xff0c;…

ModelSim的使用

如何用Modelsim编译高云FPGA的库(高云IP核的联合仿真) 1.找到高云云源软件自带的IP库,在安装目录下,如下: C:\Gowin\Gowin_V1.9.7.06Beta\IDE\simlib,这个路径下包含小蜜蜂家族和晨曦家族两大类,根据自己的实际使用选 2.在Modelsim的安装路径下建一个编译云源库的存放…

常用的深度学习自动标注软件

0. 简介 自动标注软件是一个非常节省人力资源的操作&#xff0c;而随着深度学习的发展&#xff0c;这些自动化标定软件也越来越多。本文章将会着重介绍其中比较经典的自动标注软件 1. AutoLabelImg AutoLabelImg 除了labelimg的初始功能外&#xff0c;额外包含十多种辅助标注…

什么是MQTT,物联网MQTT协议详解

一、什么是MQTT 物联网 (IoT) 和机器对机器 (M2M) 通信对我们与技术交互的方式产生了持久影响。到 2022 年底&#xff0c;全球连接的物联网设备数量增长了 18%&#xff0c;达到 144 亿&#xff0c;到 2025 年估计连接的物联网设备将达到约 270 亿。随着这种增长&#xff0c;能够…

期货学习笔记-MACD指标学习2

MACD底背离把握买入多单的技巧 底背离的概念及特征 底背离指的是MACD指标与价格低点之间的对比关系&#xff0c;这里需要明白的是MACD指标的涨跌动能和价格形态衰竭形态之间的关系&#xff0c;如果市场价格创新低而出现衰竭形态同时也有底背离形态的出现&#xff0c;此时下跌…

抖店的体验分怎么快速提高?长期做抖店:重要的并不是选品出单!

哈喽~我是电商月月 做抖店的朋友们都知道&#xff0c;做抖店出单固然重要 但出单后对体验分的维持&#xff0c;才是影响整个店铺长期发展的重中之重 不了解这句话的先不要走开&#xff0c;今天&#xff0c;我们就来聊一聊体验分的正确看法&#xff0c;以及教你们两招提高体验…

libevent源码解析-定时机制,信号处理,流量控制

概述 libevent的event&#xff0c;event_callback&#xff0c;event_base除了可以用来支持套接字的自动和手动分发&#xff0c;也可用来支持定时机制&#xff0c;信号处理&#xff0e;这里&#xff0c;我们补充对定时机制&#xff0c;信号处理的分析&#xff0e; libevent中的…

nginx status配置及参数配置

今天简单介绍下如何监控Nginx的状态。 其实要监控Nginx的状态非常简单&#xff0c;它内建了一个状态页&#xff0c;只需修改Nginx配置启用Status即可&#xff0c;对于想了解nginx的状态以及监控nginx非常有帮助。 1. 启用nginx status配置 大概Nginx配置文件&#xff0c;在默…

springboot-admin使用及原理剖析

服务端 依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>de.codecentric</groupId><art…

Java-接口-定义接口Filter及其实现类WordFilter

所谓&#xff1a;“纸上得来终觉浅&#xff0c;绝知此事要躬行。” 关于接口的知识&#xff0c;可以几分钟过一遍&#xff1a;Java-接口—知识&#xff08;基础&#xff09;-CSDN博客 现在就是练习time&#xff0c;先来看题&#xff1a; 定义一个接口 Filter&#xff0c;表示…

9 年蝉联 IM 第一!艾瑞咨询发布最新报告,融云持续引领专业通信云行业

近期&#xff0c;艾瑞咨询发布的《2024 年全球互联网通信云&#xff08;IMRTC&#xff09;行业研究报告》&#xff08;下简称《报告》&#xff09;显示&#xff0c;2023 年全球互联网通信云市场规模达 65 亿元&#xff0c;其中中国市场占比约 39%。 过去一年&#xff0c;IM Pa…

【AN】简单的实现点击播放影片剪辑再点击暂停的功能

动画故事背景 一个影片剪辑&#xff0c;里面做了一个动画。我希望影片剪辑一开始是暂停的&#xff0c;按钮点击后开始播放&#xff0c;再次点击就暂停&#xff01; 下图那个花瓣就是影片剪辑&#xff0c;里面有个掉落的路径引导动画&#xff01; 1.首先给花瓣影片剪辑一个实例…