数据类型
java的两大类型(强类型语言)
基本类型
整数类型(byte short int long )
long num=30L;
浮点类型(float double)
float num=20.1L;
字符型(char)
布尔型(boolean)
引用类型
类,接口,数组
字节
位(bit):计算机内部数据存储的最小单位
字节(Byte):计算机处理数据的基本单位,一般B表示
1bit表示1位
1Byte表示一个字节1B=8b
1024B=1KB
1024KB=1M
1024M=1G
整数
进制:二进制0b,八进制0,十进制,十六进制0x
int i=10; int i1=0b10; int i2=010; int i3=0x10;
浮点数
float i=0.1f;//有限,大约,接近于 double k=1.0/10; i!=k; 浮点数比较一般使用BigDecimal
字符
所有的字符本质上还是数字
数据转换
在有long时所以类型会被转换为long类型
没有long时,所有非int类型会被转换为int类型
long a=156456465l; int b=125; short c=10; byte d=8; System.out.print(a+b+c+d);//long类型 System.out.print(b+c+d);//int System.out.print(c+d);//int
强制转换 高到低
int i=10; byte b=(int)i
自动转换 低到高
int i=10; double d=i;
注意点
1,不能对布尔值进行转换
2,不能把数据类型转换为不相干的类型
3,转换的时候可能会存在精度问题和内存溢出问题
变量
public class Demo{ //类变量 static,可以不用初始化直接调用 static double k=2000; //常量 final 静态的常量可以随时在任何地方调用,一旦设定不能改变 final double pi=3.14; //实列变量:从属于对象,如果不进行初始化,默认值为0 //布尔型:默认为false //除了基本类型其余都为null int age public class void main(String[] args){ int i;//局部变量必须声明和初始化,只在这个方法里面有用 } }