黑马程序员JAVA 020---030 小结

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

021_赋值和比较运算符_黑马程序员_Java基础视频

赋值预算符

int x=3;

// +=  -=  *=   /=    %=

x+=4;

short s=4;

// s=s+5;这里有2次运算 ,s+5  自动提升为4个字节,无法赋给2字节的S变量

s+=5;//这个是正确的上面是错误的,这里只有1次运算,这是将2数的和赋予给S,所以还是2字节的S。(这里有自动转换操作)

比较运算符

==   !=  <  >  <=  >=

022_逻辑运算符_黑马程序员_Java基础视频

逻辑运算符用于连接boolean类型的表达式

& 逻辑于

true &true=true

true&false=false

false&true=false

false&false=false

|   逻辑或

true|true=true

true|false=true

false|true=true

false|false=false

^ 异或   就是和|有点不一样。当true^true=false

true^true=false;

true^false=true;

false^true=true;

false^false=false;

!逻辑非 

&&  双于  a>3 && a<6;左边成立的情况下,开始计算右边,左边为假时,右边不运算。

&和&&的特点,

&无论左边是true是false,右边都运算,&&当左边为false时,右边不运算。

|和||的特点。

|:两边都参与运算

||:当左边为true时,右边不运算。

实际应用中都使用&& 和||

023_位运算符(左移右移)_黑马程序员_Java基础视频

024_位运算符(与-或-异或)_黑马程序员_Java基础视频

025_位运算符(练习)_黑马程序员_Java基础视频

位运算符

<<左移 

>>右移

>>>无符号右移

>>最高位补什么,右原有数据的最高值而定

    如果最高位为0,右移后,用0补空位。

    如果最高位1,右移动后,用1补空。

>>>:无论最高位是什么,右移后,都用0补。

&于运算

|或运算

~反码  其实就是取反

^异或,异或两次,还是原数据。

位运算练习

练习

1.最有效率的方式算出2乘以8等于几?

2.对两个整数变量的值进行互换(不需要第三方变量)?

1.位运算是高效率的运算方法。

2<<3

2.

(1),int n=3,m=8;

n=m+n;

m=n-m

n=n-m  //如果n和m的值非常大,容易超出int范围,这种方法容易损失精度。不需要第三方变量交换数据


(2)n=n^m;

    m=n^m;//(n^m)^m

    n=n^m;//(n^m)^n;这种方法是技巧是方式,非常好的啊。

m=n^m

n=m^n;

m=m^n

(3)int n=3,m=8,temp.

temp=n;

n=m;

m=temp  //一般开发使用这种方式开发。但是我就不会用。我只用最好的,哈哈。

026_位运算符(练习2&三元运算符)_黑马程序员_Java基础视频

三元运算符

条件表达式?表达式1:表达式2.

true就运行表达式1

false就运行表达式2

temp=n1>9?(char)(n1-10+'A'):n1;

temp将是数字型,不会是字符型。


(char)(n-10+'A'):n1;强制转换了之后又会和n1自动再转回数字型。所以无效。

027_语句(if)_黑马程序员_Java基础视频

028_语句(if练习)_黑马程序员_Java基础视频


程序流程控制。

顺序结构

判断结构  if

选择结构 switch

循环结构

If 有3大方式

(1) if //如果if没有大括号的话,只控制1条语句。

  (2) if   else 结构 简写格式:变量={条件表达式}?表达式1:表达式2

三元运算符的特点,好处可以简化代码

                             弊端:因为是一个运算符,所以运算完要有一个结果。

(3)if elseif ....else

练习

/*需求:根据客户提供的月份,输出季节

12 ,1,2冬季    3,4,5春季   ,6,7,8,夏季,9,10,11秋季

*/

class IfTest

{

public static void main(string[] args)

{

int aut=4;

if(aut<1||aut>12)

system.out.println("你的输入有误,请重新输入“);

else if(aut>=3&&aut<=5)

system.out.println("春季“);

else if(aut>=5&&aut<=8)

system.out.println("夏季“);

else if(aut>=9&&aut<=11)

system.out.println("秋季“);

else

system.out.println("冬季”);

}

}

029_语句(Switch)_黑马程序员_Java基础视频

030_语句(Switch练习)_黑马程序员_Java基础视频

switch  case  break  default

选择     情况    跳出    所有情况不对默认情况选择此项

class SwitchDemo

{

public static void man(string[] args)

{

int x=3;

switch(x)     //switch  只能使用4个变量byte  short int char 不可以使用float 和boolean.

{

case 4:

system.out.println("a");

break;             //如果break不写的话,就会一直读取下去直到遇到break为止。

case 6:

system.out.println("b");

break;

case 2:

system.out.println("c");

break;

default:

system.out.println("d");

break;         // default后面的break可以省略不写。编译到此也会退出。

}    //这里面所有的语句顺序可以随机调换,不影响正常编译。

}

}

if 和switch应该选择哪一个对于程序员是非常重要的。

switch 在数字不多的时候switch更高效一些。

if在区间和boolean数值用更合适。

/*if 和switch语句很像。

具体什么场景下,应用哪个语句呢?

如果判断的具体数值不多,而是符合byte short int char这四种类型。

虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。

其他情况对区间判断,对结果为boolean类型判断,使用if,if使用范围更广。

*/



你可能感兴趣的:(黑马程序员JAVA 020---030 小结)