Java的知识点5——扩展赋值运算符、 关系运算符、 逻辑运算符、字符串连接符、 条件运算符

扩展运算符

程序

public class Dd1 {
	public static void main(String[] args) {
		int a=3;
		int b=4;
		a+=b;//相当于a=a+b;
		System.out.println("a="+a+"\nb="+b);
		a=3;
		a*=b+3;//相当于a=a*(b+3)
		System.out.println("a="+a+"\nb="+b); }
}

运行结果:

a=7
b=4
a=21
b=4


 关系运算符

  • ==、!= 是所有(基本和引用)数据类型都可以使用
  • > 、>=、 <、 <= 仅针对数值类型(byte/short/int/long,  float/double。以及char)

 逻辑运算符

  短路与和逻辑与的程序:

public class Dd1 {
	public static void main(String[] args) {
		//1>2的结果为false,那么整个表达式的结果即为false,将不再计算2>(3/0)
		boolean c=1>2&&2>(3/0);
		System.out.println(c);
		//1>2的结果为false,那么整个表达式的结果即为false,还要计算2>(3/0),0不能做除数,//会输出异常信息
		boolean d=1>2&2>(3/0);
		System.out.println(d);
				
		}
}

程序运行结果:

false
Exception in thread "main" java.lang.ArithmeticException: / by zero
    at Dd1.main(Dd1.java:7)


位运算符

public class Test1 {
	public static void main(String[] args) {
		int a=3*2*2;
		int b=3<<2; //相当于:3*2*2
		int c=12/2/2;
		int d=12>>2; //相当于:12/2/2
		System.out.println(a+"\t"+b+"\t"+c+"\t"+d);
	}
	
}

程序运行结果:12    12    3    3

注:  1.  &和|既是逻辑运算符,也是位运算符。如果两侧操作数都是boolean类型,就作为逻辑运算符。如果两侧的操作数是整数类型,就是位运算符。

         2. 不要把“^”当做数学运算“乘方”,是“位的异或”操作。


字符串连接符

“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接


 条件运算符

public class Test2 {
	public static void main(String [] args) {
		int score=80;
		int x=-100;
		String type=score<60?"不及格":"及格";  //type=及格
		int flag=x>0?1:(x==0?0:-1);  //flag=-1
		System.out.println("type="+type);
		System.out.println("flag="+flag);
	}	
}

程序运行结果:

type=及格
flag=-1
 

你可能感兴趣的:(java)