if,if...else...
if结构的语句有四种编写方式:
第一种:
1 if(布尔表达式){ 2 java语句; 3 java语句; 4 ..... 5 }
第二种:
1 if(布尔表达式){ 2 java语句; 3 java语句; 4 ..... 5 }else{ 6 java语句; 7 java语句; 8 ..... 9 }
第三种:
1 if(布尔表达式1){ 2 java语句; 3 java语句; 4 ..... 5 }else if(布尔表达式2){ 6 7 java语句; 8 java语句; 9 ..... 10 }else if(布尔表达式3){ 11 12 java语句; 13 java语句; 14 ..... 15 }......
第四种:
1 if(布尔表达式1){ 2 java语句; 3 java语句; 4 ..... 5 }else if(布尔表达式2){ 6 7 java语句; 8 java语句; 9 ..... 10 }else if(布尔表达式3){ 11 12 java语句; 13 java语句; 14 ..... 15 }......else{ 16 17 java语句; 18 java语句; 19 ..... 20 }
总结:1、对应java中的if语句来说,只要有一个分支语句执行,整个if语句结束。
2、对应以上第二种、第四种结构,都带有else分支,这两种方式可以保证100%有分支执行。
3、对应以上第一种、第三种结构,有可能一个分支都不执行。
4、所有的控制语句都是可以嵌套使用的,只要合理即可,如:
1 if(布尔表达式1){ 2 if(布尔表达式1){ 3 java语句; 4 java语句; 5 ..... 6 }else if(布尔表达式11){ 7 java语句; 8 java语句; 9 ..... 10 } 11 }else{ 12 if(布尔表达式2){ 13 java语句; 14 java语句; 15 ..... 16 }else if(布尔表达式21){ 17 java语句; 18 java语句; 19 ..... 20 } 21 }
5、if分支中只有一条java语句时,可以省略“{}”。即以下两种写法等价,一般建议使用第一种。
1 //第一种 2 if(布尔表达式){ 3 一条java语句; 4 } 5 6 //第二种 7 if(布尔表达式) 一条java语句;
switch
switch语法结构:
1 switch(int或String类型的字面值或变量){ 2 case int或String类型的字面值或变量: 3 java语句; 4 ...... 5 break; 6 case int或String类型的字面值或变量: 7 java语句; 8 ...... 9 break; 10 case int或String类型的字面值或变量: 11 java语句; 12 ...... 13 break; 14 ...... 15 default: 16 java语句; 17 ...... 18 }
switch执行原理:
1、switch后面小括号当中的"数据"和case后面的"数据"按照自上而下的顺序一一执行,匹配成功的语句执行。
2、匹配成功的分支执行,分支当中最后有"break;"语句时,整个switch结束执行。
3、分支当中最后没有"break;"语句时,直接进入下一个分支执行(不进行匹配),这种现象被称为case穿透。
4、如果所有分支都没有匹配成功,当有default语句时,会执行default分支当中的语句。
5、switch后面和case后面只能是int或String类型的数据(JDK7及其之后的版本),不能是其他类型。当然,byteshortchar类型的数据也可以直接放在switch和case后面,因为byte/short/char可以自动类型转换。
6、case可以合并:
1 int i = 10; 2 switch(i){ 3 case 1: case 2: case 3: case 10: 4 System.out.println("Test!"); 5 break; 6 }
循环结构
循环语句-for
for循环的语法结构:
1 for(初始化表达式;布尔表达式;更新表达式){ 2 需循环执行的代码片段; 3 }
for循环的执行原理:
1、初始化表达式、布尔表达式、更新表达式都不是必须的,但是两个“;”是必须的。
2、初始化表达式最先执行,并且在整个for循环中只执行一次。
3、布尔表达式必须是true/false,不能是其他值。
4、for循环的执行过程:先执行初始化表达式,并且该表达式只执行一次;然后判断布尔表达式的结果是true或false;如果布尔表达式true,则执行循环体,然后执行更新表达式并判断布尔表达式结果;如果布尔表达式false,则循环结束。
5、循环语句可以嵌套使用。
使用for循环输出九九乘法表:
1 /* 2 九九乘法表: 3 1*1=1 4 1*2=2 2*2=4 5 1*3=3 2*3=6 3*3=9 6 1*4=4 2*4=8 3*4=12 4*4=16 7 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 8 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 9 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 10 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 11 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 12 */ 13 14 public class MultiplicationTable{ 15 public static void main(String[] args){ 16 for(int i = 1; i <= 9; i ++ ){ 17 for(int j = 1; j <= i; j ++ ){ 18 System.out.print(j + "*" + i + "=" + (j * i) + " "); 19 } 20 System.out.println();//换行 21 } 22 } 23 }
循环语句-while
while循环的语法结构:
1 while(布尔表达式){ 2 循环体; 3 }
while循环的执行原理:
先判断布尔表达式的结果,如果为true,则执行循环体,然后再判定布尔表达式的结果;如果为假,则循环结束。
while循环的执行次数:0~N次。
循环语句-do...while
do...while循环的语法结构:
1 do{ 2 循环体; 3 }while(布尔表达式);
do...while循环的执行原理:先执行一次循环体,然后判断布尔表达式的结果,如果为true,则继续执行循环体;如果为假,则循环结束。
do...while循环的执行次数:至少执行一次。
控制循环的结构
控制语句-break
1、break是Java语言当中的关键字,被翻译为“中断/折断”;
2、break + “;”可以成为一个单独的完整的Java语句:break;
3、break语句使用在switch语句中,用来终止switch语句执行;同样可以用在循环语句中,用来终止循环的执行。
4、break;语句用在for,while,do...while循环语句中用来跳出循环,终止循环的执行。默认情况下,终止的是离它最近的循环,但可以指定终止的循环。
1 public class Test{ 2 public static void main(String[] args){ 3 A:for(int i = 0; i <= 10; i ++ ){//给for循环取名A 4 B:for(int j = 0; j <= 10; j ++ ){//给for循环取名B 5 if(j == 5){ 6 //break;//终止当前的for循环 7 //break A;//终止外层循环A 8 //break B;//终止内层循环B 9 } 10 System.out.print(i); 11 } 12 } 13 } 14 }
控制语句-continue
1、continue表示“继续/go on/下一个”。
2、continue + ";"构成一个完整的Java语句,主要出现在循环语句中用于控制循环的执行。
3、break和continue的区别:
break表示循环不执行了;
continue表示本次循环不执行,直接进入下一次循环执行。
4、continue也可以有语法:【continue 循环名称;】类似于:【break 循环名称;】