------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使用范围更广。
*/