Java基础

Posted on 2017-07-15 21:38  凯哥学堂  阅读(167)  评论(0编辑  收藏  举报

一、位运算符

位运算符就是把数值的二进制里面的位上面的0和1来比较或运算。0为false,1为true。

&(与) |(或) ~(非) ^(异或) <<(向左位移) >>(向右位移) >>>(无条件向右位移)

&(与) 两边位数都为1(true)则给1(true),不用则给0(false) 例如:56&98

56 0111000 & 98 1100010

结果 0100000

|(或) 两边有一边为1(true)就给1(true),否则给0(false) 例如56|98

56 0111000 | 98 1100010

结果 1111010

~是取反的意思,在二进制里每一位都取反值:

例如98的二进制为:

00000000000000000000000001100010

每个位上取反值:

11111111111111111111111110011101

System.out.println(~98);

结果为:-99

^异或就是不等于的意思,判断两个数值在位上不相同则给1,相同给0.

例如:98^56

98 1100010

^

56 0111000

结果1011010

<<(向左位移)数值的二进制高位删除,低位补零.结果和乘法相似。 例如:98<<4

00000000000000000000000001100010

高位删除四个 地位添加4个零

00000000000000000000011000100000

(>>)(向右位移)高位如果是1 就补1 高位如果是0 就补0低位删除。

例如:98>>4

00000000000000000000000001100010

因为高位是0 所以高位加的就是0

00000000000000000000000000000110

例如:-98>>4

11111111111111111111111110011110

因为高位是1 所以高位加的就是1

11111111111111111111111111111001

(>>>)(无条件向右位移)不管高位上是0还是1,高位只加0低位删除。

-98>>>4

11111111111111111111111110011110

高位上只加零

00001111111111111111111111111001

位运算符的用处:

1.用于加密

2.用于不可解密的加密

3.减少储存空间等

2.运算符的优先级 ()

! ++ --

  • / %

<< >> >>>

< <= >= >

== !=

^

|

&&

||

+= -= *= /= %= =

优先级排序从上到下。

二、条件分支语句

1.三元运算符:

条件?值:值

image

2.if else 语句 image

例如1

if(条件){

结果为true,运行

}else

{

结果为false,运行

}

例如2

if(条件){

结果为ture.运行

}else if(条件){

结果为ture.运行

}else if(条件){

结果为ture.运行

}else if(条件){

结果为ture.运行

}

附加知识点:在控制台输入数值给到指定的变量。

image

还可以这样写:

Import java.util.Scanner;
//省略
Scanner input=new Scanner(System.in);
//省略
Int shu=input.nextInt();