黑马程序员技术交流社区
标题: Java基础_运算符 [打印本页]
作者: 徐鹏辰 时间: 2015-7-21 22:16
标题: Java基础_运算符
算术运算符
b=a++; a先赋值给b,再自增。
b=++a; a先自增,再赋值给b。
总之,不管加号在前 还是后,a都自增。
字符串数据与任何数据使用+都是相连接,最终都会变成字符串。
转义字符 通过\ 来转变后面字母或者符号的含义。
\n:换行。
\b:退格。相当于Backspace
\r:按下回车键。Windows系统,回车符是由\r\n两个字符来表示
\t:制表符。相当于tab键。
赋值运算符
short s=3;
s=s+5; 编译失败,因为s会被提升为int类型,运算后结果还是int类型。无法赋值给short类型。
s+=5; 编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。
比较运算符
instanceof 检查是否是类的对象。
逻辑运算符
&和&&的特点:
&:两边都参与运行。
&&:当左边为false时,右边不运行。
|和||的特点:
|:两边都参与运行。
||:当左边为true时,右边不运行。
位运算符
6个运算符:<<左移 >>右移 >>>无符号右移 &与运算 |或运算 ^异或运算 ~反码
<<左移 空位补0,被移除的高位丢弃,空缺位补0。
相当于乘以2的倍数;移n位,就是乘以2的n次幂。
>>右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
相当于除以2的倍数;移n位,就是除以2的n次幂。
>>>无符号右移 被移位二进制最高位无论是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
~反码 二进制取反,1变0,0变1
&的规律:有假则假; |的规律:有真则真; ^的规律:同假异假(真--1,假--0)
异或的应用
一个数异或同一个数两次,结果还是原数。(如a^b^b=a)
该方法可用于加密或换位!
三元运算符
格式:(条件表达式)?表达式1:表达式2;
true返回表达式1;false返回表达式2。
好处:简化if else代码;
弊端:因是运算符,故运算完必须要有一个结果。
if与switch的区别
判断的具体数值不多,且符合byteshort int char四种类型,建议使用switch语句(效率稍高)。
对于区间或结果为boolean类型使用if语句(使用范围广)
while与do while的区别
while语句先判断条件,只有条件满足才执行循环体。
do while语句先执行循环体,再判断条件,条件满足,再继续执行循环体。
简单的说,do while:无论条件是否满足,循环体至少执行一次。
for与while的区别
对于变量来讲,如果该变量仅仅用于控制变量的循环次数,只作为循环增量存在,用for(优化内存);
变量有自己的作用域。
for(int y=0;y<3;y++)
{
}
以上写成这种
int y=0;
for( ;y<3; )
{
y++;
} 也对,但是这种直接写while 即可。
无线循环的最简单表现形式
for( ; ; ){ } 对于for不写条件表达式默认为true
while(true){ }
for循环嵌套
外循环控制行数,内循环控制每一行的列数
两个for都++时的一般规律
尖朝上,可改变条件,让条件随着外循环变化;
尖朝下,可以改变初始化值,让初始化随着外循环变化。
break与continue的特点
break语句:应用于选择结构和循环结构
continue语句:应用于循环结构
这两个语句单独存在时,下面都不可以有语句,因为执行不到。
此标号的出现可以让这两个语句作用于指定范围。
作者: qiyongjian 时间: 2015-7-21 22:19
赞赞赞赞
作者: guohognbo 时间: 2015-7-24 22:49
"+"可以表示加法,也可以表示字符串的连接符
作者: 噜啦啦噜啦啦 时间: 2015-7-24 22:51
赞一个 赞一个
作者: 徐鹏辰 时间: 2015-8-4 22:48
嗯嗯
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |