Java中的运算符
常量:是指在程序运行中,值不发生任何改变。被final修饰的变量就叫做常量,常量只能赋值一次。一般使用常量来存储一些不会改变的值
final int AGE;
AGE=18;
AGE=17; #因为是常量不可被改变,所以二次赋值候会报错
算术运算符:+ , -,*,/,%
int i = 50;
System.out.println(i+50);
System.out.println(i-50);
System.out.println(i*50);
System.out.println(i/50);
System.out.println(i%50);
赋值运算符: =,+,+=,-=,*=,、=,%=,++,–
赋值运算符:在对变量的值进行运算后重新赋值给变量,也就是说赋值运算符会改变变量的值
i+=50:是指在i原本的值的基础上进行了+50的操作,然后重新赋值给i变量
些运算符会进行强制转换
+:++是指对变量进行自增1的操作,但是++如果写在变量的后面,会先使用变量本身的值,然后再进行自增
++:如果写在前面,会先自增然后再使用
字符串连接符:+
字符串不能进行任何运算,只能通过+进行连接,并且任何数据碰到字符串后都会变成字符串
+号的左右如果是数字,就会进行加法运算,如果有一侧以上是字符串就会变成字符串的连接符
System.out.println(5+5+"hellow"+5+5); //10hello55
System.out.println(5+5+"hello"+(5+5));//10hello10
比较运算符: ==,>,<,>=,<=,!=
通过代码执行后,可以发现得到的返回值都是布尔类型的值,所以我们也可以称所有的比较运算为:布尔表达式。因为比较运算符的运算结果是布尔值
重点:字符串以及所有的引用数据类型不能够使用==来进行比较,因为引用数据类型比较的是内存地址,所以可以使用对象名.equals()方法来进行比较,equals方法可以比较引用数据类型中具体的值是否一致
String str = "hello";//常量池
String str1 = "hello";//常量池
String str2 = new String("hello");//堆内存
String str3 = new String("hello");//堆内存
System.out.println(str ==str1);//true
System.out.println(str ==str2);//false
System.out.println(str2 == str3);//false
System.out.println(str.equals(str2));//true
System.out.println(str2.equals(str3));//true
逻辑运算符:&&,&,||,|
&&,&:主要用来拼接多个比较运算符,只有当其拼接的多个条件全部返回true的时候,结果才为true,只要有任何一条返回false结果就是false。
&& 短路与:当左侧条件为false的时候,会进行短路直接返回false,不再执行右侧条件
& 位与:必须执行完所有条件后,才返回结果,位与可以进行位运算
! 取反:会对判断结果进行取反操作,让true变成false,让false变成true
||,|:主要用于拼接多个比较运算符的,被拼接的多个条件中,只要有任意一个返回true,结果就是true
|| 短路或:当左侧条件为true,会立即返回true,不再执行右侧条件
| 位或:必须执行完所有条件后才返回结果,并且为或可以进行二进制运算
三目运算符:布尔表达式 ?”当表达式为true的值” : “当表达式为false的值”
//如果i大于100让number等于i 否则让number等于100
i=59;
int number = i>100 ? i : 100;
System.out.println(number);