大龄屌丝自学笔记--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 }
posted @ 2015-08-23 17:24  ilmari  阅读(137)  评论(0编辑  收藏  举报