栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java流程控制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java流程控制

流程控制
  • 流程
    • if
      • if
      • if -else
      • if-else if -else
      • 案例:判断是否是闰年
    • switch
      • 案例1
      • 案例2
      • 案例3
    • for
      • 案例
      • 嵌套案例
    • while
      • 案例
    • do-while
      • 案例
  • 控制
    • break :停止循环
    • continue:结束本次循环
    • break + label :跳出任意循环
    • return:结束整个方法,也能终结循环
  • 案例
  • 猜数游戏

流程 if if
public class Demo {
    public static void main(String[] args) {
        
        int result =1;
        if (result >0) {
            System.out.println("Demo.main");
        }
    }
}
if -else
public class Demo2 {
    public static void main(String[] args) {
        int a = 5;
        if (a % 2==0) {
            System.out.println("偶数");
        }else {
            System.out.println("奇数");
        }
        String result = a%2==0?"偶数":"奇数";
        System.out.println(result);
    }
}
if-else if -else
public class Demo3 {
    public static void main(String[] args) {
        int score = 40;
        String s;
        if (score>=90) {
            s="A";
        }else if(score>=80){
            s="B";
        }else if(score>=70){
            s="C";
        }else if(score>=60){
            s="D";
        }else {
            s="E";
        }
        System.out.println(s);
        //特殊情况 if(){只有一句代码} {}可以忽略,但不建议
    }
}
案例:判断是否是闰年
public class Demo4 {
    public static void main(String[] args) {
        Demo4 demo4 = new Demo4();
        boolean flag = demo4.IsRunYear(2100);
        if (flag == true) {
            System.out.println("闰年");
        }else {
            System.out.println("不是闰年");
        }
    }

    
    public boolean IsRunYear(int year){
        if (year%4==0&&year%100!=0){
            return true;
        }else if (year%400==0){
            return true;
        }else {
            return false;
        }
    }
}
switch 案例1
public class Demo5 {
    public static void main(String[] args) {
        int model =5;
        switch (model){
            case 0:
                System.out.println("0号模式");
                break;
            case 1:
                System.out.println("1号模式");
                break;
            case 2:
                System.out.println("2号模式");
                break;
            default:
                System.out.println("非法数字");
        }
    }
}
案例2
public class Demo6 {
    public String getDay(int day){
        String result;
        switch (day){
            case 0:
                result ="周末";
                break;
            case 1:
                result ="周1";
                break;
            case 2:
                result ="周2";
                break;
            case 3:
                result ="周3";
                break;
            case 4:
                result ="周4";
                break;
            case 5:
                result ="周5";
                break;
            case 6:
                result ="周6";
                break;
            default:
                return result = "非法数字";
        }
        return result;
    }

    public static void main(String[] args) {
        Demo6 demo6 = new Demo6();
        String s =demo6.getDay(7);
        System.out.println(s);
    }
}
案例3
public class Demo7 {
    public int getDay(int year,int month){
        int result;
        switch (month){
            case 4:
            case 6:
            case 9:
            case 10:
                result =30;
                break;
            case 2:
                result = year%4==0&&year%100!=0||year%400==0?29:28;
                break;
            default:
                result = 31;
        }
        return result;
    }

    public static void main(String[] args) {
        Demo7 demo7 = new Demo7();
        int a = demo7.getDay(2022,2);
        System.out.println(a);
        System.out.println(demo7.getDay(2000,2));
    }
}

switch 中可以调用方法

for 案例
public class Demo {
    public static void main(String[] args) {
        
        Demo demo = new Demo();
        demo.test();
        demo.test2();
        demo.test3();
    }
    //在控制台输出1-5和5-1
    public void test(){
        for (int i=1;i<=5;i++){
            System.out.print(i);
        }
        System.out.println();
        for (int i=5;i>0;i--){
            System.out.print(i);
        }
        System.out.println();
    }
    //求累加和并打印
    public void test2(){
        int sum =0;
        for (int i=1;i<=5;i++){
            sum=sum+i;
        }
        System.out.println(sum);
    }
    //1-100偶数和
    public void test3(){
        int sum =0;
        int sum2=0;
        for (int i=1;i<=100;i++){
            if(i%2==0){
                sum=sum+i;
            }else {
                sum2 = sum2 +i;
            }
        }
        System.out.println(sum);
        System.out.println(sum2);
    }
    //死循环
    public void test4(){
        //情况1:反接近于终止条件
        for (int i =1;i<10;i--){
            System.out.println(i);
        }
        //情况2:缺少终止条件
        for (int i =0;;i++){
            System.out.println(i);
        }
        //情况3:服务器,定时器会用
//        for (;;){
//            System.out.println("i");
//        }
    }
}
嵌套案例
public class Demo4 {
    public static void main(String[] args) {
        test();
        test2();
        test3();
        test4();
        test5();
    }

    private static void test5() {
        int n =5;
        for (int i = 1; i < n; i++) {

            for (int j =1;j<=n-i;j++){
                System.out.print(" ");
            }

            for (int j=1;j<=2*i-1;j++){
                System.out.print("★");
            }
            System.out.println();
        }
    }

