Chapter03_流程控制语句
第二章 判断语句
2.1判断语句1--if
-
if语句第一种格式:if
if(关系表达式){ 语句体; }
例子:
public static void main(String[] args){ int a = 1; int b = 2; if(a=b){ System.out.println("相等") } System.out.println("不相等。") }
-
if语句第二种格式:if...else
if(关系表达式){ 语句体1; }else{ 语句体2; }
例子:
public static void main(Stringp[] args){ //判断给定的数据类型是奇数还是偶数 //定义变量 int a = 6; if(a %2 ==0){ System.out.println("a为偶数") }else{ System.out.println("a为奇数") } System.out.println("结束。") }
-
if语句的第三种各式--if..else if..else
if(判断条件1){ 语句体1; }else if(判断条件2){ 语句体2; } ... }else if(判断语句n){ 语句体n; }else{ 执行语句n+1; }
例子:
public static void mian(String[] args){ int x = 5; int y; if(x>=6){ y = 3x+2; }else if(-3<=x & x<6){ y = 2x+9; }else{ y = x+3; } System.out.println("y的值为:"+y) }
2.2 if语句与三元运算符的转换
public static void main(String[] args){
int a = 1;
int b = 2;
int c;
if(a>b){
c = a;
}else{
c = b;
}
//改写成三元运算符
c = a>b?a:b;
}
第三章 选择语句
3.1 选择语句--switch
-
switch格式
switch(表达式){ case 常量值1: 语句体1; break; case 常量值2: 语句体2; break ... default: 语句体n+1; break; }
-
执行流程
- 首先计算表达式的值。
- 其次,和case一次相比较,一旦有对应的值,就会执行相应的语句,在执行过程中,遇到break就会结束。
- 最后,如果所有的case值都和表达式结果不匹配, ,就会执行default语句部分,饭后程序结束。
-
举例:
switch 语句中,表达式的数据类型可以是byte、short、int、char、enum(枚举),jdk7后可以接收字符串。
public static void main(String[] args){
int j = 9;
switch(j){
case 1:
System.out.println("王者荣耀")
break;
case 2:
System.out.println("天天酷跑")
break;
default:
System.out.println("穿越火线")
}
}
3.2 case的穿透性
定义:在switch语句中,如果case后不写break,将出现穿透现象,也就是不会再判断下一个case值,直接向后运行,直到遇见break,或者整体switch结束。
例子:
public static void main(String[] args){
int i = 3;
switch(i){//switch 表达式
case 1:
System.out.prinkln(1);
break;
case 3:
System.out.priuntln(3);
case 6:
System.out.prinkln(6);
break;
}
}
上述程序中,在执行case3后,由于没有break语句,程序会继续向后走,不会判断case,直到遇到下一个break。
第四章 循环语句
4.1 循环概述
循环语句在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句。当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而循环结束,否则将一直运行下去,形成死循环。
4.2 循环语句1--for
-
for循环语句格式:
for(初始表达式①;布尔表达式②;步进表达式④){ 循环体③; }
public static void main(String[] args){ //计算1-100奇数和 int num = 0; for(int i=1;i<=100;i++ ){ if(i % 2!=0){ num +=i; } } System.out.println("奇数和为"+num ) }
4.3 循环语句2 --while
while循环语句格式
初始化表达式1
while(布尔表达式2){
循环体3
步进表达式4
}
public static void main(String[] args){
int x = 1;
while(x<=10){
System.out.println("萝莉!");
x++;
}
}
4.4 循环语句3--do...while
do...while循环语句格式
初始化表达式1
do{
循环体3
步进表达式4
}while(布尔表达式2);
public static void mian(String[] args){
int i = 1;
do{
System.out.println("御姐")
}while(i<=10)
}
特点:无条件执行一次循环体,即使我们将循环条件(布尔表达式的结果)直接写为false,也依然会循环一次。
public static void main(String[] args){
do{
System.out.println("无条件执行一次。")
}while(false)
}
4.5 循环语句的区别
- for和的while小区别
- 控制条件语句所控制的那个变量,在for循环结束后,就不能在被访问到了。而while循环结束后还可以继续使用。原因是for循环结束后,该变量就从内存中消失,能够提高内存的使用效率。
- 在已知循环次数的时候推荐用for,未知的时候推荐用while。
4.6 跳出语句
break
-
使用场景:终止switch或者循环
-
在选择结构switch语句中
-
在循环语句中
-
离开使用场景的存在是没有意义的
public static void main(String[] args){ for(int a = 1;a<=9;a++){ if(a==3){ System.out.println("结束。") break; } System.out.println("运行"+a) } }
continue
-
使用场景:结束本次循环,继续下一次的循环
public static void main(Strig[] args){ for(int i = 1;i<9;i++){ if(i==6){ continue; } System.out.println("运行结果"+i) } }
-
第五章 扩展知识点
5.1 死循环
- 死循环就是循环条件永远为true,死循环就是永不结束的循环。例如while(true){}
5.2 循环嵌套
-
所谓的嵌套循环,就是指一个循环的循环体是另一个循环。
for(初始化表达式1;循环条件2;步进表达式7){ for(初始化表达式3;循环条件4,步进表达式6){ 执行语句7; } }