100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Java_表达式和运算符(算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符和

Java_表达式和运算符(算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符和

时间:2024-04-13 09:54:46

相关推荐

Java_表达式和运算符(算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符和

Java_运算符和表达式

运算符算术运算符:+、-、*、/、 %、++、--加法(+)除法(/)取余(%)关系运算符:<、>、<=、>=、==、!=逻辑运算符:&、|、!、^、&&、||位运算符:&(位与)、|(位或)、^(异或)、~(取非)、>>(右移)、<<(左移)、>>>(无符号右移)Integer.toBinaryString() 一个整数的二进制表达&(位与)、|(位或)、^(异或)、~(取非)<<(左移)、>>(右移)>>>(无符号右移)赋值运算符:=、+=、-=、*=、/=、%三元运算符:?表达式

运算符

算术运算符:+、-、*、/、 %、++、–

加法(+)

可以表示数值的相加可以表示字符串的联接 eg: “123”+“abc” —> “123abc”把非字符串转换成字符串 eg: “x”+123 —> “x123”整数变量的运算结果至少是int型 eg: byte b3=b1+b2; // error,至少为int型如果有一个整数变量是long型,那么运算结果是long型

public class Demo {public static void main(String[] args) {System.out.println(123);System.out.println('A');System.out.println(1+3);System.out.println('a'+1);System.out.println(" "+'a'+1);}}

运算结果:

除法(/)

除法/的运算结果与运算对象的数据类型有关,若两个数都是int,则商就是int,若商有小数,则截去小数部分。eg: 16 / 5 == 3;若两个对象中有一个或两个都是浮点型数据,则商也是浮点型,不截去小数部分。eg: 16 / 5 == 3.20000;

取余(%)

Java中允许取余运算符的被除数和除数是实数(与C/C++是不同的),但所得余数的正负只和被除数相同

eg: double x = 1 % -0.3;

System.out.println(x); => 0.100000000003

关系运算符:<、>、<=、>=、==、!=

逻辑运算符:&、|、!、^、&&、||

异或^ :不同,返回真;相同,返回假。对于boolean型结果的表达式进行运算,运算的结果都是boolean型。&和&&的区别在于:如果使用&,无论任何情况,两边的表达式都会参与计算;而当&&的左边为flase时,则不会计算其右边的表达式。

位运算符:&(位与)、|(位或)、^(异或)、~(取非)、>>(右移)、<<(左移)、>>>(无符号右移)

Integer.toBinaryString() 一个整数的二进制表达

位操作都是对二进制而言的,但是我们平常使用的都是十进制。所以在开始学习之前,需要掌握一个整数的二进制表达是多少。通过Integer.toBinaryString() 方法,将一个十进制整数转换为一个

public class Demo {public static void main(String[] args) {int i = 5;String b = (Integer.toBinaryString(i));System.out.println(i+" 的二进制表达是: "+b); // 5 的二进制的表达是:101}}

&(位与)、|(位或)、^(异或)、~(取非)

&(位与):两边全是真时为真,否则为假。|(位或):有一个为真时就为真,无真时为假。^(异或):相同时为假,不同时为真。~(取非):取反。

<<(左移)、>>(右移)

左移:根据一个整数的二进制表达,将其每一位都向左移动,最右边一位补0右移:根据一个整数的二进制表达,将其每一位都向右移动注意:对于正数, 带符号右移 >> 会把所有的位右移,并在最前面补0。对于负数, 带符号右移 >> 会把所有的位右移,并在最前面补1。

>>>(无符号右移)

如果是一个负数,那么对应的二进制的第一位是1。无符号右移>>>会把第一位的1也向右移动,导致移动后,第一位变成0。这样就会使得负数在无符号右移后,得到一个正数

public class Demo {public static void main(String[] args) {int i = 6;int j = -4;int k = -10;System.out.println(Integer.toBinaryString(i));//6的二进制是110System.out.println(Integer.toBinaryString(j));//-4的二进制是11111111111111111111111111111100System.out.println(Integer.toBinaryString(k));//-10的二进制是11111111111111111111111111110110System.out.println(i<<1);//6向左移1位后,变成1100,对应的10进制是12 System.out.println(i>>1);//6向右移1位后,变成11,对应的10进制是3 System.out.println(j<<1);//-4向左移1位后,变成-1000,对应的10进制是-8 System.out.println(j>>1);//-4向右移1位后,变成-10,对应的10进制是-2//-10无符号向右移1位,符号位也会向右移,第一位就变成了0//得到01111111111111111111111111111011,对应的十进制是2147483643System.out.println(k>>>1);}}

赋值运算符:=、+=、-=、*=、/=、%

运算符左边的操作数必须是变量,右边的操作数必须是表达式,两边的数据类型必须兼容。例子:y=x=2+5; // 即y=(x=2+5)

m+=m*=n-=mn; // 即m=m+(m=m(n=n-m*n))

三元运算符:?

表达式?值1:值2;

如果表达式为真 返回值1;如果表达式为假 返回值2。

表达式

定义: 表达式:用运算符将操作数连接起来的符合语法规则的运算式。操作数:可以是常量、变量和方法调用。 分类:算术表达式、布尔表达式、字符串表达式 表达式的数据类型由运算结果的数据类型决定。操作数的数据类型必须与运算符相匹配。 运算符优先级

Java_表达式和运算符(算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符和三元运算符)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。