3.JAVA流程控制

一、流程控制结构

 

Scanner类

在基础语法里,只能打印出简单的运算结果,并不能实现程序和人的交互。

Java 5 的新特性里,提供了一个工具类Scanner,便于获取用户的输入。

 

基本语法

Scanner s = new Scanner(System.in);

创建扫描器,用于接收用户输入

 

判断语句表达式

if (Scanner.hasNextLine());

先用hasNext()和hasNextLine()方法来判断字符是否输入

类似的判断方法还有:

hasNextByte() //判断字节型是否输入

hasNextInt() //判断整数型是否输入

hasNextShort() //判断Short型是否输入

hasNextLong() ////判断Long型是否输入

hasNextFloat() //判断Float型是否输入

hasNextDouble() //判断Double型是否输入

hasNextBoolean() //判断Boolean型是否输入

next()和nextLine()的区别

next只能获取不含空格的字符,nextLine可以获取一行字符

 

方法获取表达式

通过Scanner类的next()和nextLine()方法来获取输入的字符

String str = next()/nextLine()//获取字符放在str里

类似的方法还有:

nextByte() //获取字节型

nextShort() //获取Short型

nextInt() //获取Int型

nextLong() //获取Long型

nextFloat() //获取Float型

nextDouble() //获取Double型

nextBoolean() //获取Boolean型

 

关闭IO流

scanner.close;

如果不关闭,将会占用资源,养成习惯

 


 

if条件语句

if选择结构一般用来做某些判断 并满足某些条件来执行语句。

 

if单选择结构

满足if布尔表达式就执行if括号内的语句 否则直接跳到下一步

image-20210813220749349

案例

        //if单选择结构
        boolean select = true;
        if (select == false){
            System.out.println("布尔值为false");//满足条件执行 不满足则跳出
        }

 

if双选择结构

判断布尔表达式的值为true 执行if括号内的语句 否则执行else内的语句。

案例

        //if双选择结构
        int age = 17;
        if (age >= 18){
            System.out.println("年龄已到成年阶段");//满足条件执行if下语句 不满足执行else下语句
        }else{
            System.out.println("年龄未到成年阶段!");
        }

 

if多选择结构

在if双选择结构的基础上 可以在中间加上若干个else if的关键字 当满足布尔表达式时 只执行其中一个分支 程序便往下执行。

案例:

        //if多选择结构
        int score = 44;
        if (score == 60){
            System.out.println("成绩刚好及格");//满足哪个分支判断就执行哪个分支的语句 若都不满足跳出整个判断
        }else if(score >= 90){
            System.out.println("成绩优秀");
        }else if(score >= 80){
            System.out.println("成绩良好");
        }else if (score >= 60){
            System.out.println("成绩及格");
        }else{
            System.out.println("成绩不合格");//当以上分支判断都不满足最后才执行else语句
        }

 


 

switch开关逻辑语句

if选择结构的布尔表达式一般用来判断一个范围,而switch选择结构的布尔表达式用来判断一个具体的值。

image-20210815124542852

案例

Scanner in = new Scanner(System.in);
System.out.println("输入int类型常数");
        int a = in.nextInt();
        switch(a){
            case 1:
                System.out.println("结果等于1");//满足case的常数表达式
                break;
            case 5:
                System.out.println("结果等于5");
                break;
            default:
                System.out.println("输入不是1和5!");//所有case不匹配才执行 不受顺序的影响
​

 


 

while循环结构

单个while循环结构

顺序结构和选择结构只能执行程序一次 while可以实现将某一段语句执行重复执行,在实际编程中引用广泛。

  • 整个while结构可以称为一个循环体

  • 如果while中没有设置条件 将会一直循环括号内的语句 称为死循环

  • while中添加了条件 当while循环到不满足条件时 程序才会停止

语法:

while(布尔表达式){
    //循环的语句
};

使用单个while循环的案例

		int num = 0;
        while (num < 10) {
            System.out.print(num + " ");//num变量循环自增直到不满足布尔表达式后跳出
            num++;
        }
        System.out.println();

 

do while循环结构

do while结构先将循环语句执行一次再判断是否循环执行,do写在前 while写在后。

语法:

do{
    //循环的语句
}while(条件表达式);

使用do while循环的案例

		int a = 1;
        do {
            a++;
            System.out.println("代码输出" + a);//不满足条件也会执行一次
        }while(a > 10);

 


 

for循环结构

for结构包含了变量声明 判断条件和变量值变化三个选项,中间用分号隔开。与while执行效果一致的情况下代码跟简洁

当需要循环次数较多时,建议使用for循环for循环,声明 条件 更新值 可以为空,没有固定规范。

运行过程:

定义后,判断条件,先输出,再自增,最后更新

//声明;条件;迭代;
for (int a = 1;a > 1;a++;){
    //循环的语句
}

使用for循环依次输出1到10的数字

for (int i = 0;i < 10;i++){
            System.out.print(i+" ");
        }
        System.out.println();

 

增强for循环结构

Java 5引用的一个新特性

增强for循环主要用于数组和集合的使用

语法

for(//变量声明:表达式){//语句块};

image-20210831204709590

主要用于数组和集合的循环操作

 


posted @ 2022-05-08 22:04  海涛布克  阅读(31)  评论(0编辑  收藏  举报