你知道大神的运算符怎么玩吗?

运算符

赋值运算符

语法:数据类型 变量名 = 数值/变量名

交换两个变量的值

double weigth1 = 60.5;
double weigth2 = 70.5;
System.out.println("交换之前:");
System.out.println("weigth1:"+weigth1);
System.out.println("weigth2:"+weigth2);
double weigth3 = weigth1;
weigth1 = weigth2;
weigth2 = weigth3;
System.out.println("交换之后:");
System.out.println("weigth1:"+weigth1);
System.out.println("weigth2:"+weigth2);
基本算术运算符
+、 -、 *、 /、 %、 ++、 –
  • 变量A + 变量B:求出变量A和变量B相加之和。

  • 变量A - 变量B:求两数之差。

  • 变量A * 变量B:求两数之积。

  • 变量A / 变量B:求两数之商。

  • 变量A % 变量B:求余数。

  • 变量A++、++变量A:求出变量A+1,等于变量A+1

  • 变量A–、--变量B:求出变量B-1,等于变量B-1

int num = 326;
int hundreds = num/100;
System.out.println("百位数字是:"+hundreds);
int tens = num%100/10;
System.out.println("十位数字是:"+tens);
int ones = num%10;
System.out.println("个位数字是:"+ones);
int sum = hundreds+tens+ones;
System.out.println(num+"各位数字之和是:"+sum);
复合算术运算符
+=、-=、*=、/=、%=
  • 变量A += 变量B:变量A = 变量A + 变量B
关系运算符
==、!=、>、<、>=、<=、
><>=<= 只能用作数值类型的比较

变量A == 变量B:变量A和变量B是否相等,相等的结果为true,不相等的结果为false。

逻辑运算符

逻辑运算符只能用于 boolean 类型的数据运算,判断boolean数据之间的逻辑关系,包括与、或、非这3种关系。

&、|、&&、||、!

变量A & 变量B:只有当变量A和变量B都为true时,结果为true,否则为false。

变量A | 变量B:当变量A或者变量B有一个为true时,结果为true,否则为false。

变量A && 变量B:只有当变量A和变量B都为true时,结果为true,否则为false。

变量A || 变量B:当变量A或者变量B有一个为true时,结果为true,否则为false。

!变量A:若变量A为true,结果为false,反之亦然。

条件运算符

条件运算符也叫三元运算符,可以完成给变量赋值的操作,根据不同的条件给同一个变量赋不同的值,基本语法:

变量A = 条件 ? 值1:值2,如果条件成立,值1赋给变量A,否则值2赋给变量A

得分大于80可获得优惠券

int score = 90;
System.out.println("本次答题的得分是:"+score);
String str = score>80?"获得一张优惠券":"很遗憾,没有中奖";
System.out.println(str);
位运算符

位预算符包括:&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)

变量A & 变量B:每一位的数值一一对应,若都为1,则该位计作1,否则计作0。

变量A | 变量B:每一位的数值一一对应,只要有1个为1,该位计作1,否则计作0。

变量A ^ 变量B:每一位的数值一一对应,相同计作0,不同计作1。

变量A << 变量B:变量A乘以2的变量B次方,如2 << 3,结果就是2*8。

变量A >> 变量B:变量A除以2的变量B次方,如2 >> 3,结果为2/8。

求出 10&5、10|5、10^3、2<<3、2>>3


进阶版

赋值

思考:为什么t2最后变成的了27

package day_3_23;
//: operators/Assignment.java
// Assignment with objects is a bit tricky.
import static net.mindview.util.Print.*;

class Tank {
  int level;
}	

public class Assignment {
  public static void main(String[] args) {
    Tank t1 = new Tank();
    Tank t2 = new Tank();
    t1.level = 9;
    t2.level = 47;
    print("1: t1.level: " + t1.level +
          ", t2.level: " + t2.level);
    t1 = t2;
    print("2: t1.level: " + t1.level +
          ", t2.level: " + t2.level);
    t1.level = 27;
    print("3: t1.level: " + t1.level +
          ", t2.level: " + t2.level);
  }
} /* Output:
1: t1.level: 9, t2.level: 47
2: t1.level: 47, t2.level: 47
3: t1.level: 27, t2.level: 27
*///:

直接操作对象内的域容易导致混乱。

在这里插入图片描述


返回目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值