0基础学Java(3)(运算符)

1.运算符

1.1 算术运算符

开发中运用的算术运算符:

+ - *  / % () =

算术运算符展示

// 算术运算符演示
class Demo1 {
	public static void main(String[] args) {
		// 定义两个 int 类型变量
		int num1 = 10;
		int num2 = 20;
		
		/*
		注意事项:
			1. 在代码运行过程中,变量存储数据内容有可能会随着代码执行发生改变。
			2. 变量存储数据有且只能是在被赋值的情况下才可以改变,未赋值不变
		*/
		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;
		num1 = num1 % num2; // num1 = 9 num2 = 20;
		
		System.out.println(num1);
		System.out.println(num2);	
	}
}

1.2增强版运算符

+= -= *= %= /=
案例:
    int num1 = 10;
    int num2 = 20;
    
    num1 = num1 + num2; ==> num1 += num2;

优势:
    1. 减少变量书写,避免错误!!!
    2. 带有一定的特殊功能,包含隐含类型转换!!!

 1.3 自增自减运算符

【建议】
    1. 自增自减充满了歧义性,开发中尽量减少自增自减运算符使用。
    2. 推荐使用 += 1 和 -= 1 替代自增自减运算符。
    3. 自增自减运算符操作单独成行

【语法要求】
    1. 自增自减运算符有且只可以操作【变量】
    2. 自增自减运算符在变量之前或者变量之后有不同的效果。

【语法效果】
    1. 自增自减运算符在变量之后,首先取值变量保存数据内容,参与当前行代码执行,再来执行自增自减操作
    2. 自增自减运算符在变量之前,首先执行自增自减操作,对变量数据进行修改,再取值变量保存数据内容,参与当前行代
    码执行。

// 面试题1
int num = 5;
int ret = num++ * ++num;

num = ? 7   
ret = ? 35  
/*
num++ 首先取值 num 数据参与表达式运算 取值内容为 5 
    num自增操作 ==> 6

++num 首先自增操作,num ==> 7
    取值num存储结果参与表达式运算 7
ret = 5 * 7 ==>35
*/

// 面试题2
int num = 5;
++(num++)++;

num = ERROR 【语法错误】
/*
分析问题:
    1. 自增自减运算符有且只可以操作【变量】
    2. ()里面的内容是一个整体,可以认为是一个【常量】
    语法冲突!!!报错!!!
*/

 1.4 关系运算符

 格式:    
    > < >= <= == !=
对外数据形式:
    boolean true or false 
    关系运算符两边的数据结果满足关系运算符所需,结果为 true,否则为 false

// 关系运算符
class Demo3 {
	public static void main(String[] args) {
		boolean ret = 5 > 3;
		System.out.println(ret); // true
		
		ret = 5 < 3;
		System.out.println(ret); // false 
		
		ret = 5 >= 5;
		System.out.println(ret); // true 
		
		ret = 5 <= 15;
		System.out.println(ret); // true 
		
		ret = 5 != 15;
		System.out.println(ret); // true 
		
		ret = 5 == 15;
		System.out.println(ret); // false 
	}
}

1.5 逻辑运算符

&& 与
    同真为真,有假【即】假
    
|| 或
    有真【即】真,同假为假

! 非 犟 取反
    真变假,假变真

// 逻辑运算符
class Demo4 {
	public static void main(String[] args) {
		boolean ret = 10 > 5 && 5 > 1;
		System.out.println(ret); // true
		
		ret = 10 > 5 && 1 > 5;
		System.out.println(ret); // false
		
		ret = 10 > 5 || 1 > 5;
		System.out.println(ret); // true
		
		ret = 10 < 5 || 1 > 5;
		System.out.println(ret); // false
		
		ret = !(5 > 5);
		System.out.println(ret); // true
		
		ret = !(5 == 5);
		System.out.println(ret); // false
	}
}

1.6 逻辑运算符短路原则

 后期可以利用逻辑运算符短路原则,进行条件排列,提高开发效率,提高运行效率

int num = 10;
boolean ret = 10 > 50 && ++num > 5;

ret = false;
num = 10;

/*
逻辑与 同真为真,有假【即】假
逻辑与短路原则:
	逻辑与表达式,出现 false 条件,整个表达式结果已明确为 false,计算机为了提高效率,从 false 条件开始,之后的表达式不再执行。
*/

 

int num = 10;
boolean ret = 10 > 5 || ++num > 5;

ret = true;
num = 10;
/*
逻辑或 有真【即】真,同假为假
逻辑或短路原则:
	逻辑或表达式,出现 true 条件,整个表达式结果已明确为 true,计算机为了提高效率,从 true 条件开始,之后的表达式不再执行。
*/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值