Java学习第六天

本文深入讲解Java中的控制结构,包括Switch多选择结构、循环结构(While、do...while、For循环)、增强For循环以及break和continue的用法与区别。通过实例演示如何使用这些结构来实现不同的逻辑需求。

Java学习第六天

Switch 多选择结构

package com.niko.struct;

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

        char grade = 'C';

        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;//可选,但是不写的话,会把符合条件的都输出,这叫做穿透现象
            case 'B':
                System.out.println("不错");
                break;
            case 'C':
                System.out.println("及格");
                break;
            case 'D':
                System.out.println("不及格");
                break;
            case 'E':
                System.out.println("挂科");
                break;
            default:
                System.out.println("位置等级");
        }


    }
}
package com.niko.struct;

import com.sun.org.apache.bcel.internal.generic.SWITCH;

public class SwitchDemo02 {
    //JDK 7之后,switch语句就已经可以使用字符串String类型
    public static void main(String[] args) {

        String str  ="A等级";
        //字符的本质还是数字
        //反编译  java ---- class(字节码文件) ---- 反编译(IDEA)

        switch (str){
            case "A等级" :
                System.out.println("恭喜获得A级称号");
             break;
            case "B等级" :
                System.out.println("恭喜获得B级称号");
                break;
            case "C等级" :
                System.out.println("恭喜获得C级称号");
                break;
            case "D等级" :
                System.out.println("恭喜获得D级称号");
                break;
            default:
                System.out.println("你的等级太低了");



        }
    }
}

循环结构

While 循环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u6k9eyVw-1590406013719)(D:\截图\MarkDown学习\Snipaste_2020-05-24_15-46-31.png)]

package com.niko.struct;

public class WhileDemo01 {

    public static void main(String[] args) {
        //用while 输出1-100
        int i  = 0;
        //while循环,只有判断错误才会停止,因此在写的时候,应该尽量避免死循环。
        while(i<100){
            i++;
            System.out.println(i);
        }

    }
}
package com.niko.struct;

public class WhileDemo02 {
    public static void main(String[] args) {
        //计算1+2+3+...+100= ?

        int  i = 0;
        int  sum = 0;

        while (i<=100){
            sum = sum +i ;
            i++;

        }
        System.out.println(sum);

    }
}

do … while 循环

例子
package com.niko.struct;

public class DoWhileDemo01 {
    public static void main(String[] args) {
       int  i = 0;//
       int  sum = 0;//总和的变量
       do {
           sum = sum + i;
           i++;
       }
       while (i<=100);

        System.out.println(sum);


    }
}
package com.niko.struct;

public class DoWhileDemo02 {
    //while循环与do while循环的区别
    public static void main(String[] args) {
        int a  =0 ;
        while (a<0){
            System.out.println(a);//先判断再执行
            a++;
        }
        System.out.println("============");
        do {
            System.out.println(a);//先执行再判断
            a++;
        }while (a<0);
    }
    //结论是:两者的区别在do while是无论如何都会执行一遍在进行判断的,因此在使用的时候要针对不同情况去使用。
    //
}

For 循环

package com.niko.struct;

public class ForDemo01 {
    public static void main(String[] args) {
        int a = 1;//初始化条件
        //使用while循环,一般会经历的格式流程
        while (a<=100){//条件判断
            System.out.println(a);//循环体
            a+=2;//迭代
        }
        System.out.println("while循环结束!");
        //相对应For循环,的格式流程
        for (int b=1;b<=100;b++){//()内分别是:初始化条件;条件判断;迭代
            System.out.println(b);//循环体
        }
        System.out.println("for循环结束!");
        //for循环快捷键:输入需要判断的数字20.for就会自动生成下面这种格式
         for (int i = 0; i < 20; i++) {
         /*
         关于for循环有几点说明
         最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句
         然后,检测布尔表达式的值。如果为true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
         执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
         再次检测布尔表达式。循环执行上面过程
          */
         //死循环格式
             for (;;){

             }
         }

    }
}

增强For循环

package com.niko.struct;

public class ForDemo03 {
//    增强for循环
    public static void main(String[] args) {
        int [] numbers = {10,20,30,40,50};//定义一组数组

        //增强for循环,遍历数组的元素
        for (int x :numbers){//把数组numbers赋值给x,简化一些步骤
            System.out.println(x);
        }
        //用for循环表示遍历
        for (int i =0;i<5;i++){
            System.out.println(numbers[i]);
        }

    }
}

break continue 用法与区别

package com.niko.struct;

public class BreakDemo {
    public static void main(String[] args) {
//       break 用于强制退出循环,只是跳出循环,但没终止整个程序
        int i = 0;
        while (i<100){
            i++;
            System.out.println(i);
            if (i==30){
                break;
            }
        }
        System.out.println("我也能运行");
    }
}

package com.niko.struct;

public class ContinueDemo {
//  continue语句  用于终止某次循环过程,接着进行下一次是否执行循环的判定,并没有完全跳出循环,
    public static void main(String[] args) {
        int i= 0;
        while (i<100){
            i++;
            if (i%10==0){//当i能被10整除的时候,就跳过不输出i
                System.out.println();
                continue;//表示跳过,进行下一次循环
            }
            System.out.print(i);
        }
    /*区别
      break在任何循环语句的主体部分,均可用break控制循环的流程。
      break 用于强制退出循环,不执行循环中剩余的语句。只是跳出循环,但没终止整个程序(用于终止循环)
       
      continue语句  用于终止某次循环过程,接着进行下一次是否执行循环的判定,并没有完全跳出循环,(用于终止某次循环)
       */

    }
}

goto 关键字(了解就行)

package com.niko.struct;

public class LabelDemo {
//    打印101 -150之间的质数
//    质数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
    public static void main(String[] args) {
        int count  = 0;
        outer:for (int i = 101; i < 150; i++) {//遍历101 - 150之间的数字
            for (int j = 2; j < i/2; j++) {//求区间里的质数,原理是如果
                    if (i%j==0){
                       continue  outer;//调到标签位置
                    }
            }
            System.out.println(i+"");
        }
    }
}
) {
        int count  = 0;
        outer:for (int i = 101; i < 150; i++) {//遍历101 - 150之间的数字
            for (int j = 2; j < i/2; j++) {//求区间里的质数,原理是如果
                    if (i%j==0){
                       continue  outer;//调到标签位置
                    }
            }
            System.out.println(i+"");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值