4.逻辑控制 —— Java SE

 4.逻辑控制 —— Java SE_第1张图片 4.逻辑控制 —— Java SE_第2张图片

 

目录

1. 顺序结构

2. 分支结构

2.1 if语句

2.2 switch语句

3. 循环结构

3.1 while 循环

3.2 break和continue

3.3 for 循环

3.4 do while 循环

4.输入输出

4.1 输出到控制台

4.2 从键盘输入

5. 猜数字游戏


本篇主要写了java中的逻辑控制语句,和C区别不大;还写了在java中的输入输出方式,这个必须熟练掌握

1. 顺序结构

这个比较简单,就是按照代码书写的,顺序来执行输出,

如果书写顺序发生变化,输出顺序也随之发生变化

public class TestDemo {
    public static void main(String[] args) {
        System.out.println("aaa");
        System.out.println("bbb");
        System.out.println("ccc");
        //调整代码书写的顺序后,输出顺序也随之发生变化
        System.out.println("bbb");
        System.out.println("ccc");
        System.out.println("aaa");
    }
}

4.逻辑控制 —— Java SE_第3张图片

2. 分支结构

2.1 if语句

和C的区别就是括号里面的判断条件为布尔表达式,直接看例子吧

public class TestDemo {
public static void main(String[] args) {
    //1.if 单分支
    int score = 92;
    if(score>=90){
        System.out.println("优秀");
    }
    
    //2.if-else 双分支
    if(score>=90){
        System.out.println("优秀");
    }else{
        System.out.println("不优秀");
    }
    
    //3.if-else if-else 多分支
    if(score>=90){
        System.out.println("优秀");
    }else if(score>=80){
        System.out.println("优良");
    }else{
        System.out.println("不优秀");
    }
}
}

2.2 switch语句

switch语句比较简单和C语言区别不大,直接看例子吧

public class TestDemo {
    public static void main(String[] args) {
        int day = 1;
        switch (day) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            default:
                System.out.println("error");
        }
    }
}

这里要注意

switch的括号内只能是以下类型的表达式:

基本类型:byte,cahr,short,int,注意不能是long和浮点类型

引用类型:String常量串,枚举类型

3. 循环结构

3.1 while 循环

public class TestDemo {

    public static void main(String[] args) {
 /*      while(循环条件){
            循环语句;
        }
        */
        //来个简单的例子吧,打印1-10的数字
        int num = 1;
        while(num <= 10){
            System.out.println(num);
            num++;
        }
    }
}

3.2 break和continue

public class TestDemo {

    public static void main(String[] args) {
        //1.break
        //它的功能是让循环提前结束
        int num = 100;
        while(num <= 200){
            if(num%3 == 0){
                System.out.println("找到了3的倍数为"+num);
                break;
            }
            num++;
        }//执行到break就会让循环结束
        
        //2.continue
        //它的功能是跳过这次循环,立即进入下次循环
        int num1 = 100;
        while(num1 <= 200){
            if(num1 %3 == 0){
                continue;
            }
            System.out.println("找到了3的倍数为"+num1);
            num1++;
        } //执行到continue就会立刻进入下次循环判定
    }
}

3.3 for 循环

for(表达式1;布尔表达式2;表达式3){

      表达式4;

}//表达式1,用于初始化循环变量的初始值设置

 //布尔表达式2,循环条件,满足就继续执行,否则结束

//表达式3,循环变量的更新方式

简单的看一下例子吧

public class TestDemo {

    public static void main(String[] args) {
        //计算1-100的和
        int sum = 0;
        for (int i = 1; i <=100; i++) {
            sum += i;
        }
        System.out.println("sum ="+sum);

    }
}

3.4 do while 循环

do-while语句,先无条件执行一次循环语句,然后再判断循环条件,若成立就继续执行,否则结束循环。

public static void main(String[] args) {
    int num = 1;
    do {
        System.out.println(num);
        num++;
    }while(num<=10);
}

4.输入输出

4.1 输出到控制台

public static void main(String[] args) {
    System.out.println("msg");
    System.out.print("msg");
    int x = 10;
    System.out.printf("x=%d",x);
}
转换符 类型 举例
d 十进制整数 ("%d",100) 100
x 十六进制整数 ("%x",100) 64
o 八进制整数 ("%o",100) 144
f 定点浮点数 ("%f",100f) 100.000000
e 指数浮点数 ("%e",100f) 1.000000e+02
g 通用浮点数 ("%g",100f) 100.000
a 十六进制浮点数 ("%a",100) 0x1.9p6
s 字符串 ("%s",100) 100
c 字符 ("%c",'1') 1
b 布尔值 ("%b",100) true
h 散列码 ("%h",100) 64
% 百分号 ("%.2f%%",2/7f)

0.29%

4.2 从键盘输入

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

我们在从键盘输入时

需要导入util包

//a1,b都是自己取的名字

Scanner a1=new Scanner(System.in);//这里在输入第一个Scanner时可以直接回车就把包导入进去了,不然就要手动输入
String b = a1.nextLine();
import java.util.Scanner;//需要导入util包


public class TestDemo {
public static void main(String[] args) {
    Scanner scanner=new Scanner(System.in);
    System.out.println("请输入你的姓名:");
    String name = scanner.nextLine();
    System.out.println("请输入你的年龄:");
    int age = scanner.nextInt();
    System.out.println("请输入你的工资:");
    float salary = scanner.nextFloat();
    System.out.println("你的信息如下:");
    System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
    scanner.close();
}

4.逻辑控制 —— Java SE_第4张图片

5. 猜数字游戏

游戏规则:

系统自动生成一个随机整数 (1-100), 然后由用户输入一个猜测的数字 . 如果输入的数字比该随机数小 , 提示 "
", 如果输入的数字比该随机数大 , 提示 " 高了 " , 如果输入的数字和随机数相等 , 则提示 " 猜对了 " .
import java.util.Random;
import java.util.Scanner;

/**
 * @author Lxh
 * @version 2022.1.2
 * @date 2022/4/23 20:42
 */


public class TestDemo {
public static void main(String[] args) {
    Random random = new Random();//默认随机种子是系统时间
    Scanner scanner = new Scanner(System.in);
    int toGUess = random.nextInt(100);
    //System.out.println("toGUess:"+toGUess);
    while(true){
        System.out.println("请输入要输入的数字:(1-100)");
        int num = scanner.nextInt();
        if(numtoGUess){
            System.out.println("高了");
        }else{
            System.out.println("猜对了");
            break;
        }
    }
      scanner.close();
}
}

你可能感兴趣的:(JavaSE,java)