Java基础篇---数据类型

哈喽,大家好,在前面的内容当中我们简单的了解到了Java程序设计语言中的八种基本数据类型:byte、short、int、long、float、double、char、boolean;本文将以上八种基本数据类型具体分析,那就让我们步入正轨吧!!!

目录

一、图表

二、int(整型)

三、long(长整型 )

四、short(短整型)

五、byte(字节型)

 六、double(双精度浮点型)

七、float(单精度浮点型)

八、boolean(布尔型)

九、char(字符型


一、图表

Java基础篇---数据类型_第1张图片


二、int(整型)

1.定义整型变量的第一种方法:直接定义并赋值

int x = 2;

2.定义整型变量的第二种方法:先定义再赋值

int x;
x = 3;

3、int在任何系统下都占用四个字节。 

但是,需要注意的是,当我们利用第二种方法定义整型变量的时候,如果没有给变量赋值,代码在编译期间会报错。对于整型变量,其有自己所能表示的范围,否则会溢出。在上文的图表中我们也提及到基本的数据类型都有各自对应的包装类型,通过包装类型,我们可以利用代码观看某种数据类型所能表示的范围。

整型变量对应的包装类型为 --- Integer

 System.out.println("int类型的上限:" + Integer.MAX_VALUE);//上限
 System.out.println("int类型的下限:" + Integer.MIN_VALUE);//下限

打印结果如图所示:

注意:在Java中,int除以int类型的变量仍然是int 类型,但是要注意的是,其结果会直接舍掉小数部分。(附上代码及运行结果)

int a = 2;
int b = 3;
System.out.println(a/b);

 当然,想得到正确的结果也是有办法的……(下文会提到哦,继续看吧!!)


三、long(长整型 )

1、long在任何系统下都占用八个字节

注意:以下数据类型与int类型大体上是一致的,基本都有两种定义方法,下文将简要分析。

正常定义长整型变量:

long a = 888;

在一般情况下,定义长整型变量的时候,都要在其值的后面加上“L”或者“l(小写的字母l)”,因为在某些编译器上小写字母“l”形如数字“1”,所以相对来说写大写的“L”是比较好区分的!!

long x = 111l;//小写字母l
long b = 999L;//大写字母L

长整型变量也有包装类型,其对应的包装类型为 --- Long 

System.out.println("long类型的上限:" + Long.MAX_VALUE);
System.out.println("long类型的下限:" + Long.MIN_VALUE);

打印结果如图所示:


四、short(短整型)

1、short在任何系统下都占用两个字节

short类型相对前两种类型,就没有什么需要特别注意的地方。当然,short类型的表示范围肯定是与两种变量有所不同。

System.out.println("short类型的上限:" + Short.MAX_VALUE);
System.out.println("short类型的下限:" + Short.MIN_VALUE);


五、byte(字节型)

1、byte在任何系统下都占用一个字节

System.out.println("byte类型的上限:" + Byte.MAX_VALUE);
System.out.println("byte类型的下限:" + Byte.MIN_VALUE);

byte类型所能代表的范围


 六、double(双精度浮点型)

1、double在任何系统下都占用八个字节。 

int a = 2;
int b = 3;
System.out.println(a/b);
System.out.println("====");
double c = 3;
double d = 5;
System.out.println(c/d);

Java基础篇---数据类型_第2张图片

 根据以上代码段以及运行结果,我们可以看到,当一个整型变量除以一个整型变量,他会直接舍掉小数部分,如果想得到正确的结果,我们可将变量的类型设置为double类型

对于double类型的数据打印时,我们可以猜想,d后面的数字0到底会不会被打印出来呢?

double d = 3.14000;
System.out.println(d);

 当我们打印观看其结果时,我们会发现d后面的0不会被打印出来,如果想将其打印出来,我们可以利用格式输出的方式将其打印,如下代码段所示:

double d = 13.500;
System.out.printf("%.2f",d);

但是需要注意的是,在Java中,几乎不用这种方式进行打印,所以小伙伴们对此有简单的了解即可。

让我们观察以下代码,它的输出结果又会是什么样的呢。

double d = 2.3;
System.out.println(d*d);

 

 这个结果是我们难以想象到的,出现这种情况是因为小数是没有精确的,只能说精确到某一位,double类型的内存布局遵守IEEE754标准,尝试使用有限的内存空间表示可能无限的小数,势必会存在一定的精度误差,因此,浮点数是个近似数,并不是精确值

七、float(单精度浮点型)

float d = 2.3;
System.out.println(d);
System.out.println("--------");
float c = 2.3f;
System.out.println(c);

Java基础篇---数据类型_第3张图片

 

 在分隔符上面的代码演示是错误的,在数字的后方不加任何东西,其默认为double类型,如果右边的数据类型比左边的数据类型大,必须要做处理,否则编译器无法运行此程序。当我们在后面加一个“f”,代码就可以正常运行了(如图所示)。

八、boolean(布尔型)

boolean c = false;
System.out.println(c);

在c语言中,非零即真;而在Java中,真为True,假为False,Java的布尔型与整型不能相互转换,因为JVM没有明确规定boolean的大小。

九、char(字符型)

char hh1 = 'A';
char hh2 = '1';
char hh3 = 'a';
char hh4 = '杰';
System.out.println("hh1:" + hh1);
System.out.println("hh2:" + hh2);
System.out.println("hh3:" + hh3);
System.out.println("hh4:" + hh4);

Java基础篇---数据类型_第4张图片

 Java中使用Unicode表示字符,因此一个字符占用两个字节,表示的字符种类更多,包括字母、数字、中文等;


今日分享到此结束,还请各位大佬帮我检阅!!!

你可能感兴趣的:(Java程序设计,开发语言,java,学习)