Point03(java--条件语句)

146 阅读3分钟
一、Boolean值

在 Java 中,boolean 类型的变量用于表示布尔值,即 truefalse。这些布尔值通常作为条件表达式的结果,用于控制程序的流程。布尔变量可以在条件语句(如 ifwhilefor 等)中直接使用,也可以作为逻辑运算的结果。

public class Condition {
    public static void main(String[] args){
        int one = 1;
        int tow = 2;
        boolean isSame = one == tow;
        System.out.println("isSame:"+ isSame); //false
    }
}
二、Boolean运算符

Boolean运算符主要包括以下内容:

  1. ==运算和equals

在 Java 中,==equals 都可以用于比较对象,但它们的行为和用途有所不同。了解它们的区别对于编写正确的代码非常重要。

== 运算符用于比较两个对象的引用是否相同,即它们是否指向内存中的同一个对象。对于基本数据类型,== 比较的是它们的值。

public class Condition {
    public static void main(String[] args){
        int one = 1;
        int tow = 2;
        //布尔运算
        boolean result;
        result = one == tow;
        System.out.println(result); //false
        String i= "1";
        String s= "1";
        result = i == s;
        System.out.println(result); //true
        
        //判断对象
        String obj1 = new String("obj1");
        String obj2 = new String("obj2");
        result = obj1 ==obj2;
        System.out.println(result);//false
    }
}

但是注意:使用==时必须保证两个基本数据类型相同,否则就会报错!

public class Condition {
    public static void main(String[] args){
        int one = 1;
        String s= "1";
        //布尔运算
        boolean result;
        result = one == s;
        System.out.println(result); //false
    }
}
-------------------------------------------------------
java: 二元运算符 '==' 的操作数类型错误
  第一个类型:  int
  第二个类型: java.lang.String

equals 方法用于比较两个对象的内容是否相同。默认情况下,Object 类的 equals 方法的行为与 == 相同,即比较对象的引用。然而,许多类(如 StringInteger 等)都重写了 equals 方法,使其比较对象的内容而不是引用。

public class Condition {
    public static void main(String[] args){
        //判断对象
        String obj1 = new String("obj1");
        String obj2 = new String("obj1");
        //使用==
        result = obj1 ==obj2;
        System.out.println(result);//false
        //使用equals
        result = obj1.equals(obj2);
        System.out.println(result);//true
    }
}
  1. 其他运算符
result = one>tow; //false --大于
result = one < tow; //true --小于
result = one>=1; //true --大于等于
result = tow<=2; //true --小于等于
result = one!=tow; //true --不等于
result = one>tow || one<tow; //true --逻辑或(一真则真,全假则假)
result = one>tow && one<tow; //false --逻辑与(一假则假,全真为真)
result = !result; // true --逻辑非(取反)
三、条件语句

Java代码中可以使用条件语句在不同条件下执行不同的逻辑;常见的条件语句包括:if-else、switch、三目运算符;

  1. if-else条件判断语句
public class Conditionalstatement {
    public static void main(String[] args){
        int a = 1;
        int b = 2;
        if(a==b){
            System.out.println("a等于b");
        }else{
            System.out.println("a不等于b");
        }
    }
}
// 输出:a不等于b

if-else语句也可以去除{},但if和else后只能有一行语句;

public class Conditionalstatement {
    public static void main(String[] args){
        int a = 1;
        int b = 2;
        if(a==b) System.out.println("a等于b");
        else System.out.println("a不等于b");
    }
}
// 输出:a不等于b

同时有多个判断分支时可以使用if-else-if

public class Conditionalstatement {
    public static void main(String[] args){
        int a = 1;
        int b = 2;
        if(a>b){
            System.out.println("a大于b");
        }else if(a==b){
            System.out.println("a等于b");
        }else{
            System.out.println("a小于b");
        }
    }
}
// 输出:a小于b
  1. switch语句

switch语句通过判断条件选择执行代码块;switch可以有效替代if-else-if;

public class Conditionalstatement {
    public static void main(String[] args){
        int num = 3;
        switch (num){
            case 1:
                System.out.println("1");
                break;
            case 2:
                System.out.println("2");
                break;
            case 3:
                System.out.println("3");
                break;
            default:
                System.out.println("其他");
        }
    }
}
// 输出:3

break:关键字用于在执行case代码块中的相关逻辑后,跳出switch语句。

default:关键字是在判断条件不满足所有case时执行。

  1. 三目运算符

三目运算符写法简单,主要用于简单的逻辑判断;

public class Conditionalstatement {
    public static void main(String[] args){
        int num = 3;
        String str = num == 3 ? "num等于3" : "num不等于3";
        System.out.println(str);
    }
}
// 输出:num等于3

恭喜完成条件语句的学习!