【Java】逻辑控制(2)

简介: 【Java】逻辑控制

3.循环结构

当条件满足,将一直循环下去的语句就叫做循环语句。假设小美买彩票没中奖,只要小美买彩票没中奖,那么她就会每天买,只要她中奖了则就会停止购买,这就叫做循环


3.1 while 循环语句

public class Test {
    public static void main(String[] args) {
        int a = 1;
        while(a <= 10) {
            System.out.printf("%d ",a);
            a++;
        }
    }
}

执行结果:


为.png


上述代码循环语句首先执行 while 后面的判断表达式,如果结果为 true 则执行循环体,然后再判断 while 后面的判断表达式,如果结果为 true 则继续执行循环体,...,直到 while 后面的判断表达式结果为 false 则退出循环


如果上述代码中没有 a++ 则会造成死循环


所以循环一共有三部分,分别是:初识值,结束条件,接近结束条件的变化


3.2 break

break:如果在循环体里面,则直接跳出循环。如果在多分支里面,则跳出多分支


public class Test {
    public static void main(String[] args) {
        int a = 1;
        while(a <= 10) {
            if(a == 7) {
                break;
            }
            System.out.printf("%d ",a);
            a++;
        }
    }
}

运行结果:

五.png



执行到 break 就会让循环结束


上述代码执行逻辑,先执行 while 后面的判断表达式,如果为 true 则循环体,循环体里面判断选择语句是否为 true ,如果为 true 则直接跳出循环,否则继续往下执行


3.3 continue

continue 直接结束本次循环,不会直接跳出循环


public class Test {
    public static void main(String[] args) {
        int a = 1;
        while(a <= 10) {
            a++;
            if(a == 7) {
                continue;
            }
            System.out.printf("%d ",a);
        }
    }
}

执行结果:

玩.png



上述代码执行逻辑,先执行 while 后面的判断表达式,如果为 true 则循环体,循环体里面判断选择语句是否为 true ,如果为 true 则跳出本次循环,继续执行下一次循环


注意:


public class Test {
    public static void main(String[] args) {
        int a = 1;
        while(a <= 10) {
            if(a == 7) {
                continue;
            }
            a++;
            System.out.printf("%d ",a);
        }
    }
}

一样的代码,可能顺序不一样最后的结果也就不一样。这个代码就因为 a++ 在选择语句的后面就造成了死循环,当 a == 7 时,跳出本次的循环,也就是本次循环 if 语句以下的语句是不会执行的。那么这次循环并没有执行到 a++,那么 a 的值还是 7,进入循环遇到 if 语句执行 continue,又结束了本次循环但 a 还是 7,因此就造成了死循环


注:代码语句顺序还是很重要滴


3.4 for 循环

语法格式:

日.png



表达式①:用于给循环变量设置初始值, 在程序开始时是便会执行,且只会执行一次


表达式②:循环条件的判断,如果判断为 true 则继续执行循环体,否则循环结束


表达式③:循环变量更新方式


for 循环的执行过程:


首先执行表达式①,然后判断表达式②,如果为真则执行表达式④(否则直接退出循环),然后在执行表达式③

判断表达式②,如果为真则执行表达式④(否则退出循环)。然后在执行表达式③

跟 2 的顺序一样,直到表达式②为false,退出循环

public class Test {
    public static void main(String[] args) {
        for (int i = 1; i <= 10;i++) {
            System.out.printf("%d ",i);
        }
    }
}

执行结果:


额.png


for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

for 后面的 { 建议和 for 写在同一行.

for 后面不要多写 分号, 否则可能导致循环不能正确执行.

和while循环一样,结束单趟循环用continue,结束整个循环用break

3.5 do...while 循环

do...while循环又叫做直到型循环,它是先执行后判断


语法格式:

饿.png



先执行循环语句, 再判断循环条件,循环条件为 true 则继续执行,否则循环结束


public class Test {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.printf("%d ",i);
            i++;
        }while (i <= 10);
    }
}

执行结果:


の.png


注:do while 循环最后的分号不要忘记


4.输入输出

4.1 输出

public class Test {
    public static void main(String[] args) {
        int a = 1;
        System.out.println(a);//输出加换行
        System.out.print(a);//输出不换行
        System.out.printf("%d",a);//格式化形式输出
    }
}

输出结果:



呃.png

println:输出,加换行

print:输出,不换行

printf:格式化形式输出

所以最好两个打印打印到一行了。


4.2 输入

使用 Scanner 读取字符串/整数/浮点数


在使用 Scannery 之前需要导入 util 包


后面学习了类就自然理解了为什么要导入 util 包了


import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        System.out.println(a);
    }
}

大家现在只需要记住在使用类之前需要new一个对象,也就是在使用Scanner 之前需要 new 一个Scanner ,然后才能通过 scanner 这个对象去使用


相关文章
|
6月前
|
Java
【详识JAVA语言】逻辑控制
【详识JAVA语言】逻辑控制
61 1
|
Java
java的逻辑控制1
java的逻辑控制
50 0
|
1月前
|
Java C语言
【一步一步了解Java系列】:探索Java逻辑控制
【一步一步了解Java系列】:探索Java逻辑控制
22 1
|
2月前
|
Java
java基础(1)逻辑控制if、switch
本文继续介绍了Java中的基础逻辑控制语句,包括if-else语句和switch语句。文章通过示例代码展示了if-else语句如何根据条件判断执行不同的代码块,以及switch语句如何根据变量的值执行不同的case分支。还提供了一个使用Scanner类从键盘获取输入,并根据输入的数字输出对应的星期日的示例。最后提到了如何在IDEA中格式化代码。
30 2
|
6月前
|
Java C语言
Java基础——逻辑控制
Java基础——逻辑控制
|
6月前
|
Java Linux C语言
一步带你了解java程序逻辑控制
一步带你了解java程序逻辑控制
47 2
|
6月前
|
Java Linux C语言
Java中值得注意的『运算符、逻辑控制、输入输出』
Java中值得注意的『运算符、逻辑控制、输入输出』
|
6月前
|
Java
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法...
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法
40 0
|
Linux Windows
Java-逻辑控制(下)
Java-逻辑控制(下)
58 0
Java-逻辑控制(上)
Java-逻辑控制(上)
68 0
下一篇
无影云桌面