java的基础类型和运算符

数据类型
Java中数据类型分两大类:
基本数据类型
引用类型(类似于C语言中的指针)

引用类型:
数组、类、枚举、抽象类、接口、String都是引用类型
字符串类型:String
String str=“hello”; “hello”->常量池
注意:字符串拼接任何数据类型,其结果就是一个字符串

基本数据类型/简单类型

整形类型:
int 4字节 取值范围:(-2^31) ~ (2^31-1)
long 8字节 取值范围:(-2^63) ~ (2^63-1) long类型的值最后都加上大写L

双精度浮点型 double 8字节
java中,int除以int任然是int(舍弃小数部分)用double来代替即可

单精度浮点型 float 4字节(12.5f)后面要+f,不然默认12.5为双精度浮点型double

字符类型:char 2字节 可以表示汉字,不能够表示负数,只能表示正数
java中用Unicode字符集->可以表示更多的字符

字节类型:byte 1字节

短整型类型:short 2字节

布尔类型:boolean 没有明确的大小,JVM没有明确规定

final关键字(常量的特性),
1.在编译的时候,就知道值是多少
2.常量一旦被定义,就不能被修改(一定要初始化,但是只能初始化一次,具体是不是在定义时候初始化?没有关系)。

类型转换:
1.如果把大类型赋值给小类型的时候,一定要强转

整形提升
当两个不同类型的数进行运算后,就会把类型小的整形提升为大的类型

CPU为了存取数据的速度,他的取值,是4个字节4个字节去取
不足4个字节的数据,先提升为4个字节
例如:
byte a=10;
byte b=20;
byte c=(byte)(a+b);//因为byte不足4字节,会整形提升为int4字节,然后再运算。所以要强转。

运算符
简单的运算符,我就不说了吧,我就说一点难的,容易忘记的

位运算符:注意每一个运算符的特性
&:都为1则为1,有一个为0,则为0
|:只要有一个1为1,两个都为0为0
^:不一样为1,一样为0
~:0->1 1->0

移位运算符:<< >> >>>无符号右移
面试题:同学,如何将一个数字快速的扩大8倍。
0000 0010 2
0001 0000 8

右移:>>,左边补符号位
正数右移动n位:-> num / (2^n)
负数右移n位:-> 没有规律,左边补1

无符号右移 >>>不管符号位是1,还是0统一补0,

左移:<<, 右边统一补0
正数负数左移n位,结果都是 num * (2^n)
num左移n位:-> num * (2^n)
条件运算符:就是三目运算符
表达式1?表达式2:表达式3
表达式1成立,执行表达式2;反之3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值