    private static void test4() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 <=i; i1++) {
                System.out.print("★");
            }
            System.out.println();
        }
    }

    private static void test3() {
        for (int i = 0; i < 5; i++) {
            for (int i1 = 0; i1 < 10; i1++) {
                System.out.print("★");
            }
            System.out.println();
        }
    }

    private static void test2() {
        for (int i=0;i<10;i++){
            System.out.print("★");
        }
        System.out.println();
    }

    private static void test() {
        for (int i = 0; i < 4; i++) {
            System.out.println(i);
        }
    }
}
while 案例
public class Demo2 {
    public static void main(String[] args) {
        test();
        test2();
        test3();
    }
    //死循环
    private static void test3() {
        boolean a = true;
        while (a){
            System.out.println("hello");
        }
    }
    private static void test2() {
        int count =0;
        double i = 0.1;
        while (i<=884443){
            i=i*2;
            count ++;
        }
        System.out.println(count);
    }

    private static void test() {
        int random = (int) (10*Math.random());//生成0-1的小数
        while (random != 5) {
            random = (int) (10*Math.random());
            System.out.println(random);
        }
    }
}

while循环使用条件:不明确循环次数
for循环使用场景:明确循环次数,嵌套循环

do-while 案例
public class Demo3 {
    public static void main(String[] args) {
        
        test();
        test2();
    }
    //生成随机数 5结束
    private static void test() {
        int i = -1;
        do {
            i = (int)(Math.random()*10);
            System.out.println(i);
        }while (i!=5);
    }
    private static void test2() {
        int i = -1;
        do {
            //即使条件不满足 也可以执行一次
            System.out.println(i);
        }while (i>0);
    }
}
控制 break :停止循环
public class Demo5 {
    public static void main(String[] args) {
        test();
        test2();
    }

    private static void test2() {
        boolean flag = true;
        int i =0;
        while (flag){
            i++;
            System.out.println(i);
            if (i==5){
                break;
                //flag = false //也可以退出循环
            }
        }
    }

    private static void test() {
        for (int i=0;i<=10;i++){
            if (i==5){
                break;
            }
            System.out.println(i);
        }
    }
}
continue:结束本次循环
public class Demo6 {
    public static void main(String[] args) {
        test();
        test2();
    }
//死循环
    private static void test2() {
        boolean flag = true;
        int i =0;
        while (flag){
            i++;
            if (i==5){
                continue;
            }
            System.out.println(i);
        }
    }

    private static void test() {
        for (int i = 0; i <= 10; i++) {
            if (i==5){
                continue;
            }
            System.out.println(i);
        }
    }
}
break + label :跳出任意循环
public class Demo7 {
    public static void main(String[] args) {
        test();
        test2();
        test3();
    }
    //break问题:无法解决外层循环
    private static void test() {
        for (int i = 1; i < 4; i++) {
            for (int j = 1; j < 5; j++) {
                System.out.println("i = " + i +" "+ "j = "+j);
                if (j==2){
                    break;
                }
            }
        }
    }

    private static void test2() {
        for (int i = 1; i < 4; i++) {
            for (int j = 1; j < 5; j++) {
                if (j==2){
                    continue;
                }
                System.out.println("i = " + i +" "+ "j = "+j);
            }
        }
    }
//break + label 可以跳出任意循环;
    private static void test3() {
        loop:for (int i = 1; i < 4; i++) {
            loop2:for (int j = 1; j < 5; j++) {
                System.out.println("i = " + i +" "+ "j = "+j);
                if (j==2){
                    break loop;
                }
            }
        }
    }
}
return:结束整个方法,也能终结循环
public class Demo8 {
    public static void main(String[] args) {
        test();
    }
    private static void test() {
        for (int i = 1; i < 4; i++) {
            for (int j = 1; j < 5; j++) {
                System.out.println("i = " + i +" "+ "j = "+j);
                if (j==2){
                    return;
                }
            }
        }
    }
}
案例
public class Demo9 {
    public static void main(String[] args) {
        test();
    }
    //程序运行后可多次查询星期对应的减肥计划,知道输入0,程序结束
    //分支结构
    //循环结构 多次while(true)
    private static void test() {
        //从标准输入流 读文本(键盘) 模板类 = 对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入");
        int i = sc.nextInt();//阻塞流 等待输入
        boolean flag = true;
        while (flag){
            i = sc.nextInt();//阻塞流 等待输入
            switch (i){
                case 0:
                    System.out.println("0");
                    break;
                case 1:
                    System.out.println("1");
                    break;
                case 3:
                    System.out.println("3");
                    break;
                case 2:
                    System.out.println("2");
                    break;
                case 9:
                    //方法一 终止循环
                    flag =false;
                    break;
                    //方法二
                    //return;
                    //方法三 break + label;
                default:
                    System.out.println("不鸡丢");
            }
        }
    }
}
猜数游戏
public class Demo10 {
    public static void main(String[] args) {
        test();
        test2();
    }

    private static void test2() {
        boolean flag = true;
        Scanner sc = new Scanner(System.in);
        //系统生成的值
        Random random = new Random();
        int r = random.nextInt(100)+1;
        System.out.println("隐藏值:"+r);
        while (flag){
            //玩家输入的值
            System.out.println("请输入");
            int n = sc.nextInt();
            if (n>r){
                System.out.println("大了");
            }else if (n
                System.out.println("小了");
            }else {
                System.out.println("猜对了");
                flag = false;
            }
        }
    }

    private static void test() {
        Random random = new Random();
        int i = random.nextInt();
        for (int i1 = 0; i1 < 50; i1++) {
            int n = random.nextInt(10);
            System.out.println(n);
        }
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号