天天看点

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结

Java学习(3)之程序逻辑控制

目录

  • Java学习(3)之程序逻辑控制
  • 一、分支
    • 1.if语句
    • 2.switch语句
  • 二、循环
    • 1.while循环
    • 2.break
    • 3.continue
    • 4.for循环
    • 5.do while循环
  • 三、输入输出
    • 1.输出
    • 2.输入
  • 总结

一、分支

1.if语句

  • 形式1
    int num = 10;
        if (num < 20){
            System.out.println("hello");
        }
               
    运行结果:
    2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
  • 形式2
    int num = 10;
            if (num > 20){
                System.out.println("hello");
            }
            else{
                System.out.println("world");
            }
               
    运行结果:
    2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
  • 形式3
    int score = 90;
            if(score >= 90){
                System.out.println("优秀");
            } else if(score >= 80){
                System.out.println("良好");
            }else if(score >= 70){
                System.out.println("中等");
            }else if(score >= 60){
                System.out.println("及格");
            }else{
                System.out.println("不及格");
            }
        }
               
    运行结果:
    2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
  • Tips:存在一种特殊情况,就是负数。
    int num = -101;
            if(num % 2 == 1){
                System.out.println("奇数");
            }else{
                System.out.println("偶数");
            }
               
    运行结果:
    2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
  • 改正措施:
    int num = -101;
            if(num % 2 != 0){
                System.out.println("奇数");
            }else{
                System.out.println("偶数");
            }
               

运行结果:

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结

2.switch语句

基本格式:

int day = 1;
	        switch(day){
	            case 1:
	                System.out.println("星期一");
	                break;
	            case 2:
	                System.out.println("星期二");
	                break;
	            case 3:
	                System.out.println("星期三");
	                break;
	            case 4:
	                System.out.println("星期四");
	                break;
	            case 5:
	                System.out.println("星期五");
	                break;
	            case 6:
	                System.out.println("星期六");
	                break;
	            case 7:
	                System.out.println("星期日");
	                break;
	            default:
	                System.out.println("输入有误");
	                break;
	        }
           
  • switch语句的局限性:

    1.switch的()中只能放有限的几种类型。

    2.break语句不能遗漏,增加了开发人员的工作量。

    3.很难表达复杂的逻辑,因为case中的每个条件需要精确对应才能执行其条件语句。

    4.虽然支持嵌套,但是不美观。

二、循环

1.while循环

//打印1-10
        int num = 1;
        while(num <= 10){
            System.out.print(num + " ");
            num++;
        }
           

运行结果:

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
//打印1 + 2 + 3 + ... + 100;
        int num = 1;
        int result = 0;
        while(num <= 100){
            result += num;
            num++;
        }
        System.out.println(result);
           

运行结果:

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
  • 缓存(cache):对之前反复出现的数据进行存储“记忆”,避免重复计算,本质上是空间换时间。
  • 缓冲区(buffer):计算机cup访问硬盘的效率比较低(差3-4个数量级),而访问内存的效率较高,进而在二者之间开辟出一块“区域”,提高内存访问效率。本质上也是空间换时间。
  • IDEA中使用shift+F6触发rename功能。

2.break

  • 表示结束整个循环
int n = 1;
        while(n <= 5){
            if(n == 3){
                break;
            }
            System.out.println("吃第 " + n + " 个包子");
            n++;
        }
           
2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结

3.continue

  • 结束这次循环,即:进入下次循环。
//吃包子问题演示break和continue
        int n = 1;
        while(n <= 5){
            if(n == 3){
                n++;
                continue;
            }
            System.out.println("吃第 " + n + " 个包子");
            n++;
        }
           

运行结果:

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结

4.for循环

  • 基本形式
for(表达式1;表达式2;表达式3){
    循环体;
}
           
  • 表达式1是循环变量的初始化语句,只是在进入for循环时执行一次。
  • 表达式2表示循环条件,表达式为true,执行循环体;表达式为false,结束循环体。
  • 表达式3用于更新循环变量。
  • 循环体在表达式2和表达式3之间执行。
//打印1-10
        for(int num = 1;num <= 10;num++){
            System.out.print(num + " ");
        }
           

运行结果

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结
  • for循环最大的优势就是把循环语句的三个要素可以放到一起集中表示。
//计算1-100的和
        int result = 0;
        for(int num = 1;num <= 100;num++){
            result += num;
        }
        System.out.println(result);
           

运行结果:

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结

5.do while循环

//使用 do while 打印1-10
        int num =1;
        do{
            System.out.print(num + " ");
            num++;
        }while(num <= 10);
           

运行结果

2021-01-10Java学习(3)之程序逻辑控制一、分支二、循环三、输入输出总结

三、输入输出

1.输出

System.out.println(msg);            // 输出一个字符串, 带换行
        System.out.print(msg);              // 输出一个字符串, 不带换行
        System.out.printf(format, msg);     // 格式化输出
           

2.输入

  • System.out 是标准输出
  • System.in 是标准输入
  • System.err 是标准错误
  • 使用 Scanner 读取字符串、整数、浮点数
  • Scanner 是Java标准库提供的一个类。 类就是一个高配结构体,也是一个自定义类型,对象就是该类型的变量;引用就是一个低配指针。
//使用Scanner的步骤
        //1.先创建一个 Scanner 对象,将System.in作为参数传进去
        //2.使用 import 语句导入 Scanner 类
        //3.使用 scanner.nextXXX() 方法读取数据,其中XXX表示某种类型
        Scanner scanner = new Scanner (System.in);
        int num = scanner.nextInt();                //读取整数
        double num1 = scanner.nextDouble();         //读取浮点数
        String str = scanner.next();                //读取字符串
        scanner.nextLine();                         //读取有空格的字符串
        System.out.println(num);
           

总结

以上就是我们今天所学的知识。