3.复习-Java运算符

3.复习-Java运算符
咸鱼Java运算符
运算符是一种特殊符号,用以表示数据的运算、赋值和比较等。
1.算术运算符
2.赋值运算符
3.关系运算符[比较运算符]
4.逻辑运算符
5.位运算符[需要二进制基础]
6.三元运算符
算术运算符
算术运算符是对数值类型的变量进行运算的,在java程序中使用的非常多
面试题:
1.⭐
2.⭐
关系运算符(比较运算符)
1.关系运算符的结果都是boolean型,也就是要么是true,要么是false
2.关系表达式 经常在if结构的条件中或循环结构的条件中
细节说明:
1.关系运算符的结果都是boolean型。
2.关系运算符组成的表达式,我们成为关系表达式。
3.比较运算符“= =”不能写成“=”
逻辑运算符
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。
说明逻辑运算规则:
1.a & b :& 叫逻辑与 : 规则:当a 和 b 同时为 true ,则结果为true,反之为false
2.a && b : && 叫短路与 : 规则:当 a 和 b 同时为true,则结果为true,反之为false
4.a | b : | 叫逻辑或:规则: 当 a 和 b 有一个为true,则结果为true,否则为false
4.a || b : ||叫短路或:规则: 当 a 和 b 有一个为true,则结果为true,否则为false
5.!a :叫取反,或者非运算。当a为true,则结果为false,当a为false时,结果为true
6.a^b:叫逻辑异或,当a和b不同时,则结果为true,否则为false
细节:
1.⭐**&&与&中,&&如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高;&不管第一个条件是否为false,第二个条件都要判断,效率低。**
2.开发中,我们使用的基本是短路与&&,效率高
3.||与|中,||如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高;|不管第一个条件是否为true,第二个条件都要判断,效率低。
4.开发中,我们基本是用的短路或||,效率高
赋值运算符
赋值运算符就是将某个运算后的值,赋给指定的变量。
两大类:
基本赋值运算符:=
复合赋值运算符:+= , -= , *= , /= , %=等 例如:a += b;[a = a + b;]
特点:
1.运算顺序从右往左(先执行赋值运算符的右边)
2.赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值
3.复合赋值运算符会进行类型转换
例:byte a = 3;
b += 2;//等价于 b = (byte)(b+2);
三元运算符(是一个整体)
基本语法:
条件表达式?表达式1:表达式2;
运算规则:
1.如果条件表达式为true,运算后的结果是表达式1;
2.如果条件表达式为false,运算后的结果是表达式2;
使用细节:
1.表达式1和表达式2要为可以赋给接受变量的类型(或可以自动转换)
2.三元运算符可以转为if–else语句
运算符优先级
1.表中运算优先级上一行总优于下一行。
2.只有单目运算符、赋值运算符是从右向左运算的。
优先级:
1.() , {}等
2.单目运算 ++ –
3.算数运算符
4.位移运算符
5.比较运算符
6.逻辑运算符
7.三元运算符
8.赋值运算符
进制
对于整数,有四种表示方式
1.二进制:0,1,以满2进。以0b或0B开头
2.十进制
3.八进制:以数字0开头表示
4.十六进制:0-9以及A(10)-F(15)。以0x或0X开头表示。此处A-F不区分大小写
进制的转换(基本功)
第一组(其他进制转十进制):
规则:从最低位(右边)开始,将每个位上的数提取出来,乘以X的(位数-1)次方,然后求和。
第二组(十进制转其他进制):
二进制:同理八进制
八进制:将该数不断除以8,直到商为0为止,然后把每步得到的余数倒过来
十六进制:同理八进制
第三组(二进制转八 、十六):
八进制:从低位开始将二进制数每三位一组,转为对应的八进制数即可
十六进制:从低位开始将二进制数每四位一组,转为对应的八进制数即可
第四组(八、十六转二进制):
八进制:将八进制数每1位,转成对应的一个3位的二进制数即可。
十六进制:将十六进制每1位,转成对应的一个4位的二进制数即可。
原码、反码、补码(重点、难点)
精简几句话
对于有符号的而言:
1.二进制的最高位是符号位:0表示正数,1表示负数
2.正数的原码,反码,补码都一样(三码合一)
3.负数的反码=他的原码符号位不变,其他位取反
4.负数的补码=他的反码+1,负数的反码 = 负数的补码-1
5.0的反码、补码都是0
6.java没有无符号数,换而言之,java中的数都是有符号的
7.在计算机运算的时候,都是以补码的方式来运算的
8.当我们看运算结果的时候,要看他的原码
位运算符
java中有7个位运算(&、|、^、~、>>、<<、>>>)
移位运算符的右操作数要完成模32的运算。
public static void main(String[] args) {
System.out.println(1 <<35);//8
System.out.println(1<<3);//8
}
>>>运算符会用0填充高位,不存在<<<运算符
⭐