03Java运算符
Java运算符
- 算数运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 三目(条件)运算符
- 运算符的优先级
一、算数运算符
1.算数运算符符号:+(加法),-(减法),*(乘法),/(除法),%(求余),++(自加1),--(自减1)
2.+,-,*,/,四种运算符举例(由于四种方法大意一样之举例其中一种)
public static void main(String[] args){ int i = 18; int n = 12; int m = i + n; System.out.println(m); //输出结果:30
}
注意事项:运算的结果跟数据类型有关
public static void main(String[] args) { int a = 1; double d= 5; System.out.println(a+d); //输出6.0 int x = 6; int y = 7; System.out.println(x/y); //输出0 System.out.println(y/x); //输出1 }
%(取余)运算符
public static void main(String[] args){ System.out.println(0%1); //输出0 System.out.println(9%5); //输出4 System.out.println(2%9); //输出2 System.out.println(9%3); //输出0 }
++,-- 运算符:Java的自增或自减运算符可以使变量的值加1或者减1,但是写在变量前后会具有不同的效果
——如果写在变量前表示在使用这个变量之前对变量进行加1或者减1。
——如果写在变量之后表示在这个变量使用之后,在对变量的值进行加1或者减1。
public static void main(String[] args){ int L = 10; int Y = 10; L++; Y++; System.out.println(L); //11 System.out.println(Y); //11 int L1 = 10; int Y1 = 10; ++L1; ++Y1; System.out.println(L1); //11 System.out.println(Y1); //11 int L2 = 10; int Y2 = 10; int X1; int X2; X1 = L2++ + 1; System.out.println(L2); //11 System.out.println(X1); //11 X2= ++Y2 + 1; System.out.println(Y2); //11 System.out.println(X2); //12 }
3.+ 也具有字符串连接的功能(代码演示)
publci static void main(String[] args){ int a = a; String str = "a=" + a; System.out.println(str); //输出 a=a }
二、关系运算符
1.关系运算符:用于判断数据之间的大小关系。
2.符号:>(大于),=(等于),<(小于),>=(大于等于),<=(小于等于),!=(等于),==(等于)
3.运算结果:关系运算符的运算结果均为布尔类型(boolean),如果成立结果为true,不成立结果为false。
4.代码演示:
public static void main(String[] args) { int max = 10; int number = 9; boolean b1 = max == 10; System.out.println(b1); //输出ture boolean b2 = number >= 63; System.out.println(b2); //输出false }
三、逻辑运算符
1.逻辑运算符:逻辑运算符建立在关系运算符之上,也是一种确立数据关系的运算符
2.符号:&(与),|(或),&&(短路与),||(短路或),!(非)
3.运算结果:参与逻辑运算符的变量或者表达式均为布尔类型(boolean),其逻辑运算规则如下表所示
变量1(name1) | 变量2(name2) | name1 & name2 | name1 | name2 | name1&&name2 | name1 || name2 | !name1 |
false | false | false | false | false | false | true |
false | true | false | true | true | true | |
true | false | false | true | false | true | false |
true | true | true | true | true | true |
4.总结:注意事项:逻辑运算符的”短路问题“
4.1“&&”运算符:当两个boolean变量参与"&&"运算时,只有当两个变量均为true时,运算结果才为true,否则结果为false。
4.2"||"运算符:当两个booleab变量参与“||”运算时,当两个变量其中有一个为true时,结果结果即为true,只有当两个变量均为false时结果为false。
4.3“ !”运算符:!运算符相对简单,只会有一个boolean变量参与运算,运算的值与该变量相反,变量为true时结果为false,变量为false时结果为true。
四、赋值运算符
1.赋值运算符:用于对变量赋值。除了将右边的表达式计算出来赋值给左边以外还具有以下特点,赋值表达式本身也具有值,其本身之值就是所附之值。
2.符号:=(赋值),+=(加后赋值),-=(减后赋值),*=(乘后赋值),/=(除后赋值),%=(求余后赋值)
3.代码演示:
/* * 赋值运算符 * +=, -=, *=, /=, %= : * 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的 * 注意:赋值运算符左边必须是变量 */ public class OperatorDemo2 { public static void main(String[] args) { int x = 10; x += 20; System.out.println(x); //输出30 } }
五、三目运算符
1.三目运算符格式:(条件表达式)?表达式1:表达式2;
2.三目运算符运算规则:先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2。
3.代码演示:
public static void main(String[] args) { boolean boo = (3>2)?true:false; System.out.println(boo); //输出true String string = (90>80)?"正确":"错误"; System.out.println(string); //输出正确 }
六、运算符的优先级
优先级 |
描述 |
运算符 |
1 |
括号 |
()、[] |
2 |
正负号 |
+、- |
3 |
自增自减,非 |
++、--、! |
4 |
乘除,取余 |
*、/、% |
5 |
加减 |
+、- |
6 |
移位运算 |
<<、>>、>>> |
7 |
大小关系 |
>、>=、<、<= |
8 |
相等关系 |
==、!= |
9 |
按位与 |
& |
10 |
按位异或 |
^ |
11 |
按位或 |
| |
12 |
逻辑与 |
&& |
13 |
逻辑或 |
|| |
14 |
条件运算 |
?: |
15 |
赋值运算 |
=、+=、-=、*=、/=、%= |
16 |
位赋值运算 |
&=、|=、<<=、>>=、>>>= |