Java 语言支持如下运算符:
- 算术运算符: +,-,*,/,%,++,–
- 赋值运算符 =
- 扩展赋值运算符:+=,-=,*=,/=
- 关系运算符: >,<,>=,<=,==,!=
- 逻辑运算符: &&,||,!
- 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
- 条件运算符 ?:
相关概念辨析
- +运算符 操作符 Operator
- 5+6 表达式 expression
- 5 6 操作数 Operand
- int m =5+6; 语句 Sentence
代码示例
package com.cwl.base.day01;
public class TestOperator01 {
public static void main(String[] args) {
int a=3;
int b=4;
a+=b;
System.out.println("a="+a+"\nb="+b);
a=3;
a*=b+3;
System.out.println("a="+a+"\nb="+b);
}
}
算术运算符
- 注意:
- 1:/ 除 6/4=1 6/4.0=1.5
- 2: %取模(求余) 6%4=2
- 3:+ 6+‘a’=103 6+“a“=6ª
- 4:++ a=2;b=++a+9; a=2;b=a+++9;
- +:字符串相加,只要有一个操作数是字符串,自动变为字符串相连
二元运算符类型提升:
- 整数运算:
- 如果两个操作数有一个为Long, 则结果也为long
- 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.
- 浮点运算:
- 如果两个操作数有一个为double, 则结果为double.
- 只有两个操作数都是float, 则结果才为float.
- 一元运算符(++, --):
int a = 3;
int b = a++;
int c = ++a;
赋值运算符
- 基本赋值运算符
- 扩展赋值运算符
- 算术运算符和赋值运算符结合
关系运算符
- 关系运算符用来进行比较运算
- 关系运算的结果是布尔值:true/false
- 注意
- 区分==和=
- 不等于是!=不是<>
代码实例
package com.cwl.base.day01;
public class TestOperator02 {
public static void main(String[] args) {
int a = 3;
System.out.println(a==3);
System.out.println(a!=3);
System.out.println(a<5);
char b = 'a';
char b2 = 'c';
System.out.println((int)b);
System.out.println(0+b);
System.out.println(0+b2);
System.out.println(b<b2);
}
}
逻辑运算符
- 逻辑运算符与布尔操作数一起使用,组成逻辑表达式
- 逻辑表达式的结果是布尔值
- &和&&的区别
- “&”:无论任何情况,“&”两边的表达式都 会参与计算。
- “&&”: 当“&&”的左边为false,则将不会计 算其右边的表达式。即左false则false
- “|”和“||”的区别与“&”和“&&”的区别类似
代码示例
package com.cwl.base.day01;
public class TestOperator03 {
public static void main(String[] args) {
boolean b1 = true;
boolean b2 = false;
System.out.println(b1&b2);
System.out.println(b1|b2);
System.out.println(b1^b2);
System.out.println(!b2);
boolean b3 = 1>2&&2<(3/0);
System.out.println(b3);
}
}