JAVA流程控制
01用户交互Scanner
我们可以通过Scanner类来获取用户的输入
基本语法为:
Scanner s = new Scanner(Sysytem.in);
next()方法都不输出会将空格作为分割符,空格后面的
02顺序结构
1.java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
2.顺序结构是最简单的算法结构。
3.语句和语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
03if选择结构
1.if语句至多有一个else语句,else语句在所有的else if语句之后
2.if语句可以有若干个else if 语句,他们必须在else语句之前
3.一旦其中一个else if语句检测为true,其他的else if 以及else语句都将跳过执行
//数据测试条件:正确数据、边界数据、错误数据
if(){
}else if{
}else{
}
有时候if语句可以用三元运算符互换
int a = 10;
int b = 20;
//定义变量,保存a和b的较大值
int c;
if(a > b) {
c = a;
} else {
c = b;
}
//可以上述功能改写为三元运算符形式
c = a > b ? a:b;
04switch多选择结构
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch 支持字符串String类型
每一条选择语句都必须加break,没有加会穿透,在不判断下一个case值的情况下,向下运行,直到遇见break,或者整体switch语句结束;
switch(expression){//变量类型byte,short,int,char.
//JavaSE7后支持String。对应为s.hashCode()
//标签必须是字符串常量或字面量
case value:
break;
//你可以有任意数量的case语句
default:
}
在switch语句中,如果case控制的语句体后面不写break
05for循环语句
//for循环
for(int i= 3; i<3;i++){
sout("");
}
循环结构的组成:
初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
条件判断语句:用于表示循环反复的条件,简单说就是判断循环能否一直执行下去
循环体语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制语句是否能执行下去
循环结构对应的语法:
初始化语句:这里可以是一条或者多条语句,这些语句可以完成一些初始化操作
条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体。例如:a<3
循环体语句:这里可以是任意语句,这些语句将反复进行
条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果,常见i++,i–的操作
06while循环语句
while(布尔值){
//循环内容
}
123
- 只要布尔表达式为true,循环就会一直执行下去
- 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
- 少部分情况需要循环一直执行,比如服务器的请求响应监听等。
- 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EP56rnVj-1651764828496)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
07 do while 循环语句
int i=1;
do{
System.out.println(" ");
i++;
}while (i<=5);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-waPkLNcv-1651764828497)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
08三种循环的区别
- for循环跟while循环先判断条件是否成立,然后决定是否执行循环体(先判断都执行)
- do whlie是先执行一次循环体,然后再判断条件是否成立,是否继续执行循环体(先执行后判断)
- 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了(变量在for循环里面,用一次不能再用)
- 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
//for死循环:
for(;;){
System.out.println("for");
}
//while死循环:
while(true){
sout("while");
}
//do...while死循环
do{
sout.("do...while");
}while(true);
09跳转控制语句概述
continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下次执行
break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环
10循环嵌套
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rmiiENmJ-1651764828500)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)]
输出一天的小时和分钟:
for(int hour = 0; hour<= 24;hour++){
for(int minute = 0; minute<= 60;minute++){
sout(hour +"时"+ minute +"分");
}
}
10Random用于导出一个随机数
使用步骤:
//1.导包
import java.util.Random;
//导包的动作必须出现在类定义的上面
2.Random r = new Random();
//r是变量名,其他都不能变
3.int number = r.nextInt(10);
//获取数据的范围:【0,10),包括0但不包括10
//如果要求产生随机数是0-11的话,
int number = r.nextInt(10) +1;
.Random;
//导包的动作必须出现在类定义的上面
2.Random r = new Random();
//r是变量名,其他都不能变
3.int number = r.nextInt(10);
//获取数据的范围:【0,10),包括0但不包括10
//如果要求产生随机数是0-11的话,
int number = r.nextInt(10) +1;