控制语句包括几类

  1. 选择语句
  2. 循环语句
  3. 转向语句

选择语句也可以叫做分支语句

if语句
switch语句

循环语句:反复执行特定的代码块

for循环
while循环
do..while..循环

转向语句

break
continue

选择语句 if

写法

if (布尔表达式){
            java语句;
            java语句;
        }

原理:如果布尔表达式结果为true择执行大括号中的程序,否则不执行

 //第一种写法
        if (100 < 200){

       }else {

       }
        //第二种写法
        if (100 < 200){
            if (100 < 200){

            }else {

            }
        }else {

        }
        //第三种写法
        if (100 < 200){

        }else if (100 > 200) {

        }
        else if (100 > 200) {

        }
        //第四种写法
        if (100 < 200){

        }else if (100 > 200) {

        }
        else if (100 > 200) {

        }else {

        }

if语句当中凡是带有else运行的时候肯定会有一个分支代码块执行。相反如果没有else而且布尔表达式的判断结果都是false,所有的分支都不会执行

作业

import java.util.Scanner;

public class  Main {
    public static void main(String[] args) {
        //创建一个键盘扫描器对象
        Scanner s = new Scanner(System.in);
        System.out.print("输入您的性别,1代表男0代表女");
        int x = s.nextInt();//让用户输入并且给x值赋值
        System.out.print("输入现在的天气,1代表晴天0代雨天");
        int t = s.nextInt();//让用户输入并且给t值赋值
        if (x < 0 || x > 1 ){ //判断用户输入是否合法
            System.out.print("性别不合法,1代表男0代表女");
        }else if (t < 0 || t > 1 ){  //判断用户输入是否合法
            System.out.print("天气不合法,1代表晴天0代表雨天");
        }else if (x == 1 ){ //等于一代表是男进行下一步,否则进行判断是否是女
            if (t == 1){//天气等于1进行下一步
                System.out.println("男晴天");
            }else if (t == 0){//天气等于0进行下一步
                System.out.println("男雨天");
            }
        }else if (x == 0 ){//等于一代表是女进行下一步
            if (t == 1){//天气等于1进行下一步
                System.out.println("女晴天");
            }else if (t == 0){//天气等于1进行下一步
                System.out.println("女雨天");
            }
        }
      }
    }

emmm我就不解释了上面有注释

选择语句 switch

示例作业

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //创建一个键盘扫描器对象
        Scanner s = new Scanner(System.in);
        System.out.print("输入成绩");
        double c = s.nextInt();//让用户输入并且给x值赋值
        if (c < 0 || c > 100) {
            System.out.println("成绩不合法");
            return;
        }
        int d = (int) (c / 10);//将成绩强转成int类型如果输入的小数95.5除以10就是9.55强转就是int类型的9
        String b = "不及格";
        switch (d) {//进行比对case值,注意不加break会导致case穿透现象知道遇到break才会停止
            case 10:
            case 9:
                b = "优秀";
                break;
            case 8:
                b = "良";
                break;
            case 7:
                b = "中";
                break;
            case 6:
                b = "及格";
                break;
            default://如果上面都不匹配执行default
                b = "不及格";
        }
        System.out.println(b);
    }
}



for循环

语法结构
 for (表达式;布尔表达式;更新表达式 ){
         循环体
         System.out.println(a);
     }

示例

public class Main {
    public static void main(String[] args) {
     for (int a = 0; a < 100;a++ ){
         System.out.println(a);
     }
    }
}

示例意思就是输出一百次a的值

示例

用for计算1-100之间奇数的和
public class Main {
    public static void main(String[] args) {
        int h = 0;
        for (int a = 1; a <= 100; a++) {

            if (a % 2 == 1) {//求余数如果等于1代表这个值是奇数
                System.out.println(a); //输出a的值,肯定是奇数
                h += a;//计算奇数的和
            }
        }
        System.out.println(h);//输出h的值和
        //第二个方法
        int sum = 0;
        for (int r = 1; r < 100; r += 2) {//如果r值小于100然后sum加上r值然后r+2在进行判断是否小于100以此类推
            sum += r;
        }
        System.out.println(sum);
    }
}

示例for九九乘法表,嵌套

        //九九乘法表
        for (int i = 0;i <= 9;i++){
            for (int j = 1;j <= i;j++){
                System.out.print(j +"*"+ i +"="+ i * j+" ");
            }
            System.out.println();
        }
解析

这里我搞的也比较懵,在这里我给自己写一个解析的过程,方便我的理解,如果看的话请照上面的示例在看,哈哈!
i=0 0是否小于等于9呢 ,是的 进行下一个for循环语句
j=1 1是否小于等于0呢 ,不是的 进行外面的for循环
i++(自加1原本是0现在是1) 现在i是1了 进行比较 1是否小于等于9呢 是的 进行里面的循环体
j=1 1是否小于等于1呢 是的 进行里面的for循环的循环体进行输出文字 j +""+ i +"="+ i * j+" " 因为现在 j值和i值都是1 意思就是11=11 因为这里是有优先级的所以是已经算出来了等与1 结果就是11=1,好的循环体已经结束
j++(自加1原本是1现在是2 ) 2是否小于等于1呢(先在的i值任然是1) , 不是的小于等于了,进行外面的循环体
i++(自加1原本是1现在是2) 2是否小于等于9呢,是的,进行这个循环里面的循环体
j=1 1是否小于等于2呢, 是的 ,进行循环体输出 j +"
"+ i +"="+ i * j+" " 12=12 就等于 12=2 ,循环体结束
j++ (自加1原本是1现在是2) 2是否小于等于2呢,是的 ,进行这个循环里面的循环体 j +"
"+ i +"="+ i * j+" " 因为这里的j值已经有变化了现在是2 就等于 22=22 就是2*2=4
剩下的就以此类推就行, 这里我可能说的会更迷糊,但是我只确保自己能看懂,这个需要会for的语法运行原理和for的嵌套

while循环

语法机制
 while (布尔表达式){
       循环体
   }
原理

判断布尔表达式为true执行循环体,为false不执行

do...while

示例

 //do ...while示例
        int i = 0;
        do {//先执行循环体在判断

           System.out.println(++i);
        }while (i < 10);

break示例与continue示例

//break示例
        for (int a = 0; a < 10; a++ ){
            if ( a == 5){
                break;//等于a==5时停止当前循环
            }
            System.out.println(a);
        }
  //continue示例
        for (int a = 0; a < 10; a++ ){
            if ( a == 5){
                System.out.println("继续");
                continue;//终止当前本次循环进行更新表达式继续判断循环
            }
            System.out.println(a);
        }

上面示例都有解释可以自行理解

届ける言葉を今は育ててる
最后更新于 2020-10-30