Java学习日记---运算符

1.算术运算符

+ - * / ++ --

Java中取余本质: a % b = a - a / b * b

经典面试题:


		int i = 1;
		int j = i++; //1.j = i; 2.i = i + 1; 
		System.out.println(j);

		i = 1;
		i = i++;// 1.申请一个临时变量 temp = i; 2. i = i + 1; 3.i = temp,
		// 这是因为JVM在处理i=i++时会建立一个临时变量来接收i++的值
		System.out.println(i);

		i = 1;
		i = ++i;//1.i = i + 1; 2.临时变量temp = i ; 3. i = temp;
		System.out.println(i);

2.关系运算符

== != < > <= >=

返回类型为Boolean型

3.逻辑运算符

逻辑与&  短路与&& 逻辑或| 短路或||  非!

异或 相同返回false 不同返回true

逻辑与和短路与的区别:

两者都是当条件都为真时返回true,当有条件为假时返回false

区别:

当有条件为假时,短路与不会接着判断下面的条件,而逻辑与会接着判断,因此短路与的效率高。

	
		int a = 9;
		int b = 9;
		if(a < 1 && ++b < 20){
			System.out.println("111");
		} //++b不执行
		
		System.out.println("a = " + a + " b = " + b);
		
		if(a < 1 & ++b < 20){// ++b执行了
			System.out.println("111");
		}  
		
		System.out.println("a = " + a + " b = " + b);

输出:9 9 

  9 10

逻辑或与短路或的区别与上类似:对于短路或,如果第一个条件为真,接下来条件不进行判断,而逻辑或会进行判断,短路或的效率高

4.赋值运算符

 基本赋值运算符:=     

混合赋值运算符:+=    -=    *=    %=

当赋值作为条件判断时:赋值语句作为判断条件时,赋值的数据类型得是布尔类型, 否则会报错,赋值的布尔类型为true则判断条件为真,否之为假。

        //赋值语句作为判断条件
		boolean flag = false;
		if(flag = true)
			System.out.println("语句1");
		else 
			System.out.println("语句2");
		/*会报错
		int flag1 = 1;
		if(flag1 = 2)
			System.out.println("语句11");
		else 
			System.out.println("语句22");
			*/ 
	    //赋值语句作为判断条件时,赋值的数据类型得是布尔型 否则会报错 
	    //赋值的布尔类型为true则判断条件为真 否之为假

混合赋值运算java底层会自动进行类型转换:

		//复合赋值运算会进行类型转换
		byte num = 8;
		//num = num + 2; //int->byte  X
		num +=2; // == num = (byte)num+2;
		System.out.println(num);
		//num = num + 1; X
		num++; 
		System.out.println(num);

5.三元运算符

条件表达式?表达式1:表达式2

当条件表达式为true,运算后的结果为表达式1

当条件表达式为false,运算后的结果为表达式2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值