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;
三、关系运算符
注意:”=="不要错写成”=“
四、逻辑运算符
逻辑异或
a ^ b a和b相同为false,不同为true
注意:boolean a = true,a = false,最后是a = false
五、赋值运算符
相当于 byte b = 2;
b += 3 b = (byte)(b + 3)
b++ b = (byte)(b + 1)
六、三元运算符
一真二假
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
}
}
使用细节