目录
一、算数运算符
Java语言支持的算术运算符:
操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B等于200 / 除法 - 左操作数除以右操作数 B / A等于2 % 取余 - 左操作数除以右操作数的余数 B%A等于0 ++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21(区别详见下文) -- 自减: 操作数的值减少1 B-- 或 --B 等于 19(区别详见下文) 测试:
package com.itheima; public class HelloWorld { public static void main(String[] args){ int a=6; int b=4; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b); System.out.println(a%b); //除法得到的是商,取余得到的是余数 } }运行结果:
自增自减运算符
自增(++)自减(--)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。
实例:
public class selfAddMinus{ public static void main(String[] args){ int a = 3;//定义一个变量; int b = ++a;//自增运算 int c = 3; int d = --c;//自减运算 System.out.println(b); System.out.println(d); } }运行结果:
2、前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
3、后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算
二、赋值运算符
Java语言支持的赋值运算符:

注意:
1、
注意是:
①System.out.println("b:" +b);而不是:
②System.out.println("b:" b);因为:
这个是 就像c++的字符串 要把俩个拼起来。
如果是②则会提示错误
2、
①s+=20;
②s=s+20;
思考:
①是正确的,而②会报错,为什么???
因为:20本身是默认int类型,而s是short类型,所以就不兼容
②也可以写成s=(short)s+20;就对了,但一般用①
所以咱就是说:扩展的赋值运算符底层隐含了强制类型转换
三、关系运算符
Java语言支持的关系运算符:

结果一定是bool类型的值
示例:
package com.itheima; public class HelloWorld { public static void main(String[] args){ int i=10; int j=10; int k=20; System.out.println(i==j); System.out.println(i==k); System.out.println("------------"); System.out.println(i!=j); System.out.println(i!=j); } }运行结果:
注意:
不小心把==写成了=
变成了:
System.out.println(i=k);输出是20因为:这条语句相当于把k的值赋给了i,然后输出i的值
四、逻辑运算符:
Java语言支持的逻辑运算符:

概述:
在数学中,一个数据x,大于3,小于6,我们可以这样来进行表示:3<x<6。
在Java中,需要把上面的式子先进行拆解,再进行合并表达。
拆解为:x>3和x<6合并后:x>3&&x<6
&&其实就是一个逻辑运算符。
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。
示例:
package com.itheima; public class HelloWorld { public static void main(String[] args){ int i=10; int j=20; int k=30; //& 有false则false System.out.println((i>j)&(i>k)); System.out.println((i<j)&(i>k)); System.out.println((i>j)&(i<k)); System.out.println((i<j)&(i<k)); System.out.println("-----------"); //|有true则true System.out.println((i>j)|(i>k)); System.out.println((i<j)|(i>k)); System.out.println((i>j)|(i<k)); System.out.println((i<j)|(i<k)); System.out.println("-----------"); //^相同为false,不同为true System.out.println((i>j)^(i>k)); System.out.println((i<j)^(i>k)); System.out.println((i>j)^(i<k)); System.out.println((i<j)^(i<k)); System.out.println("-----------"); //! System.out.println((i>j)); System.out.println(!(i<j)); System.out.println(!!(i>j)); System.out.println(!!!(i<j)); System.out.println("-----------"); } }运行结果:
短路逻辑运算符&&和||
短路运算符&&和||运算结果与逻辑运算符&和|一样
示例:
package com.itheima; public class HelloWorld { public static void main(String[] args){ int i=10; int j=20; int k=30; //&&有false则false System.out.println((i>j)&&(i>k)); System.out.println((i<j)&&(i>k)); System.out.println((i>j)&&(i<k)); System.out.println((i<j)&&(i<k)); System.out.println("-----------"); //||有true则true System.out.println((i>j)||(i>k)); System.out.println((i<j)||(i>k)); System.out.println((i>j)||(i<k)); System.out.println((i<j)||(i<k)); System.out.println("-----------"); } }运行结果:
但是肯定不可能没一点区别对不对,那么我们就来看一下他们的区别:
1、 逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真心右边执行;如果左边为假,右边不执行。
2、 逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
五、三元运算符
概述:
格式:关系表达式?表达式1:表达式2
范例:a>b?a:b;
计算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果如果值为false,表达式2的值就是运算结果
示例:
package com.itheima; public class HelloWorld { public static void main(String[] args){ int a=10; int b=20; int max=a>b ? a: b ; System.out.println("max:"+max); } }运行结果:
![]()







