java 符号总结

package com.tree;


public class Operator {


public static void main(String[] args) {
// 算术运算符
testArithmeticOperator();
// 赋值运算符
testAssignmentOperators();
// 比较运算符
testComparisonOperator();
// 逻辑运算符 和 位运算符 和 位移操作符
testLogicalAndBitwiseOperator();
// 三元运算符
testThreeElementOperator();
}


/**
* 算术运算符 : + - * / % ++(前后) --(前后)
*/
private static void testArithmeticOperator() {
// + : 相加、正数数、字符串连接符
System.out.println(10 + 10);
System.out.println(+10);
System.out.println("asfd" + "asdf");
// - : 相减 、负数
System.out.println(10 + 10);
System.out.println(-10);
// * : 相乘
System.out.println(10 * 10);
// / :想除
System.out.println(10.999 / 5);
// % : 取模,求余
System.out.println(18 % 10);
// ++ :自增 ++前,先做自增 ++后,先做运算后自增
int i = 9;
System.out.println(10 + ++i);
int j = 9;
System.out.println(10 + j++);
int k = 9;
System.out.println(10 * ++k);
int m = 9;
System.out.println(10 % m++);
// -- :自增
int i2 = 9;
System.out.println(10 + --i2);
int j2 = 9;
System.out.println(10 + j2--);
int k2 = 9;
System.out.println(10 * --k2);
int m2 = 9;
System.out.println(10 % m2--);
// 运行结果 :
// 20
// 10
// asfdasdf
// 20
// -10
// 100
// 2.1998
// 8
// 20
// 19
// 100
// 1
// 18
// 19
// 80
// 1
}


/**
* 赋值运算符 : = , +=, -=, *=, /=, %=
*/
private static void testAssignmentOperators() {
// = 赋值运算,赋值给i,然后打印出i
int i = 100;
System.out.println(i = 1);
// += 先做相加,再赋值
int k = 10;
System.out.println(k += 10);
int j = 10;
// -= 先做相减,再赋值
System.out.println(j -= 10);
int m = 10;
// -= 先做相减,再赋值
System.out.println(m *= 10);
int n = 10;
// -= 先做相减,再赋值
System.out.println(n /= 10);
int x = 10;
// -= 先做相减,再赋值
System.out.println(x %= 10);
// 运算结果
// 1
// 20
// 0
// 100
// 1
// 0


}


/**
* 比较运算符:== != > < >= <= instanceof 返回boolean类型
*/
private static void testComparisonOperator() {
System.out.println(1 == 2);
System.out.println(1 != 2);
System.out.println(1 > 2);
System.out.println(1 < 2);
System.out.println(1 >= 1);
System.out.println(1 <= 1);
System.out.println("AAA" instanceof String);
// 运行结果
// false
// true
// false
// true
// true
// true
// true
}


/**
* 逻辑运算符 和 位运算符 : &(与) &&(短路) |(或) ||(短路) !(非) ^(异或) ~(取反) >>(右移)
* <<(左移) >>>(无符号右移)
*/
@SuppressWarnings("unused")
private static void testLogicalAndBitwiseOperator() {
// & 可以用于逻辑运算,也可以用作位运算
System.out.println(false & true);
System.out.println(2 & 6);// 2的二进制:010 ,6的二进制:110 ,结果二进制:010 ,二进制的0&0=0, 1&0=0, 1&1=1
// && 用于逻辑运算 ,与&不同点: 如果表达式第一个为false,则后面的表达式不再执行,但&都会执行
System.out.println(false && returnTrue());// 不会执行returnTrue方法
// | 可以用于逻辑运算,也可以用作位运算
System.out.println(false | true);
System.out.println(2 | 4);// 2的二进制:010 ,4的二进制:100 ,结果二进制:110 ,二进制的0|0=0, 1|0=1, 1|1=1
// || 用于逻辑运算 ,与|不同点: 如果表达式第一个为true,则后面的表达式不再执行,但|都会执行
System.out.println(true || returnFalse());// 不会执行returnFalse方法
// ! 取反
System.out.println(!true);
// ^ 异或 ,也可以做位移运算
System.out.println(true ^ false);
System.out.println(true ^ true);
System.out.println(false ^ false);
System.out.println(2 ^ 6);// 2的二进制:010 ,6的二进制:110 ,结果二进制:110 ,二进制的0^0=0, 1^0=1, 1^1=0
// ~ 取反 变符号,然后减1
System.out.println(~0);
System.out.println(~-58);
System.out.println(~58);
// >> 想右位移,高位补0
// 16的二进制:00000000 00000000 00000000 00010000
// 向右移两位:00000000 00000000 00000000 00000100
System.out.println(16 >> 2);
// >> 想左位移,末位补0
// 2的二进制:00000000 00000000 00000000 00000010
// 向右移两位:00000000 00000000 00000000 00001000
System.out.println(2 << 2);
// >>> 无符号右移,高位补0
// -8的二进制:10000000 00000000 00000000 00001000
// -8的二进制:00100000 00000000 00000000 00000010
System.out.println(-8 >>> 2);
//运行结果
// false
// 2
// false
// true
// 6
// true
// false
// true
// false
// false
// 4
// -1
// 57
// -59
// 4
// 8
// 1073741822


}

/**
* 三元运算符 : ? 
*/
private static void testThreeElementOperator() {
System.out.println(isEvenNumber(3) ? "偶数" : "奇数");
}


private static boolean returnTrue() {
return true;
}


private static boolean returnFalse() {
return true;
}

/**
* 断是否是偶数
* @return
*/
public static boolean isEvenNumber(int i) {
if (i % 2 == 0) {
return true;
}
return false;
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值