Java基础Day03

110 阅读2分钟

Java基础Day03

一、算数运算符之除法、取模(取余)、

int a = 10 / 3 \ = 3 10和3都是int类型,结果也是int类型

int b = 10 % 3 \ = 1

% 本质是一个公式 a % b = a - a / b * b

例如:-10 % 3 = -1

//-10 - -10 / 3 * 3

注意,此处经过运算后是int类型

注意:double i = 10 / 3,要想得到结果是浮点型,必须来两个数据中有一个是浮点型。改为 double i = 10.0 / 3即可

二、自增和自减 ++ 和 --

  • 作为独立语句使用的话,i++ 与 ++i 完全等价于 i = i + 1
  • 作为表达式使用的话,i++表示先赋值后自增;++i 表示先自增后赋值

    int j = 8; 
    ​
    int k = ++j; //等价 先 j = j + 1;后 k = j;
    ​
    int k = j++; // 等价 先 k = j;后 j = j + 1;
    

    --和++类似,不做介绍

练习题1

int i = 1;i = i++;    //先赋值后自增
​
System.out.println(i);
​
//结果是多少?
//结果是1
//规则:先使用一个临时变量 (1) temp = i;(2) i = i + 1;(3) i = temp;

练习题2

int i = 1;i = ++i;    //先自增后赋值
​
System.out.println(i);
​
//结果是多少?
//结果是1
//规则:使用一个临时变量(1) i = i + 1;(2) temp = i;(3) i = temp;

三、关系运算符

注意:”=="不要错写成”=“

四、逻辑运算符

屏幕截图 2022-01-20 212944.png 逻辑异或

a ^ b a和b相同为false,不同为true

注意:boolean a = true,a = false,最后是a = false

五、赋值运算符

屏幕截图 2022-01-20 222034.png

屏幕截图 2022-01-20 223125.png

相当于 byte b = 2;

b += 3 b = (byte)(b + 3)

b++ b = (byte)(b + 1)

六、三元运算符

一真二假

屏幕截图 2022-01-20 223810.png

public class TernaryOperator {
//编写一个 main 方法
    public static void main(String[] args) {
        int a = 10;
        int b = 99;
        // 解读
        // 1. a > b 为 false
        // 2. 返回 b--, 先返回 b 的值,然后在 b-1
        // 3. 返回的结果是 99
        int result = a > b ? a++ : b--;
        System.out.println("result=" + result);//10
        System.out.println("a=" + a);//11
        System.out.println("b=" + b);//99
    }
}

使用细节

屏幕截图 2022-01-20 225019.png

七、运算符优先级

屏幕截图 2022-01-20 230507.png