控制语句即用来实现对程序流程的选择、循环、转向 和返回等进行控制。
二、分类 1、选择语句 选择语句又称为分支语句,它通过对给定的条件进行判断,从而决定执行两个或多个分支 中的哪一支。在 Java 语言中选择语句主要提供了两个, 一个是 if 语句,另一个则是 switch 语句。
1.1、if语句 四种:
if (1>2){ System.out.println("第一"); } else { System.out.println("第一个"); } ================================ if (1>2){ System.out.println("第一"); } else if (2>1){ System.out.println("第二个"); } else { System.out.println("第三个"); } ================================= if (1>2){ System.out.println("第一"); } else if (2>3){ System.out.println("第二个"); } else if(3<4){ System.out.println("第三个"); } } ================================== if (1>2){ System.out.println("第一"); } else if (2>3){ System.out.println("第二个"); } else if(3>4){ System.out.println("第三个"); } else { System.out.println("disige"); } }
注意:虽然 java 规定当分支中只有一条 java 语句的话大括号可以省略,但是为了程序具有很强的 可读性,所以建议在实际开发中还是不要省略大括号会比较好。
1.2、switch switch 语句和 if 语句一样,都属于选择语句(分支语句)。
-
switch 语句后面的小括号“()”当中都可以出现什么,switch 语句除了支持 int 类型之外,还支持 String 类型。
例子:
java.util.Scanner s=new java.util.Scanner(System.in); System.out.println("请输入数值"); String name=s.next(); switch (name){ case "chen": System.out.println("陈绪杰"); case "1": System.out.println("chenxujei 2"); default: System.out.println("陈绪杰好人"); }
2.switch 虽然只能探测 int 类型,但是也可以将 byte,short,char 类型放到小括号当中,因 为这些类型会自动转换成 int 类型(小容量向大容量转换称为自动类型转换)。
3.switch 语句当中当某个分支匹配成功,则开始执行此分支当中的 java 语句,当遇到当 前分支中的“break;”语句,switch 语句就结束了,但是如果当前分支中没有“break;”语句, 则会发生 case 穿透现象,也就是说下一个分支也不再进行匹配,直接进入下一个分支执行, 直到遇到“break;”为止。即找一个程序的入口。没有break就一直往下执行。
4.switch 语句中 case 要求的是常量,一般是不能进行逻辑判断的。
2、循环语句 2.1、for 格式:for(表达式;布尔表达式;表达式);
例子:
int i; for (i=0;i<10;i++) System.out.print(i);
1.对于 for 循环来说,初始化表达式、布尔表达式、更新表达式都不是必须的,当布尔表达 式缺失的时候,没有条件控制的前提下,会形成死循环。但是分号是不能少的。
例子:for (;;
2.关于 for 循环的使用我们还需要注意初始化变量的作用域,在 for 循环当中声明的变量只在 for 循环中有效,当 for 循环结束之后,初始化变量的内存就释放了/消失了,所以在 for 循环之 外是无法访问该变量的。
int i; for (i=0;i<10;i++){ System.out.print(i); }//作用域在整个方法体内 for ( int i=0;i<10;i++){ System.out.print(i); }//作用域在FRO语句内2.2、while
循环语句除了 for 循环之外还有 while 和 do…while,循环体执行次数为 0~N 次
格式:while(布尔表达式){循环体}
执行原理:先 判断布尔表达式的结果,如果是 true,则执行循环体,循环体结束之后,再次判断布尔表达式 的结果,如果是 true,再执行循环体,循环体结束之后,再判断布尔表达式的结果,直到结果 为 false 的时候,while 循环结束。如果起初第一次判断布尔表达式结果的时候就是 false,那么 while 循环体执行次数就为 0 了。
2.3、do…while do…while 循环是 while 循环的变形,它们的区别在于 do…while 循环可以保证循环体执行次 数至少为 1 次,也就是说 do…while 循环的循环体执行次数是 1~N 次。
格式:
int i=0; do { System.out.println(i); i++; }while (i<10);//一定要注意while后面的分号,不能忘了写
执行原理:而 do…while 循环最先执行的不是条件判断,它会先执行循 环体,然后再进行条件判断,这样就可以保证循环体至少执行一次喽!
3、转向语句转向语句用于实现循环执行过程中程序流程的跳转,在Java中转向语句有 break和 continue 语句。当然,还包括其它的,例如 return 语句。
3.1、break1.用途:可以用作于swith和循环语句中。break 语句重点是使用在循环语句当中,用来终止/跳出循环。
2.break 语句默认情况下只能终止离它“最近”的“一层”循环。
3.我们可以得知当多层循环嵌套的时候,可以给每个循环设置标识, 例如:first:for…、second:for…,当某个条件成立时,想终止指定循环的话,可以这样做:break first;或者 break second;,这样指定的循环就结束了。
例子:
first:for (int i=1;i<=9;i++){ for (int j = 1;j <=i;j++){ System.out.print(i+"*"+j+"="+i*j+" "); break first; } System.out.println(); }3.2、continue
1.用途:只用作与循环语句中。
2.continue 语句则是用来终止当前本次循 环,直接进入下一次循环继续执行。作用于循环语句中的条件判断出。
3.当“continue;”语句执行的时候,当前本次循环剩下的代码就不再执行了 (不再执行下面的输出语句)。
4.总之,break 用来终止循环,continue 用来中断当前本次循环,直接进入下一次循环继续执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)