Java基础03

版权声明: https://blog.csdn.net/qq_40794602/article/details/86484760

考点1:

  • 整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
  • eg:  10/4=2   10.0/4=2.5    10/4.0=2.5       

考点2:

byte b = 10;
b = b + 1;//类型不匹配,int 不能转成byte  报错

扩展运算符符(+=,-=,*=,/=,%=):

short s=1;
s+=1;//不会报错  扩展运算符会帮你自动进行强制类型转换

逻辑运算符有哪些:

  • & 逻辑与,有false则false。
  • | 逻辑或,有true则true。
  • ^ 逻辑异或,相同为false,不同为true。
  • ! 逻辑非:非false则true,非true则false。
  • && 逻辑与
  • || 逻辑或

敲黑板(逻辑||和逻辑|):

  • ||与|结果是一样的
  • ||具有短路效果。左边是true,右边不执行。
  • |是无论左边是false还是true,右边都会执行

敲黑板(逻辑&&和逻辑&):

  • 最终与&结果一样。
  • &&具有短路效果。左边是false,右边不执行。
  • &是无论左边是false还是true,右边都会执行

位运算符有哪些:

  • & 按位与        有0则0,其它为1
  • | 按位或        有1则1,其它为0
  • ^ 按位异或      相同则0,不同则1    一个数按位异或2次相同的数,值不变
  • ~ 按位取反      按位补运算符翻转操作数的每一位
  • <<按位左移          左移,右边补齐0,最高位不变
  • >>按位右移          右移,左边补齐0,最高位不变
  • >>>无符号右移
  • 注意:& ,|和^既是路基运算符也是位运算符

考点3 交换两个变量(炫技型):

		考点:位异或运算符的特点:
		      ^的特点:一个数据对另一个数据位异或两次,该数本身不变。*/
		int x = 1;
		int y = 2;
		
		x = x ^ y;//x = 1 ^ 2
		y = x ^ y;//y = 1 ^2 ^ 2 = 1
		x = x ^ y;//x = 1 ^ 2  ^ 1 = 2

考点4:

		int b = 0b11111111111111111111111111111111; //这样写的而其实都是补码形式
		System.out.println(b);  //打印的值是-1

键盘录入的基本步骤:

  1. 导包: 在class上面 写入 import java.util.Scanner;
  2. 创建键盘录入对象Scanner sc = new Scanner(System.in)
  3. 通过对象获取数据int x = sc.nextInt();

待解决问题:<< 运算符不是不会改变符号位吗?为什么一个负数经过<<运算会变成正数?

		int c = -2147483647;
		System.out.println(c<<2);  打印的结果是4

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/86484760