大龄屌丝自学笔记--Java零基础到菜鸟--009
位运算符,键盘录入
位运算,必须先把数据转换成二进制(补码)。
1、与运算、或运算、异或运算、反码:“&” , “|” , “^” , “~” 。
与运算 :有0则0,如:3&4=0。
或运算 :有1则1,如:3|4=7。
异或运算:相同则0,不同则1,如3^4=7。
反码 :按位取反,0则1,1则0,如~3=-4。
异或运算的特点:a^b^b=a , a^b^a=b。
1 class Fin{ 2 public static void main(String[] args){ 3 int a=1; 4 int b=2; 5 6 //a、b值互换 7 a=a^b; 8 b=a^b; //b=a^b^b=a 9 a=a^b; //a=a^b^a=b 10 } 11 }
2、左移、右移、无符号右移: “<<” , “>>” , “>>>” 。
左移:左侧高位丢弃,右侧补零,如:3<<2=3*(2^2)=12。数据m左移n位,即m乘以2的n次幂。
右移:右侧低位丢弃,左侧高位是0则左侧补0,左侧高位是1则左侧补1,如:24>>2=24/(2^2)=6。数据m右移n位,即m除以2的n次幂。
无符号右移:右侧低位丢弃,左侧高位补0,如:24>>>2=24/(2^2)=6,-24>>>2=1073741818。
3、键盘录入
1 import java.util.Scanner; 2 3 class Fin{ 4 public static void main(String[] args){ 5 Scanner sc=new Scanner(System.in); 6 System.out.println("请输入一个数字"); 7 int n=sc.nextInt(); //只能输入数字,输入字母会报错 8 9 System.out.println("输入的数字是:"+n); 10 } 11 }