运算符

敲一遍,敲一遍,在敲一遍!

/* 算术运算符演示 */
class Demo1 {
	public static void main(String[] args) {
		// 定义两个int类型变量
		int num1 = 10;
		int num2 = 20;
		
		// num1 + num2结果赋值给num1
		num1 = num1 + num2; // num1 = 30 num2 = 20
		// 变量在代码运行的过程中是会发生改变。
		num1 = num1 * num2; // num1 = 600 num2 = 20
		num1 = num1 - num2; // num1 = 580 num2 = 20
		num1 = num1 / num2; // num1 = 29 num2 = 20
		
		// 20 ÷ 29 = 0 ...... 20
		// 5 ÷ 2 = 2 ...... 1
		num1 = num2 % num1; // num1 = 20 num2 = 20
		
		/*
		num2的值从开始到最后没有发生改变
			num2从开始没有被赋值过
		*/
		System.out.println(num1);
		System.out.println(num2);
		
		
	}
}
/* 偷懒专用算术运算符 */
class Demo2 {
	public static void main(String[] args) {
		// 定义两个变量
		int num1 = 10;
		int num2 = 20;
		
		// num1 = num1 + num2;
		num1 += num2; // num1 = 30 num2 = 20;
		num1 *= num2; // num1 = 600 num2 = 20;
		num1 -= num2; // num1 = 580 num2 = 20;	 	
		num1 /= num2; // num1 = 29 num2 = 20;
		num1 %= num2; // num1 = 9 num2 = 20; num1 = num1 % num2; 29 % 20 ==> 9
		
		System.out.println(num1);
		System.out.println(num2);
	}
}
/* 关系运算符 */
class Demo3 {
	public static void main(String[] args) {
		// 定义一个boolean 类型变量
		boolean ret = true;
		
		// 5 > 10 结果赋值给ret 这个boolean类型变量
		ret = 5 > 10;
		System.out.println(ret); // false
		
		ret = 5 < 10;
		System.out.println(ret); // true
		
		ret = 5 >= 5;
		System.out.println(ret); // true
		
		ret = 5 <= 2;
		System.out.println(ret); // false
		
		ret = 5 != 5;
		System.out.println(ret); // false
		
		ret = 5 == 4;
		System.out.println(ret); // false
	}
}
/* 自增运算符前后关系演示 */
class Demo4 {
	public static void main(String[] args) {
		int num1 = 10;
		
		// 双引号内容是所见即所得
		/*
		自增运算符在操作数之后,首先操作数原始数据参与该行代码运行
		当前代码运行结束之后,再进行自增操作。
		先执行当前行代码,再执行自增操作
		*/
		System.out.println("num1++ : " + num1++); // num1++ : 10
		System.out.println("num1 : " + num1); // num1 : 11
		
		/*
		自增运算符在操作数之前,首先执行自增操作,num1 += 1;
		num1 ==> 12 然后在进行数据展示
		先执行自增,在参与当前行代码执行
		*/
		System.out.println("++num1 : " + ++num1); // ++num1 : 12
		System.out.println("num1 : " + num1); // num1 : 12
	}
}
/* 自减运算符演示 */
class Demo5 {
	public static void main(String[] args) {
		int num = 10;
		
		System.out.println("num-- : " + num--); // num-- : 10
		System.out.println("num : " + num); //  num : 9
		
		System.out.println("--num : " + --num); // num-- : 8
		System.out.println("num : " + num); //  num : 8
	}
}
/* 自增自减面试题1 */
class Demo6 {
	public static void main(String[] args) {
		int num = 5;
		int ret = num++ * ++num;
		
		System.out.println("ret : " + ret);
		System.out.println("num : " + num);
	}
}
/* 常见面试题2 */
class Demo7 {
	public static void main(String[] args) {
		int num = 5;
		
		++num++;
		/*
		Demo7.java:5: 错误: 意外的类型
                ++(num++);
                      ^
		  需要: 变量
		  找到:    值
		1 个错误
		*/
		
		
		System.out.println(num);
	}
}
/* 逻辑运算符演示 */
class Demo8 {
	public static void main(String[] args) {
		// 定义一个boolean类型的变量
		boolean ret = false;
		
		ret = 5 > 3 && 10 > 8;
		System.out.println("ret : " + ret); // true
		
		ret = 5 < 3 && 10 > 8;
		System.out.println("ret : " + ret); // false
		
		ret = 5 < 3 || 10 > 8;
		System.out.println("ret : " + ret); // true
		
		ret = 5 < 3 || 10 < 8;
		System.out.println("ret : " + ret); // false
		
		ret = !(5 > 3);
		System.out.println("ret : " + ret); // false
	}
}
/* 逻辑与短路原则 */
class Demo9 {
	public static void main(String[] args) {
		int num = 5;
		boolean ret = false;
		
		/*
		只要有错后面的就不看了吗 为了效率是吗
		
		逻辑与的情况下:
			同真为真,有假【即】假
			当出现一个条件为false之后,整个逻辑与表达式的结果为
			false,从false之后的其他所有条件都不会执行。
			
			计算机的节约性能问题!!!
		*/
		ret = num > 10 && ++num > 1;
		
		System.out.println("ret : " + ret);
		System.out.println("num : " + num);		
	}
}
/* 逻辑或短路原则问题 */
class Demo10 {
	public static void main(String[] args) {
		int num = 10;
		boolean ret = false;
		
		/*
		逻辑或短路原则
			有【真】即真,同假为假
			只要发现一个条件为真,整个表达式结果已经确定为真。
			从true条件开始其他条件不需要执行
		*/
		ret = num > 5 || ++num > 20;
		
		System.out.println("ret : " + ret); // true
		System.out.println("num : " + num); // 10
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值