JAVA!!双目运算符
发布网友
发布时间:2022-04-28 17:44
我来回答
共5个回答
热心网友
时间:2022-06-21 04:14
双目运算符就是运算符的左右两边要同时有数据,即运算符需要两个操作数才能进行运算。
java本身有单,双,三这三个运算符,
单目:++,--,+= ~....这些
三目就只有一个: 表达式1?表达式2 ;表达式3
它等价于 if(表达式1){表达式2 }else{表达式3}
3>4?{System.out.print("true");};{System.out.print("false");} 结果是 "false"
其余如加减等等就是双目(正负号除外)
热心网友
时间:2022-06-21 04:15
双目运算符是字符的左右两边要同时有数据,即双目运算符就是指该运算符需要两个操作数才能进行运算。
<<是移位操作符,运算对象是二进制的“位”
4二进制编码 100 (2的2次方)
a<<3就是100向左移3位,低位补0,即100000,转化为十进制就是32 (2 的5次方)
a<<3 做了移位运算但没有赋值给任何变量。
热心网友
时间:2022-06-21 04:15
移位运算符的面向对象也是二进制的“位”。可以单独用移位运算符来处理int型数据。它主要包括:左移位运算符(<<)、“有符号”右移位运算符(>>)、“无符号”右移运算符(>>>)
1)左移位运算符
左移位运算符,用符号“<<”表示。它是将运算符左边的对象向左移运动运算符右边指定的位数(在低位补0)。
2)“有符号”右移运算符
“有符号”右移运算符,用符号“>>”表示。它是将运算符左边的运算对象向右移动运算符右侧指定的位数。它使用了“符号扩展”机制,也就是说,如果值为正,在高位补0,若为负,则在高位补1。
3)“无符号”右移运算符
“无符号”右移运算符,用符号“>>>”表示。它同“有符号”右移运算符的移动规则是一样的,惟一的区别就是:“无符号”右移运算符,它采用了“零扩展”,也就是说,无论值为正负,都在高位补0。
/*移位运算符测试*/
public class BitMotion
{
public static void main(String[] args)
{
int a = 15;
int b = 2;
int x = a << b;
int y = a >> b;
int z = a >>> b;
System.out.println(a + "<<" + b + "=" + x );
System.out.println(a + ">>" + b + "=" + y);
System.out.println(a + ">>>" + b + "=" + z);
}
}
输出结果:
15 << 2 =60
15 >> 2 = 3
15 >>> 2 =3
热心网友
时间:2022-06-21 04:16
我是这么理解的.
4的二进制编码是:100
a<<3就是向左移3位,也就是:100000,十进制就是32
热心网友
时间:2022-06-21 04:16
<<是单目运算符
=也是单目运算符
=是赋值运算符,是将"="右边的值赋给左边的变量
<<是左位移运算符,a<<3是指将a 的值向左移位,移3位