04-数据类型、自动类型转换、强制类型转换、算术运算符、逻辑运算符、比较运算符

数据类型

java数据类型分为基本数据类型和引用数据类型。
基本数据类型:

类型占用字节值域
byte1-128~127
short2-32768~32767
int4-2147483648~2147483647
long8-263~263-1
float4
double8
boolean1
char20~65535

具体的容量顺序如下:
byte(boolean)<short(char)<int<long<float<double

类型转换

赋值符号左右两侧类型不一样时,需要进行类型转换,分两种

自动类型转换

小容量类型数据赋值给大容量数据称为自动类型转换
该转换自动进行,无需人工干预

强制类型转换

大容量数据类型赋值给小容量数据类型时,需要增加强制类型转换符,形式为

int a = 1000;
byte b = (byte)a

强制类型转换会直接将转换后的二进制数的前面多余位数直接去除,容易造成精度损失,需要谨慎使用

字面量默认数据类型为int
当将字面量赋值给byte/short类型的变量时,如果值小于byte/short类型的值域,程序会自行判断,将编译通过。(仅适用于字面量,不适用于变量,变量程序不判断值,只判断类型)

byte a = 127

当将字面量赋值给long类型的变量的时候,且该字面量的值大于int的范围时,可以在变量的最后加上L/l进行字面量的类型转换

long l1 = 2147483648L

当byte、short、char数据之间进行混合运算的时候,是先将数据转换为int之后再计算,所以最终的值是int类型。
除此之外,多个数据类型之间混合运算的时候,最终的数据类型将是容量最大的那一个
实数类型的字面量,默认类型时double,如果需要赋值给float类型的变量,需要用在字面量末尾用F/f进行类型转换

float f1 = 1.5F

boolean不参与混合运算,其他类型的都能进行混合运算

算术运算符

加:+
减:-
乘:*
除:/
模:% 取余
自增:++
自减:–

自增和自减比较特殊

int a = 1
a++ //a的值加1,变成2
++a //a的值加1,变成3
b = a++ //先赋值,后自增,所以b的值是3,a的值是4
c = ++a //先自增,后赋值,所以c的值是5,a的值是5
System.out.println(++a) //先自增,后输出,即输出6
System.out.println(a++) //先输出,后自增,即输出6

逻辑运算符

与:&&
或:||
非:!

&&有短路效果,即如果左边是false,右边的语句不执行
||同理,如果左边是true,那么右边的语句不执行

比较运算符

>=,<=,==,!=,<,>

三元运算符

一元:一个数据参与运算 ! ++ –
二元:两个数据参与运算 + -
三元:三个数据参与运算

数据类型 变量名 = 逻辑判断 ? 表达式A : 表达式B;

int a = 3;
int b = 4;
int max = a>b ? a : b

注意:三元运算符不能是单独的语句,要么在赋值符号右侧,要么在print里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值