一、算术运算符
分类:
+,-,*,/
/和%的区别:
/:获取两个数据相除的商。
%:获取两个数据相除的余数。
注意:
整数相除结果还是整数.
想要得到小数,就必须有浮点数参与运算.public class OperateorDemo1 {
public static void main(String[] args) {
//定义俩个int类型的变量
int a = 5;
int b = 3;
System.out.println(a+b); //8
System.out.println(a-b); //2
System.out.println(a*b); //15
System.out.println(a/b); //1
System.out.println(a%b); //2
System.out.println("---------------");
System.out.println(5/4); //1
System.out.println(5.0/4); //1.25
System.out.println(5/4.0); //1.25
}
}二、字符和字符串参加运算
字符参与加法运算, 其实就是拿该字符在计算机中存储所表示的数据来运算
ASCⅡ表 常用: 0-48 a-97 A-65字符串参加运算, 其实这里不是加法运算,而是字符串的拼接。System.out.println("hello" + "world"); //hello world三、自增自减运算符
自增运算符(++)演示:
作用:
表示自身的值+1
用法:
单独使用:放在变量前或后结果一样,都是自身+1
参与运算:
在变量前,先自增,再以新值进行其它运算
在变量后,先以原值进行其它运算,再自增//定义一个int类型的变量
int a = 5;
//单独作用
a++;
++a;
//下述输出语句的结果是 :把字符串“a: ” 和变量a的值进行拼接
System.out.println("a: "+a);
//参与运算
//++在后
int b = a++;
System.out.println("a:" +a); //6
System.out.println("b:" +b); //5
//参与运算
//++在前
int c = ++a;
System.out.println("a:" +a); //6
System.out.println("b:" +b); //6四、赋值运算符
基本的赋值运算符:
=
扩展的赋值运算符:
+=,-=,*=,/=//基本的赋值运算符
int a= 10; // 把10赋值给a
System.out.println("a:" +a);
System.out.println("-----------------");
//扩展赋值运算符
//+=的作用;把左右俩边的数据相加:a = a +20
a +=20;
System.out.println("a" +a);
System.out.println("-----------------");
//扩展运算符的好处:自动强转
short s = 2;
//s =s +1; //报错? 因为s + 1的结果是一个int类型的数据,你把int类型的数据赋值给short类型的变量,肯定不行
//解决
//方案一:强制类型转换
//方案二通过扩展赋值运算符实现
s+=3;
System.out.println("s:" + s);
//=的作用是赋值不是相等五、关系运算符
关系运算符:
分类:
==,!= ,>,>=,<,<=
运算结果:
关系运算符操作完毕后的结果肯定是boole类型
注意事项:
千万不要把==写成=。//定义三个变量
int a = 10;
int b = 20;
int c = 10;
//==: 等于
System.out.println(a == b);
System.out.println(a == c);
System.out.println(a == c);
System.out.println("------------------");
//!=:不等于
System.out.println(a !=b); //t
System.out.println(a !=c); //f
System.out.println("------------------");
//>:大于
System.out.println(a >b); //f
System.out.println(a >c); //f
System.out.println("------------------");
//>=:大于等于
System.out.println(a >=b); //f
System.out.println(a >=c); //t
System.out.println("------------------");
//注意: ==是判断是否相等, =是赋值是谁的意思
System.out.println(a == b); //f
System.out.println(a =b); //20六、逻辑运算符
分类:
逻辑与:&&,并且的关系,要求所有条件都满足,即有false则整体为false
逻辑或://,或者的关系,要求只要满足任意一个条件即可,即有true则整体为true逻辑非:!,取反的意思,以前为false,现在为true;以前为true,现在为false.
逻辑非:!,取反的意思,以前为false,现在为true,以前为true,现在false。
注意:
偶数个逻辑非,结果不变.
七、三元运算符概述:
也叫三目运算符,即由三部分组成的.
格式:
关系表达式 ? 表达式 1 :表达式 2 ;
执行流程:
先判断关系表达式是否成立,
成立,执行表达式 1;
不成立,执行表达式 2;//需求: 求俩个整数的最大值
//1.定义俩个变量记录俩个整数。
int a = 10;
int b = 20;
//2.通过三元运算符计算他们的最大值。
int max = (a >=b) ? a : b ;
//3.将结果打印到控制台上。
System.out.println("max:"+max);
总结:
运算符优先级的表优先级 | 运算符 | 结合性 |
1 | ()、[]、{} | 从左向右 |
2 | !、+、-、~、++、-- | 从右向左 |
3 | *、/、% | 从左向右 |
4 | +、- | 从左向右 |
5 | «、»、>>> | 从左向右 |
6 | <、<=、>、>=、instanceof | 从左向右 |
7 | ==、!= | 从左向右 |
8 | & | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 从右向左 |
















