概述
一、关系运算符
简单的关系运算符,不需要多解释,直接上代码练习一下就OK了。
1、代码
float e=0;
a=3;
b=4;
c=5;
d=0;
System.out.println("nna="+a+",b="+b+",c="+c+",d="+d+",e="+e);
System.out.println("a>0:"+(a>0));
System.out.println("b<c:"+(b<c));
System.out.println("d<=0:"+(d<=0));
System.out.println("b*b-4*a*c>=0:"+(b*b-4*a*c>=0));
System.out.println("a!=b:"+(a!=b));
System.out.println("d==e:"+(d==e));
2、运行结果
二、逻辑运算符
也没啥好说的,就三个,
&&
||
!
来个小练习,一笔带过。
1、代码
int year=2022;
if( (year%4==0 && year%100!=0) || (year%400==0) || (year%3200==0 && year%172800==0))
System.out.println("闰年");
else
System.out.println("非闰年");
2、运行结果
三、位运算符
终于,来了点像样的东西。
1、原码、反码与补码
(1)原码
数值前,加上符号位,0表示正,1表示负。
(2)反码
正数的反码,与原码相同。
负数的反码,是对其原码诸位取反,但符号位除外。
(3)补码
在计算机中,数值一律用补码表示。
原因在于,使用补码可以将符号位和数值位统一处理。
同时,加法与减法也可以统一处理。
此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
正整数的补码与原码相同。
负整数的补码是其反码加1.
2、位运算符
常用的(熟悉的):
~ & | ^
不常用的(有点陌生的):
<<
>>
>>>
(1)>>n
右移n为,最左边补符号位,就是除以2的n次方的意思。
(2)<<n
左移n位,最右边补0,就是乘以2的n次方的意思。
(3)>>>n
无符号右移n,忽略符号位,空位都以0补齐。
3、示例
代码
b=-13;
System.out.println("nn"+a+"的原码:0000 0110");
System.out.println(""+a+"的反码:0000 0110");
System.out.println(""+a+"的补码:0000 0110");
System.out.println("nn"+b+"的原码:1000 1101");
// 负数反码是其除了符号位以外的相反数
System.out.println(""+b+"的反码:1111 0010");
// 负数的补码是其反码加1
System.out.println(""+b+"的补码:1111 0011");
// 右移运算符,在最左边补符号位。
System.out.println(""+b+">>2的补码:1111 1100(11)");
System.out.println(""+a+"的补码:0000 0110");
System.out.println(""+a+">>2的补码:0000 0001(10)");
// 左移运算符,在最右边补0.
System.out.println(""+a+"<<2的补码:0001 1000");
System.out.println(""+b+"的补码:1111 0011");
System.out.println(""+b+"<<2的补码:1100 1100");
System.out.println(""+b+"<<2的反码:1100 1011");
System.out.println(""+b+"<<2的原码:1011 0100");
运行结果
四、其他运算符
new、创建对象或者为数组分配空间
instanceof、判断对象是否是类的实例
实例
Integer aa=3;
if(aa instanceof Integer)
System.out.println(aa+"是整数");
else
System.out.println(aa+"不是整数");
五、运算符的优先级
1、从左到右
.
()
[]
2、从右到左
+
-
++
- -
~
!
3、从左到右
*
/
%
4、从左到右
+
-
5、从左到右
<<
>>
>>>
6、从左到右
<
<=
>
>=
instanceof
7、从左到右(以下8-12都是)
==
!=
8、&
9、|
10、^
11、&&
12、||
13、?:(从右到左)
14、=(从右到左)
15、混合赋值运算符(从右到左)
*=
/=
%=
+=
-=
<<=
>>=
>>>=
&=
|=
^=
最后
以上就是自觉皮卡丘为你收集整理的java入门学习笔记(三)—— 运算符与表达式、关系运算符、逻辑运算符、位运算符、其他运算符、运算符的优先级一、关系运算符二、逻辑运算符三、位运算符四、其他运算符五、运算符的优先级的全部内容,希望文章能够帮你解决java入门学习笔记(三)—— 运算符与表达式、关系运算符、逻辑运算符、位运算符、其他运算符、运算符的优先级一、关系运算符二、逻辑运算符三、位运算符四、其他运算符五、运算符的优先级所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复