JAVA第三天(switch+循环)-创新互联

一.switch语句 1.1格式:

switch (表达式) {
 case 1:
     语句体1;
     break;
 case 2:
     语句体2;
     break;
 ...
 default:
     语句体n+1;
     break;
}

创新互联专业为企业提供兴宾网站建设、兴宾做网站、兴宾网站设计、兴宾网站制作等企业网站建设、网页设计与制作、兴宾企业网站模板建站服务,十多年兴宾做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

执行流程:

  • 首先计算出表达式的值

  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

1.2案例理解:

减肥计划,输入数字几(相当于星期几),输出相应的减肥方案。

import java.util.Scanner; //导入键盘录入包
public class Demo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //创建对象
        System.out.println("请输入星期数");
        int week = sc.nextInt(); //接收对象
        switch (week) {
            case 1:
                System.out.println("跑步");
                break;
            case 2:
                System.out.println("游泳");
                break;
            case 3:
                System.out.println("慢走");
                break;
            case 4:
                System.out.println("骑动感单车");
                break;
            case 5:
                System.out.println("爬山");
                break;
            case 6:
                System.out.println("羽毛球");
                break;
            case 7:
                System.out.println("吃一顿");
                break;
            default:
                System.out.println("输入有误");
        }
    }
}
1.3case穿透

需求:判断是工作日还是休息日

import java.util.Scanner; //导入键盘录入包
public class Demo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);  //创建对象
        System.out.println("请输入星期数");
        int week = sc.nextInt(); //接收对象
        switch (week) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("工作");
                break;
            case 6:
            case 7:
                System.out.println("休息");
                break;
            default:
                System.out.println("输入有误");
        }
    }
}
二.for循环(已知循环多少次) 2.1for循环语句

循环格式:

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

循环体语句;

}

for(int i = 1;i<=5;i--) {

System.out.println("今天天气不错");

}

2.2循环for案例 2.2.1

需求:输出1-5和5-1的数据(快捷键5.fori   5.forr)

public class ForTest01 {
  public static void main(String[] args) {
     //需求:输出数据1-5
  for(int i=1; i<=5; i++) {
         System.out.println(i);
     }
     System.out.println("--------");
     //需求:输出数据5-1
     for(int i=5; i>=1; i--) {
         System.out.println(i);
     }
  }
}

2.2.2

需求:求1-100的偶数和(快捷键数字+.fori)

public class test02 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 100; i >0; i--) {
            if(i%2==0) {
                sum+=i;
            }
            }
        System.out.println(sum);
        }

    }
2.2.3

需求输出“水仙花”(一个三位数,个位、十位、百位的数字立方和等于原数 )

public class test03 {
    public static void main(String[] args) {
        for (int i = 100; i< 1000; i++) {
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100 % 10;
            int he = ge * ge * ge +shi * shi * shi + bai * bai * bai;
            if (he == i) {
                System.out.println(i);
            }
        }

    }
}

2.2.4

需求:每行打印两行水仙花(print:打印在一行,println:打印一个换一行)

public class test04 {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 100; i< 1000; i++) {
            int ge = i%10;
            int shi = i/10%10;
            int bai = i/100;
            if(i == ge*ge*ge+shi*shi*shi+bai*bai*bai){
                System.out.print(i+"  ");
                count++;
                if(count%2==0){
                    System.out.println();//只起到换行的作用,不用打印数字
                }
            }


        }
    }
}
三.while循环(不知道需要循环多少次) 3.1循环格式

初始化语句;

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

3.2循环流程

while循环执行流程:

①执行初始化语句

②执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行

③执行循环体语句

④执行条件控制语句

⑤回到②继续

3.3循环案例

需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

public class ye9 {
    public static void main(String[] args) {
    int count = 0;
    double paper = 0.1;
    while(paper< 8848860){
         paper = paper*2;
         count++;
        }
    System.out.println("需要折叠"+count+"次比珠穆朗玛峰还高");
    }
}
四.do while循环(了解) 4.1格式

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

4.2执行流程

① 执行初始化语句

② 执行循环体语句

③ 执行条件控制语句

④ 执行条件判断语句,看其结果是true还是false

如果是false,循环结束

如果是true,继续执行

⑤ 回到②继续

4.3案例

需求:在控制台输出5次"HelloWorld"

public class DoWhileDemo {
  public static void main(String[] args) {
     //for循环实现
     for(int i=1; i<=5; i++) {
         System.out.println("HelloWorld");
     }
     System.out.println("--------");
     //do...while循环实现
     int j = 1;
     do {
         System.out.println("HelloWorld");
         j++;
     }while(j<=5);
  
  }
}

五 三种循环的区别
  • 三种循环的区别

    • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

    • do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

  • for循环和while的区别

    • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了

    • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

  • 死循环(无限循环)的三种格式

    for死循环格式 :

    for(;;){

    }

    while死循环格式 :

    while(true){

    }

    do..while死循环格式 :

    do{

    }while(true);

案例

public static void main(String[] args) {
     for(;;){
         System.out.println("我停不下来了~");
     }

     while(true){
         System.out.println("我停不下来了~");
     }

  do{
  System.out.println("我停不下来了~");    
  }while(true);

  System.out.println("看看我能被执行吗?~");    // 无法访问的语句
}
}

六.跳转控制语句
  • 跳转控制语句(break)

    • 跳出循环,结束循环

  • 跳转控制语句(continue)

    • 跳过本次循环,继续下次循环

  • 注意: continue只能在循环中进行使用!

案例1

需求:电梯不停问题

public class test7 {
    public static void main(String[] args) {
        for (int i = 1; i<= 20; i++) {
            if(i==4||i==13){
                System.out.println("没有这层跳楼吧");
                continue;  //跳过这次循环,继续进行
            }
            System.out.println(i+"层到了");

        }
        System.out.println("到顶层了");
    }
}

案例2

需求60岁退休,能活80岁

public class test6 {
    public static void main(String[] args) {
        for (int i = 20; i<= 80; i++) {
            if (i == 65) {
                System.out.println(i + "终于退休了");
                break;   //结束循环
            }
            System.out.println(i+"苦逼打工人");
        }
        System.out.println("开始休息了");
    }
}

案例3

需求优化减肥计划

import java.util.Scanner;
public class ye10 {
    public static void main(String[] args) {
        lo : while (true) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入星期数");
            System.out.println("(如果不想查看,请输入0)");
            int week = sc.nextInt();
            switch (week) {
                case 0:
                    break lo; //结束指定的循环
                case 1:
                    System.out.println("跑步");
                    break;
                case 2:
                    System.out.println("游泳");
                    break;
                case 3:
                    System.out.println("慢走");
                    break;
                case 4:
                    System.out.println("骑动感单车");
                    break;
                case 5:
                    System.out.println("爬山");
                    break;
                case 6:
                    System.out.println("羽毛球");
                    break;
                case 7:
                    System.out.println("吃一顿");
                    break;
                default:
                    System.out.println("输入有误");
            }
        }
    }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻标题:JAVA第三天(switch+循环)-创新互联
网站地址:http://ybzwz.com/article/dshiod.html