第四天、循环

一、多分支选择switch

  1. 格式:Switch(表达式){
    • case 常量1:{操作代码;break;}
    • case 常量2:{操作代码;break;}
    • ……
    • default:{操作代码;break;} }
  2. 说明:表达式类型为:short、byte、char、int、string
  3. 代码
package com.la;
import java.util.Scanner;
public class Swicth {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入1~7获取获取星期:");
        int i = scanner.nextInt();
        switch (i){
            case 1: {
                System.out.println("星期一");
                break;
            }
            case 2:{
                System.out.println("星期二");
                break;
            }
            case 3:{
                System.out.println("星期三");
                break;
            }
            case 4:
            case 5:
            {
                System.out.println("星期五了");
                break;
            }
            default:{
                System.out.println("放假了");
                break;
            }
        }
    }
}

二、循环

  1. 用于执行重复的操作,常见循环有for、while、do……while
2.1 for循环
public static void test1(){
        String name="zhangsan";
        String pwd="123";
        Scanner scanner = new Scanner(System.in);
        for (int i = 1; i < 4; i++) {
            System.out.println("请输入你的姓名");
            String name1 = scanner.next();
            System.out.println("请输入你的密码");
            String pwd1 = scanner.next();
            if (name.equals(name1)&&pwd.equals(pwd1)){
                System.out.println("恭喜你登入成功");
                break;
            }else {
                if (i==3){
                    System.out.println("登入失败,明天再来");
                }else System.out.println("你还有"+(3-i)+"次机会");
            }
        }

    }
2.2 while 循环
package com.la;
public class While {
    public static void main(String[] args) {
       int i=1;
       int sum=0;
       while (i<=100){
           if (i%3==0&&i%7!=0) sum+=i;
           i++;
        }
        System.out.println(sum);
    }
}

2.3 do……while循环
 public static void test() {
        Scanner scanner = new Scanner(System.in);
        String type;
        System.out.println("\t\t\t 欢快购物商城");
        System.out.println("请选着你要购买的商品:1.篮球\t 2.足球\t 3.乒乓球");
        do {
            int no = scanner.nextInt();
            switch (no){
                case 1:{
                    System.out.println("篮球:198");
                    break;
                }
                case 2:{
                    System.out.println("足球:789");
                    break;
                }
                case 3:{
                    System.out.println("乒乓球:100");
                    break;
                }
                default:
                    System.out.println("该商品已售罄");
                    break;
            }
            System.out.println("是否继续:Y/N");
             type = scanner.next();
        }while (type.equals("Y"));
    }

三、循环退出

3.1 continue
  • 跳出本次循环,执行下一次循环
3.2 break
  • 结束当前循环体
3.3 return
  • 通过结束方法来结束循环
3.4 通过标志位结束循环
package com.la;
public class TwoFor {
    public static void main(String[] args) {
       flag: for (int i = 1; i < 10; i++) {
            flag1:for (int j = 1; j <10 ; j++) {
                if (i>=j){
                    System.out.print(i+"*"+j+"="+i*j+"\t");
                    if (i==2&&j==1) break flag;
                }

            }
            System.out.println();
        }
    }
}

四、练习

4.1 键盘录入求季节
package com.la;
import java.util.Scanner;
public class Work1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入1~12,获取季节");
        int season = scanner.nextInt();
        switch (season){
            case 3:
            case 4:
            case 5:{
                System.out.println("春季");
                break;
            }
            case 6:
            case 7:
            case 8:{
                System.out.println("夏季");
                break;
            }
            case 9:
            case 10:
            case 11:{
                System.out.println("秋季");
                break;
            }
            case 12:
            case 1:
            case 2:{
                System.out.println("冬季");
                break;
            }
            default:
                System.out.println("录入错误");

        }
    }
}
4.2 求1~100的偶数和
package com.la;
public class Work2 {
    public static void main(String[] args) {
        int sum=0;
        for (int i = 1; i <101 ; i++) {
            if (i%2==0) sum+=i;
        }
        System.out.println(sum);
    }
}

4.3 列举四叶玫瑰数
package com.la;
import java.util.ArrayList;
public class Work3 {
    public static void main(String[] args) {
        ArrayList<Integer> integers = new ArrayList<>();
        for (int i = 1000; i <=9999 ; i++) {
            int a=i/1000;
            int b=i/100%10;
            int c=i/10%10;
            int d=i%10;
            if (a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d==i){
                integers.add(i);
            }
        }
        System.out.println("四叶玫瑰:"+integers.toString());
        System.out.println("四叶玫瑰个数:"+integers.size());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值