java控制语句可以分为7种:
控制选择结构:if ; if... else
switch
控制循环结构:for
while
do...while()
控制循环结构:continue
break
1.控住语句if结构:
if语句又称为分支语句/条件控制语句:
if语句4种的编写方式:
1.if(布尔表达式){
java语句;
java语句;
}
2.if(布尔表达式){
java语句;
}else{
java语句;
}
3.if(布尔表达式){
java语句;
}else if(布尔表达式){
java语句;
}else if(布尔表达式){
java语句;
}
4.if(布尔表达式){
java语句;
}else if(布尔表达式){
java语句;
}else if(布尔表达式){
java语句;
}else{
java语句;
}
注意:带有else的语句(2,4种)一定会有语句执行,一旦执行一个分支,if语句就会结束。
嵌套使用的时候,一定要保证代码方式的完美。[缩进的时候必须缩进]。
if语句的分支中只有一条java语句的话,大括号可以忽略不写。
特殊错例:
if(true)System.out.println("true");System.out.println("hh");elseSystem.out.println("hh");
上述第错误原因:第四行缺少if,前三行都可以编译通过,1,2行为if+单独语句,3行为单独的语句,所以第四行缺少单独的else缺少if
2.控制语句switch:
switch语句属于选择结构,也是分支语句
完整的switch语句的编写方法:
switch(int / string 类型的字面值或者变量){
case int / string 类型的字面值或者变量:
java语句;
...
break
case int / string 类型的字面值或者变量:
java语句;
...
break
default:
java语句;
}
case穿透现象,如果单独的case中没有break,会直接执行下一个case。
在遇到break之后会switch语句会结束。
原理:1.switch小括号后边的数据和case后边的数据一一匹配,匹配成功的分支执行,按照自上而下的顺序一次匹配。
2.匹配成功的分支执行,分支当中有break语句的话,整个switch语句终止。
3.匹配成功的分支执行后,如果没有break,会直接进入下一个case而不进行匹配。(穿 透现象)。避免穿透现象加入break。
4.所有分支都没有执行的话,会进行default语句的执行
5.switch后边和case后边也可以直接写到int和string类型的数据,不能探测其他类型。
*byte,short,char可以直接直接写到switch和case后面,因为它们可以进行自动类型转换,转换成int类型。
6.case可以合并:
int i = 10;
switch(i){
case1:case2:case3
}
穿透现象详解:
public class partSwitch {public static void main(String[] args) {java.util.Scanner s = new java.util.Scanner(System.in);System.out.println("请输入星期几");int num = s.nextInt();switch (num){case 1:System.out.println("今天是星期1");break;case 2:System.out.println("今天是星期2");case 3:System.out.println("今天是星期3");break;case 4:System.out.println("今天是星期4");break;case 5:System.out.println("今天是星期5");break;case 6:System.out.println("今天是星期6");break;case 7:System.out.println("今天是星期7");break;default:System.out.println("您输入的字符非法");}}
}
字符串switch的用法:
char degree = 'A';switch (degree){case 'A':System.out.println("这是A等级");break;case 'B':System.out.println("这是b等级");break;case 'C':System.out.println("这是c等级");break;default:System.out.println("输入的有误");
注意:switch后边只能是int或者string,不要加入别的条件。
3.循环for语句
在程序当中有一些需要反复/重复的执行的代码,假设没有循环结构,那么这段需要重复执行的代码自然需要重复编写,代码无法得到重复使用。把反复需要执行的代码片段放到循环体内,再联合计数器,共同控制这段需要反复运行的代码。
所有的编程语言都支持三种循环方式:
*for循环
*while循环
*do...while循环
语法结构:for(初始化表达式;布尔表达式;更新表达式){
需要重复执行的代码【循环体,由java语句实现】
}
for循环的执行原理:
初始化表达式,布尔表达式,更新表达式都不是必须的【但是两个分号是必须的】
初始化表达式最先执行,并且该表达式只执行一次。
布尔表达式必须是true 或者 false ,不能是其他值
for 的执行过程:
先执行初始化表达式,并且该表达式只执行一次
判断布尔表达式的结果是true 还是false
布尔表达式结果为true:
执行循环体
执行更新表达式
判断布尔表达式的结果是true还是false
执行循环体......
布尔表达式结果为false:
停止程序 for循环结束
public class partFro {public static void main(String[] args) {for( int i =0;i<10;i++){System.out.println("this is time"+ i);}// System.out.println(i); ---> 此处无法访问i变量}
}
注意:循环体中的“i”只能在循环体中使用,除了循环体相当于出了作用域,将会无法访问。
for(int i = 0; i <10;){i++;System.out.println(i);}for(int i = 0; i < 10; ){System.out.println(i);i++;
9*9 乘法表源代码
public class partFro {public static void main(String[] args) {for(int i = 1; i<= 9 ; i++){for(int j = 1; j<= i ;j ++ ){System.out.print(i + "*" + j + "=" + i*j);System.out.print(" ");}System.out.print('\n');}}
}
4.循环while语句:
while循环句的语法结构:
while(布尔表达式true){
循环体(java语句)
}
while循环的执行原理:
先判断布尔表达式的结果:
*true
执行循环体
*true
执行循环体
*false
结束
while 循环体可能执行的次数可能为0次
public class partWhile {public static void main(String[] args) {int i = 10;int j = 3 ;while (i<20){System.out.println("good");i++;}System.out.println("end");}
}
5.do...while循环语句:
do...while 循环的语法结构:
do{
循环体(java语句);
}while(布尔表达式);
do...while 循环的执行次数为1到N,也就是说do...while至少会循环1次
6.控制语句break:
break 是java语言中的关键字,被翻译为“中断”/“折断”
break+“;”可以成为一个单独的完整的java语句: break;
break语句可以用在switch语句之中,用来中止switch语句的执行。
break语句同样也可以使用在循环语句之中,用来中止循环的执行。
public class partBreak {public static void main(String[] args) {for(int i =0; i< 20; i++){System.out.println(i);if(i == 10){break;}}}
}
break默认中止离它最近的循环,但是在给for起名字的情况下,*可以指定中止循环
for1:for(int i = 0;i< 3; i++){for2:for(int j = 0; j<5 ;j++){System.out.println(j);if(j ==4){break for1;}}}
7.控制语句continue
contine 表示: 继续/ go on/ 下一个
continue 也是一个关键字加一个分号可以单独构成一个完成的java语句,主要出现循环语句中当中用来控制循环的执行。
break和continue的区别:
break表示循环不执行了
continue表示直接进入下一次循环继续执行
continue例
for(int i = 0; i<10;i++ ){if(i == 5){continue;}System.out.println(i);}
输出为
———————————————编写不易,喜欢的话,动动你的小手手,点个赞辛苦辛苦作者吧