运算符 总结笔记

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
posted @ 2020-02-22 17:20  惟一2020  阅读(242)  评论(0)    收藏  举报