Day05-Scanner、if、switch、while、dowhile、for、break&continue

用户交互Scanner

Scanner对象

  • 基本语法:
Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般使用hasNext()和hasNextLine()判断是否还有输入的数据
import java.util.Scanner;

public class Demo{
    public static void main(String[] args){
        //创建一个Scanner对象,用于接收数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");
        
        //判断用户有没有输入字符串
        if(scanner.hasNext()){
            //使用next方式接收
            String str = scanner.next();//用户输入数据
            System.out.println("输出的内容为:" + str);
        }
        
        //凡是属于IO刘的类如果不关闭会一直占用资源,用完就关掉
        scanner.close();
    }
}

next():

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  4. next()不能得到带有空格的字符串

nextLine():

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白
  • 主要用于数组或集合

顺序结构

  • 顺序结构是最简单的算法结构
  • 语句与语句之间是按从上到下的顺序进行的,它是任何一个算法都离不开的一种基本算法结构>

IF语句

if语法

if(布尔表达式){
    //布尔表达式为true则执行此处的代码
}

if双选择结构

if(布尔表达式){
    //布尔表达式为true则执行此处的代码
}else{
    //布尔表达式为false则执行此处的代码
}

if多选择结构

if(布尔表达式1){
    //布尔表达式1的结果为true,执行此处代码
}else if(布尔表达式2){
    //布尔表达式2的结果为true,执行此处代码
}else if(布尔表达式3){
    //布尔表达式3的结果为true,执行此处代码
}else{
    //123都为false则执行此代码
}

嵌套的if结构

if(布尔表达式1){
    //布尔表达式1的结果为true,执行以下代码
    if(布尔表达式2){
        //布尔表达式2的结果为true,执行此处代码
    }
}

Switch多选择结构

switch(expression){
    case value:
    	//语句
        break;//可选
    case value:
        //语句
        break;//可选
    default:
        //语句
}

不写break语句会发生穿透现象

循环结构

while循环

while(布尔表达式){
    //循环内容
}
  • 只要布尔表达式为true,循环就会一直执行下去
  • 大多数情况是会让循环停下来,需要一个让表达式失效的方式来结束

do...while循环

do...while循环和while循环相似,不同的是,do...while循环至少会执行一次

do{
    //代码语句
}whlie(布尔表达式);

For循环

for(初始化;布尔表达式;更新){
    //代码语句
}

Test:

public class ForDemo {
    public static void main(String[] args) {
        //计算0-100之间奇数和偶数的和
        
        int oddsum = 0;
        int evensum = 0;
        
        for (int i = 0; i <=100 ; i++) {
            if (i%2!=0){
                oddsum+=i;
            }else{
                evensum+=i;
            }
        }
        System.out.println("奇数的和:" + oddsum);
        System.out.println("偶数的和:" + evensum);
    }
}

增强for循环

for(元素数据类型 变量:数组或者Collection集合){
    //代码句子
}
  • 主要用于数组或集合
    例:
public class Demo{
    public static void main(String[] args){
        int[] num = {10,20,30,40,50};
        //遍历数组的元素
        for(int x : num){
            System.out.println(x);//10,20,30,40,50,把数组内的元素打印出来
        }
    }
}

break continue

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,(break也在switch语句中使用)
  • continue语句用在循环语句主体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

posted on 2021-06-25 18:59  爱吃酸笋的笋  阅读(59)  评论(0)    收藏  举报