[Java03]流程操作 2021.11.08

Java流程操作


1. 交互Scanner类

通过hasNext() and hasNextLine()来判断是否有下次的输入,

通过next() and nextLine() 来获取输入的字符串,next()会把空格当作结束符,所以hello world只能输出hello,空格结束, nextLine()以回车符为结束

new scanner = Scanner(System.in);
if(scanner.hasNextLine()){
    String str = scanner.nextLine();
    System.out.println(str);
}
scanner.close();

进阶: scanner.hasNextDouble()....

2. 顺序结构,选择结构,循环结构

  1. 都是顺序结构

  2. 选择:

    if(){
        pass
    }else if{
        pass
    }else{
        pass
    }
    

    case穿透:后面的都执行, switch主要是判断具体的一个值

    switch(){
        case xxx:
            xxx
            break;//case 穿透,如果不写,后面的每一条代码都会执行
        case xxx:
            xxx;
            break;
        default:
            xxx
    }
    

    为什么switch支持String?

    IDEA支持反编译: 通过工具栏的Project Structure 来找到output文件夹,把class文件复制到项目包目录下,可以打开查看,case后面跟的是hashcode,所以支持。

  3. 循环结构

    • while
    • do...while 不满足条件的时候至少执行一次
    do{
        //代码块
    }while(布尔值)
    
    • for
    for(初始值; 不二判断; 迭代更新){
        //代码块
    }
    

    在IDEA中输入100.for 自动生成for循环语句,太牛了!!!

    增强for循环

    for(声明语句: 表达式){
        //代码
    }
    //声明语句:声明局部变量,必须与数组或集合的类型一致
    //表达式是要访问的数组名,或者是返回值为数组名的方法(python的迭代器)
    int[] numbers = {1,2,3,4,5};
    for (int x: numbers){
        System.out.println(x);
    }
    

3. break, continue,goto

goto 不建议使用

使用方法:在continue或者break后面加上标签,在需要转到的地方前面加上标签:, 就可以直接跳转到添加标签的地方。

//求101-150之间的质数
outer:for(i = 101;i< 150; i ++){
    for(j = 2; j< i/2;j++){
        if(i%j == 0){
            continue outer;
        }
    }
}

debug,打断点,在console上方有下一步的按钮。great!!

上一篇:logback的配置文件


下一篇:if语句使用break、continue和return区别