java学习笔记——毕向东视频day03

这篇博客详细介绍了Java中的位运算符,包括其优点和应用,如获取二进制有效位和数值交换。此外,还讲解了三元运算符的使用格式和特点,并对比了它与if语句的区别。接着,文章深入阐述了if语句的三种格式及其注意事项。最后,探讨了switch选择结构的语法、适用类型、执行流程以及注意事项。
摘要由CSDN通过智能技术生成

2.5.5 位运算符

位运算符
运算符
运算
范例
<<
左移
3 << 2 = 12 --> 3*2*2=12
>>
右移
3 >> 1 = 1  --> 3/2=1
>>>
无符号右移
3 >>> 1 = 1 --> 3/2=1
&
与运算
6 & 3 = 2
|
或运算
6 | 3 = 7
^
异或运算
6 ^ 3 = 5
~
反码
~6 = -7
位运算符的细节
<<
空位补0,被移除的高位丢弃,空缺位补0。
>>
被移位的二进制最高位是0,右移后,空缺位补0;
最高位是1,空缺位补1。
>>>
被移位二进制最高位无论是0或者是1,空缺位都用0补。
&
二进制位进行&运算,只有1&1时结果是1,否则是0;
|
二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;
^
相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0
不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
最高位是符号位(正数为0,负数为1)

位运算优点:运算速度极快

位运算缺点:只能用于*2或/2运算


&可用于获取二进制中的有效位1

a = a ^ b;//a = 3 ^ 7;
b = a ^ b;//b = 3 ^ 7 ^ 7;b = 3;
a = a ^ b;//a = 3 ^ 7 ^ 3;a = 7;


对两个整数变量的值进行互换

三、tip!异或

a = a ^ b;//a = 3 ^ 7;
b = a ^ b;//b = 3 ^ 7 ^ 7;b = 3;
a = a ^ b;//a = 3 ^ 7 ^ 3;a = 7;

2.5.6 三元运算符

格式

•(条件表达式)?表达式1:表达式2;

•如果条件为true,运算后的结果是表达式1;

•如果条件为false,运算后的结果是表达式2;


2.6.1 判断结构

if语句

三种格式:

1.if(条件表达式)

{

执行语句;

}

2.if(条件表达式)

{

执行语句;

}

else

{

执行语句;

}

3.if(条件表达式)

{

执行语句;

}

else if (条件表达式)

{

执行语句;

}

……

else

{

执行语句;

}

 

if语句特点:

a,每一种格式都是单条语句。

b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。(三元运算符可以理解为if else的简写形式

c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

2.6.2 选择结构

switch语句

格式:

switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

…...

default:

执行语句;

break;

}

 

switch语句特点:

a,switch语句选择的类型只有四种:byte,short,int , char。

b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

c,结束switch语句的两种情况:遇到break,执行到switch语句结束。

d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

一、通过第三方变量

int temp = a;
a = b;
b = temp;

二、通过和的形式。有个弊端,当两个数较大时,可能会超出int范围

a = a + b;//a = 3 + 7;
b = a - b;//b = 3 + 7 -7;b = 3;
a = a - b;//a = 3 + 7 -3;a = 7; 

2.5.6 三元运算符

格式

•(条件表达式)?表达式1:表达式2;

•如果条件为true,运算后的结果是表达式1;

•如果条件为false,运算后的结果是表达式2;

 

2.6.1 判断结构

if语句

三种格式:

1.if(条件表达式)

{

执行语句;

}

2.if(条件表达式)

{

执行语句;

}

else

{

执行语句;

}

3.if(条件表达式)

{

执行语句;

}

else if (条件表达式)

{

执行语句;

}

……

else

{

执行语句;

}

 


if语句特点:

a,每一种格式都是单条语句。

b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。(三元运算符可以理解为if else的简写形式

c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

2.6.2 选择结构

switch语句

格式:

switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

…...

default:

执行语句;

break;

}

 

switch语句特点:

a,switch语句选择的类型只有四种:byte,short,int , char。

b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

c,结束switch语句的两种情况:遇到break,执行到switch语句结束。

d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

 

2.6.3 循环结构
代表语句:while , do while , for
while语句格式:
while(条件表达式)
{
执行语句;
}

do while语句格式:
do
{
执行语句;
}while(条件表达式);
do while特点:
是条件无论是否满足,循环体至少执行一次。

for语句格式:
for(初始化表达式 循环条件表达式 循环后的操作表达式)
{
执行语句;(循环体)
}
注:
   a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
   b,while与for可以互换, 区别在于for为了循环而定义的变量在for循环结束就是在内存中释放(局部变量)。而while循环使用的变量在循环结束后还可以继续使用。
   c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

2.6.4 其他流程控制语句
break(跳出),  continue(继续)
break语句:应用范围:选择结构和循环结构( 默认跳出当前循环)。
continue语句:应用于循环结构。
注:
a,这两个语句离开应用范围,存在是没有意义的。
b,这个两个语句单独存在下面都不可以有语句,因为执行不到。
c,continue语句是 结束本次循环继续下次循环
d,标号的出现,可以让这两个语句作用于指定的范围。
例子:(其中outer和inner为标号)

outer:for (int x = 0; x<3; x++)
{
    inner:for (int y = 0; y<4; y++)
    {
        System.out.println("x="+x);
        break outer;
    }
}

tip:\t 制表符(使输出对齐)

      利用\"打印带引号的内容。例子:"\"book\"";







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值