Java复习—运算符

运算符

运算符:对字面量或者变量进行操作的符号
表达式:用运算符把字面量或者变量连接起来,符合Java语法的式子就可以称为表达式。

算数运算符
符号作用
+加法作用
-减法作用
*乘法作用
/除法法作用
%取模、取余

在代码中,如果有小数参与计算,结果可能不精确
例如:

System.out.println(1.1 + 1.01);

结果:
在这里插入图片描述
除法:整数参与运算。只能得到结果的整数部分(不是四舍五入),若想得到小数,需要写成小数格式
例如:

System.out.println(8 / 3);
System.out.println(8.0 / 3);

结果:

在这里插入图片描述
练习:

//输入一个三位数,求百位数,十位数,个位数
        System.out.println("请输入一个三位数");
        Scanner scanner=new Scanner(System.in);
        int a= scanner.nextInt();
        int b,c,d;
        b=a%10;
        c=a/10%10;
        d=a/100;
        System.out.println("个位数是"+b);
        System.out.println("十位数是"+c);
        System.out.println("百位数是"+d);

取值范围大小:
byte < short < int <long < float < double

取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

隐式转换:

什么时候转换:
数据类型不一样,不能进行计算,需要转换成一样的才可以进行计算。

  • 转换规则1:取值范围小的,和取值范围大的进行运算,小的先提升为大的,在进行运算
  • 转换规则2: byte short char 三种类型的数据在进行运算的时候,都会先提升为int ,再进行运算。

例如:

byte b1 = 10;
byte b2 = 20;
result = b1 +b2 ;

其结果是int类型

int i = 10;
long n = 100L;
double  d = 20.0;
result = i + n + d;
//  i和n相加 是long类型的。在相加是double类型

数据类型是double;

强制转换

强制转换:如果一个取值范围较大的数值,赋值给取值范围较小的变量,是不允许直接复制的,如果一定要赋值,需要强制转换。

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

例如:

double a = 12.3;
int b = (int)a;

字符串相加

当“+”操作中出现字符串的时候,这个“+”是字符串连接符,而不是算数运算符,会将前后的数据进行拼接,二产生一个新的字符串。
例如;
“123”+123的结果是“123123”,

连续进行“+”的操作的时候,从左到右一次执行
例如:
1+ 99+“程序员” 的结果是 “100程序员”

字符串“+”的操作

当字符+字符的时候,会把字符通过ASCII码表查询到对应的数字在进行计算

自增自减:

++ 和 – 不论是放在变量前面还是放在变量后面,单独写一行结果是一样的。

a = 10;
int b = a ++ 先用后加 b= 10

int b = ++ a 先加后用 b= 11

赋值运算符

符号作用
=赋值
+=加后赋值 a-=b 将 a+b的值赋给a
-=减后赋值
*=乘后赋值
/=除后赋值
%=取余后赋值

注意:隐藏了一个强制类型转换

关系运算符

符号说明
==a==b 判断a和b的 值是否相等
!=a!=b,判断a和b的值是否不相等
>a>b 判断a是否大于b
>=a>=b判断a是否大于等于b
<a<b.判断a是否小于b
<=a<=b 判断啊是否小于等于b

(其结果是true 或者false,符号中间没有空格)

逻辑运算符:

数学中可以写3<x<5.但是在Java中,需要把上面的式子进行拆解,在进行合并表达
拆解为x>3和x<5
合并为x>3&x<5

符号说明
&逻辑与(且) ,并且,两边都为真,结果才是真

| 逻辑或 或者,两边都是假,结果才是假 |
| ^ | 逻辑异或 ,相同为false,不同为true|
| ! | 逻辑非 取反|

短路运算符
&& 短路与 结果与&相同,但是有短路效果,
|| 短路或 结果和 | 相同,但是有短路效果。

三元运算符

格式:关系表达式1?表达式2:表达式2;
例如求两个数的较大值

a>b?a:b
//表达式如果是真的,它的值等于前面的,如果是假的,则等于后面的。

快捷键(idea): ctrl+alt +L,可以格式化代码

原码:
十进制数据的二进制的表现形式,最左边是符号位,0为正,1为负
反码:
正数的补码反码是其本身,负数的反码是符号位保持不变,其余取反

补码:
正数的补码是其本身,附属的补码是其反码的基础上+1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值