Java教程

Java运算符

本文主要是介绍Java运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

运算符

位运算符?(两边的数据都是数字,结果也为数字)
	&(与位运算):
		System.out.println(3 & 2); //2
	
	|(或位运算):
		System.out.println(3 | 2); //3
	
	^(异或位运算):
		System.out.println(3 ^ 2); //1
		
		练习?
			int i = 1;
			int j = 2;
			通过某些方式,实现i和j变量的数据的调换?
			
			方式一:
				int temp = i;
				i = j;
				j = temp;
				
			方式二:
				i = i ^ j;
				j = i ^ j;
				i = i ^ j;
	
	~(按位取反):
		System.out.println(~3); //-4
		
		注意:符号位都会取反
	
	>>(右移位运算):
		System.out.println(3 >> 2);
		
		A >> N --> A / 2^N
		
		4/2 = 2
		4 >> 1 = 2 效率高,直接操作的是二进制
	
	<<(左移位运算):
		System.out.println(3 << 2);
		
		A << N --> A * 2^N
	
	>>>(无符号右移):
		System.out.println(3 >> 2);//0
	
		>>和>>>区别是什么?
			>>:如果数据是负数,最左边的符号位是1,右移之后,左边要补1
			    如果数据是正数,最左边的符号位是0,右移之后,左边要补0
				
			>>>:不管数据是正数还是负数,右移之后,左边都补0
			
三元运算符?(条件运算符,三目运算符)?
	格式:条件表达式 ? 表达式1 : 表达式2;
	
		条件表达式的结果一定是boolean类型
	
	执行流程:
		如果条件表达式为true,就会执行表达式1,不会执行表达式2
		如果条件表达式为false,就会执行表达式2,不会执行表达式1
		
	练习:
		获取两个数的较大值?
			int i = 2;
			int j = 3;
			
			int max = i > j ? i : j;
			System.out.println(max);
			
	注意事项?
		1.三元运算符是一个运算符,既然是运算符,就一定会有一个结果,所以呢,
		  表达式1和表达式2都会得到一个结果,所以表达式1和表达式2中不能是输出语句
			
			3 > 2 ? System.out.println("在吗") : System.out.println("约吗");//格式错误
			
		2.表达式1和表达式2既然会得到一个结果,如果传递给一个变量去接收,该变量的数据类型应该和表达式1
		  和表达式2的结果的数据类型匹配
			int i = 3 > 2 ? 1 : 2;
			boolean b = 3 > 2 ? true : false;
			double d = 3 > 2 ? 1.1 : 2.2;
			
			double d = 3 > 2 ? 1 : 2;
			int c = 3 > 2 ? 'a' : 'b';
这篇关于Java运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!