入门之运算符

算数运算符

一.加法

应用
1.数字相加

数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算

隐式转换(自动类型提升)

规则

  • 把一个取值范围小的数值,转成取值范围大的数据
  • byte short char 三种类型的数据在运算的时候,都会直接提升为int,然后再进行计算
  • 取值范围:byte -> short -> int -> long -> float -> double

底层原理:

public class ArithmeticoperationDemo6 {
    public static void main(String[] args) {
        byte a = 10;// 0000 1010
        int b = a;// 0000 0000 0000 0000 0000 0000 0000 1010
        System.out.println(b);
    }
}

在前面补 0

强制转换

格式:目标数据类型 变量名 = (目标数据类型)被强制转换的数据

int a = 300;

byte b = (byte) a;

byte b1 = 10;

byte b2 = 30;

//正确

int b3 = b1 + b2;

//错误

byte b4 = b1 + b2;

//正确

byte b5 = (byte)(b1 + b2)

底层原理

例子1;
public class ArithmeticoperationDemo6 {
    public static void main(String[] args) {
        int a = 300;// 0000 0000 0000 0000 0000 0001 0010 1100
        byte b = (byte) a;// 0010 1100
        System.out.println(b);
    }
}
例子2:
public class ArithmeticoperationDemo6 {
    public static void main(String[] args) {
        int a = 200;//128 + 64 + 8 ,0000 0000 0000 0000 0000 0000 1100 1000
        byte b = (byte) a;// 1100 1000,符号位为1,以补码形式存在,原码为1011 1000,即-56
        System.out.println(b);
    }
}

前面去点0

2.字符串的 “+”操作 

说明:

1.当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算数运算符了

2.多个“+”操作时,从左到右逐个执行

3.字符的“+”操作

每个字符通过查找ASCII码表,获得对应的数字,然后输出

二.减法

三.乘法

        细节:运算中,如果有小数,可能结果不正确

四.除法

       

//整数参与运算,得到的结果只能为整数
System.out.println(10 / 2);
System.out.println(10 / 3);
//小数参与运算,结果可能不正确
System.out.println(10 / 3.0);

五.取余

应用场景:

1.判断A 能否被 B整除

2.判断一个数是否为偶数(奇数)

3.斗地主,模1发牌给第一个玩家,模2发牌给第二个玩家... 


自增自减运算符

1. 单独一行,放在前面和放在后面效果一样

2.参与运算

int a = 10;

int b = a++;//b = 10

int a = 10;

int b = ++a;//b = 11


赋值运算符

1.=

2.+=

3.-=

4./=

5.*=

6.%= 

细节:+=,-=,*=,/=,%=底层都隐藏了一个强制类型转换

short s = 10;

s = s + 1;//底层为 s = (short)(s + 1); 


关系(比较)运算符

1.==

2.!=

3.>

4.>=

5.<

6.<=

注意事项

关系运算的结果都是boolean类型,要么是true,要么十false 


逻辑运算符

1.&,逻辑与,全1为1

2.|,逻辑或,全0为0

3.^,逻辑异或,相同为0,不同为1

4.!,逻辑非,取反

短路逻辑运算符,可以提高效率

1.&&,短路与,从左到右判断,如果判断到false,不用判断后面的

2.||,短路或,从左到右判断,如果判断到tue,不用判断到后面的


三元运算符 

格式:关系表达式?表达式1:表达式2; 

注意:三元运算符的结果必须要使用,要么赋值,要么打印


其他运算符

&:逻辑与,逐位与,全1为1

|:逻辑或,逐位或,全0为0

<<:左移,向左移动,地位补0

>>:右移,向右移动,根据原本符号位高位补0或1

>>>:无符号右移:向右移动,高位补0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值