java的基本数据类型

旧街凉风 提交于 2020-02-24 23:21:38

基本数据类型

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位
通常用在条件判断中

 

个人学习笔记,欢迎指正!

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!