新手入门,个人学习笔记,欢迎指正!和绝大多数的程序员一样,我也非常的宅。
基本数据类型
1.整数类型(byte,short,int,long)
2.浮点数类型(float,double)
3.字符类型(char)
4.布尔类型(boolean)
整数类型
--byte
使用byte关键字来定义byte型变量
例如:
byte a=1;
byte b=2,c=3;
整数型中分配空间最少,只有1个字节
取值范围也是最少(-128~127)
ps:超过数据类型的取值范围就会造成数据溢出,从而发生程序错误。
--short
short型即是短整型
使用short关键字来声明short型变量
例如:
short a=111;
short a=120,b=130;
占用2个字节的内存
取值范围(-32768~32767)
--int
int型即整型
使用int来声明int型变量
例如:
int a=22;
int b=33,c=44;
占用4个字节内存
取值范围(-2147438648~2147438647)
ps:int型是系统默认类型
--long
long型即是长整型
使用long关键字来声明long型变量
例如:
long a=123456l; long b=789L,c=654123l;
占用8个字节内存
取值范围(-9223372036854775808~9223372036854775807)
ps:使用时必须在数值结尾加上”L“或者”l“,不然会报错。
例如:
public static void main(String[] args){ long a=1234567890*1000000000; //如果不加"l"或"L"后缀俩来表long类型,会系统默认int类型。 long b=1234567890L*1000000000L; System.out.println(a);//输出:1988998144(计算结果超出了int的取值范围,发生计算错误) System.out.println(b);//输出:1234567890000000000 }
浮点类型
--float
单精度浮点类型
使用float关键字来声明float型变量
例如:
float a=1.0f; float b=3.0f,c=9.8f;
占用4个字节内存
取值范围(1.4E-45~3.4028235E-38)
ps:系统默认的浮点类型为double(双精度浮点类型)使用时必须在定义的数值结尾添加”F“或”f“
--double
双精度浮点类型
使用double关键字来定义double型变量
例如:
double a=99.099999d; double c=999.9d,v=345.321d;
占用8个字节内存
取值范围(4.9E-324~1.7976931348623157E-308 )
ps:使用double进行赋值时,数值结尾可以使用”D“或者”d“,也可以不使用,因为系统默认的浮点类型就是double型。
注意:浮点数不精准的不能用于比较大小
两个例子:
(1)"Math.round()"(四舍五入法)
例如:
double a=4.35*1000; System.out.println(a);//输出:434.99999999999994 System.out.println(Math.round(a));//输出:435
(2)使用"Math.abs()"绝对值方法与最小数“1e-6”
例如:
double a=0.1; double b=1.0-0.9; System.out.println(a);//输出:0.1 System.out.println(b);//输出:0.09999999999999998 System.out.println(a==b);//输出:false System.out.println(Math.abs(a-b)<1e-6);//输出:true
ps:"1e-6"(1的10的-6次方)是C语言中的最小数,在此判断“a-b”小于最小数,相当于“a-b”等于0
字符类型
--char
使用char关键字来声明字符类型,定义字符变量(单个字符)
定义字符变量时要使用单引号(如果使用双引号会发生“类型错误”)
例如:
char a='中'; //给变量a赋值字符'中' char b="A"; //给b变量赋值字符"A",因使用了双引号提示字符类型错误:charType mismatch: cannot convert from String to char
ps:char定义字符变量时,单引号内只能有一个字符,多了就是字符串类型(String),字符串类型需要双引号进行声明
字符'1'与数字1的区别:
System.out.println('1'*2);//输出:98(2与字符1的编码相乘) System.out.println(1*2);//输出:1
布尔类型
--boolean
布尔类型又称逻辑类型,只有false(假)和true(真)两个值
使用boolean关键字声明布尔类型变量
占用内存1位
通常用在条件判断中