运算符 总结笔记
1.算术运算符
基本运算符: + - x /;
取余运算符: % ;
递增或递减:++ --;
i++ 与 ++i的区别:
int i=520;
int a=i++;
int b=++i;
System.out.println(a);
System.out.println(b);
运行结果:
520
522
注意:i++先返回i然后自身加1,++i先自身加1然后返回i;
2.关系运算符和逻辑运算符
关系运算符:< <= > >= != ==
关系运算符会产生一个布尔值(boolean),一般用在判断语句中。
if (2 == a) { /* Mistaken use of = versus == would be a compile-time error */
}
注意:a=1;是赋值语句,==才是相等。
如果意外使用了=,编译器会产生一个错误消息, 这种编程写法被称为左手比较或尤达条件式。
== 与 equals 的区别:
1)== 与 equals本质上完全相同,都是比较左右两边的内存地址是否一致;
2)但在String 和 Integer 等重写了 equals 方法,把它变成了值比较;
3)有需要可以在类中重写equals方法,使它具有值比较功能。
public class A{
public static void main(String[] args) {
String s1 = new String("i love you");
String s2 = new String("i love you");
Cat c1=new Cat();
Cat c2=new Cat();
System.out.println(s1.equals(s2)); // true
System.out.println(c1.equals(c2)); // false
}
}
class Cat{}
逻辑运算符:&&(且) ||(或) !(非)
public class A{
public static void main(String[] args){
int a = 520;
boolean b = (a<4)&&(a++<10);//a++程序不会执行
System.out.println(b);
System.out.println(a);
}
}
运行结果:
flase
520
注意:程序运行遵循短路原则,得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
3.位运算符
位运算符1:&(位或) |(位与) ^(异或)
位运算符2:~(取反) << (左移) >>(右移)
注意:位运算是单目运算,运算时必须先转换为二进制,结果也为二进制。
4.条件运算符
条件运算符属于三目运算符,需要三个操作数。
基本语法:variable x = (expression) ? value if true : value if false
public class A {
public static void main(String[] args) {
String I = (520==520) ? "我喜欢你":"i love you";
System.out.println(I);
}
}
运行结果:
我喜欢你
5.instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
基本语法:( Object reference variable ) instanceof (class/interface type)
String name = "kuangkuang";
boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真
System.out.print(result);
运行结果:
true
日出东方,年轻的侠客披上斗篷。 自此,诗酒天涯,琪琚佩剑。

浙公网安备 33010602011771号