java从入门到起飞 day04

day04

条件判断语句

if

在这里插入图片描述

if(表达式){
    语句体;
}
if的注意事项
1.大括号建议跟在第一行末尾
if(表达式){
    语句体;
}
//而不建议
if(表达式)
{ //第二行
    语句体;
}
2.语句体只有一句时,大括号省略不写(还是建议写)
if(表达式)
    语句体;

3.对布尔类型变量判断时不要用==,变量直接放在小括号中
boolean flag =true;
if(flag){
    语句体;
}


//而不是

boolean flag=true;
if(flag==true){
    语句体;
}


if-else

if(表达式){
    语句体;
}else{
    
}

在这里插入图片描述

if-else if-else

if (表达式){
    语句体;
} else if (表达式) {
    语句体;
}else {
    语句体;

}

在这里插入图片描述

switch语句

switch (表达式要有具体的值) {
        case "1":
            System.out.println("1");
            break;
        case "2":
            System.out.println("2");
            break;
        case "3":
            System.out.println("3");
            break;

    }
}

在这里插入图片描述

在这里插入图片描述

default的位置与省略

  1. 位置default不一定是写在最下面的,我们可以写在任意位置。只不过习惯会写在最下面
  2. 省略default可以省略,语法不会有问题,但是不建议省略

case穿透

当case匹配上后,代码会运行到break,整个switch语句的右括号为止,我们把这种现象称为case穿透

public class Main {
    public static void main(String[] args) {
        switch ("2") {
            case "1":
                System.out.println("1");
                break;
            case "2":
                System.out.println("2");
                //break;
            case "3":
                System.out.println("3");
                // break;

        }
        //此时代码因为没有匹配上break,故一直运行到右括号为止
        
    }
}
控制台输出如下:
2
3

进程已结束,退出代码为 0

switch新特性 (jdk12)

public class Main {
    public static void main(String[] args) {
        switch ("2") {
            case"1"->{
                System.out.println('1');    
            }
            case"2"->{
                System.out.println('2');
            }
            case"3"->System.out.println('3');
          //当只有一行代码时{}括号可以省
        }
    }
}

即最简单的写法为

case"3"->System.out.println('3');
          //当只有一行代码时{}括号可以省

关于case穿透的小练习

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        System.out.println("输入具体的星期");
        switch (i) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("工作日");
                break;
            case 6,7:
                System.out.println("休息日");
                break;
                /*请注意case 6,7:表达式;
                是case 6:
                  case 7:
                的简化写法
                
                */
        }


    }
}

switch和if语句的使用情况

范围: if

一一列举: switch

循环结构

  for(初始化语句;条件判断语句;条件控制语句){
            循环体语句;
        }

在这里插入图片描述

也就是说执行逻辑为初始化语句-> 条件判断语句->

循环体语句->条件控制语句-> 条件判断语句->循环体语句->条件控制语句 -> 条件判断语句

累加

变量定义在for大括号里面时,每次循环结束后,变量会从内存中消失,每次的循环开始相当于定义了一个的变量,所以累加时把变量定义在for循环外

class Main {
    public static void main(String[] args) {

        for (int i = 0; i < 5; i++) {
            System.out.println("此时的i"+'\t' + i);
            int temp = 0;
            System.out.println("此时的temp" + '\t'+temp);
            temp += i;
            System.out.println("计算后的temp" +'\t'+ temp);
            //每次新的循环开始后temp(每次循环都为0),会和i相加,计算后的temp始终为0+i
        }
    }
}
控制台代码如下:
此时的i	0
此时的temp	0
计算后的temp	0
此时的i	1
此时的temp	0
计算后的temp	1
此时的i	2
此时的temp	0
计算后的temp	2
此时的i	3
此时的temp	0
计算后的temp	3
此时的i	4
此时的temp	0
计算后的temp	4
进程已结束,退出代码为 0

while

初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;

}

在这里插入图片描述

do while

初始化语句;
do {
    循环体控制语句;
    条件控制语句;
} while (条件判断语句);
    

在这里插入图片描述

for和while的区别

for循环中:知道循环次数或者循环范围
while循环:不知道循环次数范围,只知道循环的结束条件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值