编写代码如下:
package 第1章.java概要;
public class _2_操作符 {
//算术操作符
public static void testArithmeticOperator(){
int i = 123;
int j = 5;
System.out.println("i + j = " + (i+j));
System.out.println("i - j = " + (i-j));
System.out.println("i * j = " + (i*j));
System.out.println("i / j = " + (i/j));
System.out.println("i % j = " + (i%j));
System.out.println("i++ = " + (i++));
System.out.println("i = " + (i));
System.out.println("++i = " + (++i));
System.out.println("i = " + (i));
System.out.println("i-- = " + (i--));
System.out.println("i = " + (i));
System.out.println("--i = " + (--i));
System.out.println("i = " + (i));
int sum = i + j;
System.out.println("sum = " + sum);
i += j;
System.out.println("i+=j = " + i);
}
//关系操作符
public static void testRelationalOperator(){
int value = 10;
System.out.println("value == 10 is " + (value == 10));
System.out.println("value != 10 is " + (value != 10));
System.out.println("value != 11 is " + (value != 11));
System.out.println("value > 9 is " + (value > 9));
System.out.println("value < 9 is " + (value < 9));
System.out.println("value >= 10 is " + (value >= 10));
System.out.println("value <= 8 is " + (value <= 8));
}
//逻辑操作符
public static void testLogicalOperator(){
System.out.println("true && true is " + (true && true));
System.out.println("true && false is " + (true && false));
System.out.println("true || true is " + (true || true ));
System.out.println("true || false is " + (true || false));
System.out.println("false || false is " + (false || false));
System.out.println("!true is " + (!true));
System.out.println("!false is " + (!false));
int i = 10,j = 20;
System.out.println("|| 短路 is "+ ((i++)>5 || (j++)>2));
System.out.println("i = " + i + "j = " + j);
}
//位操作符
public static void testBitwiseOperator(){
int i= 15,j = 11;
System.out.println("i binary is " + Integer.toBinaryString(i));
System.out.println("j binary is " + Integer.toBinaryString(j));
System.out.println("i & j = " + (i&j) +",Binary = "+ Integer.toBinaryString(i&j));
System.out.println("i | j = " + (i|j) +",Binary = "+ Integer.toBinaryString(i|j));
System.out.println("i ^ j = " + (i^j) +",Binary = "+ Integer.toBinaryString(i^j));
System.out.println("~i = " + (~i) +",Binary = "+ Integer.toBinaryString(~i));
System.out.println("i << 2 = " + (i<<2) +",Binary = "+ Integer.toBinaryString(i<<2));
System.out.println("i >> 2 = " + (i>>2) +",Binary = "+ Integer.toBinaryString(i>>2));
int k = -1;
System.out.println("k << 2 = " + (k<<2) +",Binary = "+ Integer.toBinaryString(k<<2));
System.out.println("k >> 2 = " + (k>>2) +",Binary = "+ Integer.toBinaryString(k>>2));
System.out.println("k >>> 2 = " + (k>>>2) +",Binary = "+ Integer.toBinaryString(k>>>2));
}
//三元操作符
public static void testConditionOperator(){
System.out.println("condition operator trueCondition = " + (true ? "conditionTrue":"conditionFalse"));
System.out.println("condition operator trueCondition = " + (false ? "conditionTrue":"conditionFalse"));
}
//字符串操作符
public static void testStringOperator(){
String StringValue = "string value ";
int i = 1,j =2;
System.out.println(StringValue + i + j);
System.out.println(StringValue + (i + j));
System.out.println(i + j + StringValue);
StringValue += "Add Other String";
System.out.println(StringValue);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("算术操作符...");
testArithmeticOperator();
System.out.println("关系操作符...");
testRelationalOperator();
System.out.println("逻辑操作符...");
testLogicalOperator();
System.out.println("位操作符...");
testBitwiseOperator();
System.out.println("三元操作符...");
testConditionOperator();
System.out.println("字符串操作符...");
testStringOperator();
}
}
运行结果如下:
算术操作符...
i + j = 128
i - j = 118
i * j = 615
i / j = 24
i % j = 3
i++ = 123
i = 124
++i = 125
i = 125
i-- = 125
i = 124
--i = 123
i = 123
sum = 128
i+=j = 128
关系操作符...
value == 10 is true
value != 10 is false
value != 11 is true
value > 9 is true
value < 9 is false
value >= 10 is true
value <= 8 is false
逻辑操作符...
true && true is true
true && false is false
true || true is true
true || false is true
false || false is false
!true is false
!false is true
|| 短路 is true
i = 11j = 20
位操作符...
i binary is 1111
j binary is 1011
i & j = 11,Binary = 1011
i | j = 15,Binary = 1111
i ^ j = 4,Binary = 100
~i = -16,Binary = 11111111111111111111111111110000
i << 2 = 60,Binary = 111100
i >> 2 = 3,Binary = 11
k << 2 = -4,Binary = 11111111111111111111111111111100
k >> 2 = -1,Binary = 11111111111111111111111111111111
k >>> 2 = 1073741823,Binary = 111111111111111111111111111111
三元操作符...
condition operator trueCondition = conditionTrue
condition operator trueCondition = conditionFalse
字符串操作符...
string value 12
string value 3
3string value
string value Add Other String