作者:CHAITANYA SINGH

来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=15

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

数据类型用来定义变量可以采用的值,例如,如果变量具有int数据类型,则它只能接受整数值。在java中,我们有两类数据类型:1)原始数据类型 2)非原始数据类型 - 数组和String是非原始数据类型,我们将在后面的教程中讨论它们。这里我们主要讨论Java中的原始数据类型(primitive data types)和字面量(literals)。

Java是一种静态类型化语言,意思就是程序在编译时必须知道变量的数据类型,这意味着在写代码的时候,您必须首先指定变量的类型(声明变量),然后才能使用这个变量。

在上一篇关于“Java变量”的教程中,我们学习了如何声明变量,让我们回忆一下:

1 int  num;

所以,为了在我们的程序中使用变量num,我们必须首先声明它,如上面所示。在程序开始时首先声明所有变量(您将要使用的变量)是一个很好的编程习惯。

1)原始数据类型(Primitive data types)

在Java中,我们有八种原始数据类型:布尔类型(boolean)、字符类型(char)、字节类型(byte)、短整类型(short)、整数类型(int)、长整数类型(long)、单精度浮点型(float)、双精度浮点型(double)。在不同的操作系统中,这些原始数据类型的大小都是一样的,所以一旦Java开发人员在程序代码中选用了这些数据类型,这个程序就可以在不同的操作系统下面运行而不用担心数据类型的不符,这就是所谓的Java程序的可移植性。

字节型(byte)、短整型(short)、整型(int)、长整型(long)这四种数据类型用来存储整数。

浮点类型(float、double)用来存储包含小数的数据类型。浮点类型分为float(单精度型)和double(双精度类型)这两种。float(单精度型)一般在精度要求不高的时候使用。double(双精度类型)一般在数值精度高的时候使用。

字符类型(char)用来存储字符,比如说各种字母、特殊符号、等等。注意字母除了26个英文字母外,也可以是数字字母,如‘1’、‘2’、‘3’,等等。字符类型的值一般都放在单引号'或双引号"里面,如'a',"a",等等。

布尔类型(boolean)用来存储存储布尔变量的值。布尔变量的值只能在下面两个值中取其中的一个:true,false。true表示“是”或“真”,false表示“否”或“假”,所以对于布尔变量的值只有两个可能:“true”,或者“false”。

字节型(byte):

用来存储从-128到127之间的整数。如果我们知道变量的大小范围在这个范围之内,我们就把变量的数据类型定义为字节型(byte),这样可以节省在计算机内存中存储这个变量的值需要分配的空间。

需要内存空间大小:1字节(byte)

例子:

1 2 3 4 5 6 7 8 9 class  JavaExample {      public  static  void  main(String[] args) {                    byte  num;                    num =  113 ;          System.out.println(num);      } }

输出:113

建议:通过将150个值赋值给变量num来尝试相同的程序,您将得到类型失配错误,因为值150超出了字节数据类型的范围。正如我前面提到的,字节的范围是-128到127。

短整型(short):

用来存储从-32,768到32767之间的整数。

需要内存空间大小:2字节(byte)

1 short  num =  45678 ;

整数类型(int)

用来存储从-2,147,483,648到2,147,483,647之间的整数。

需要内存空间大小:4字节(byte)

例子:

1 2 3 4 5 6 7 8 9 class  JavaExample {      public  static  void  main(String[] args) {                    short  num;                    num =  150 ;          System.out.println(num);      } }

输出:150

字节数据类型不能容纳整数值150,但短数据类型可以容纳,因为它的范围更广,可以容纳从-32,768到32767之间的整数。

长整型(long):

如果一个整数值的大小超过了整数类型(int)可以容纳的范围后,我们需要用长整型(long)的变量来存储这个超大整数值。长整型(long)可以用来容纳范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数值。

需要内存空间大小:8字节(byte)

例子:

  class  JavaExample {      public  static  void  main(String[] args) {                    long  num = -12332252626L;          System.out.println(num);      } }

输出:-12332252626

双精度浮点类型(double):

可以存储包含高达15位小数的数值。

需要内存空间:8字节(byte)

例子:

  class  JavaExample {      public  static  void  main(String[] args) {                    double  num = - 42937737 .9d;          System.out.println(num);      } }

输出:-4.29377379E7

单精度浮点类型(float):

可以容纳6至7位小数位数

需要内存空间:4字节(byte)

例子:

1 2 3 4 5 6 7 class  JavaExample {      public  static  void  main(String[] args) {                    float  num =  19 .98f;          System.out.println(num);      } }

输出:19.98

布尔型(boolean):

布尔型数据值只能是true或false。true表示“真”,false表示“假”。

例子:

  class  JavaExample {      public  static  void  main(String[] args) {                    boolean  b =  false ;          System.out.println(b);      } }

输出:false

字符类型(char):

存储字符,如各种字母、符合、数字符,等等

需要内存空间:2字节(byte)

例子:

  class  JavaExample {      public  static  void  main(String[] args) {                    char  ch =  'Z' ;          System.out.println(ch);      } }

输出:Z

Java的字面值(Literals in Java)

Java代码中的字面值(Literal)的意思就是按照字面上的意思去理解的数值。字面值(Literal)代表了一个固定的值,我们可以通过操作符=把字面值分配给程序中的一个变量。

  int  num= 10 ;

这里的值10是一个整数字面值。

  char  ch =  'A' ;

这里A是一个字符字面值。

整数字面值(Integer Literal)

整数字面值可以赋值给以下的数据类型的变量:byte,、short,、int、long.

  byte  b =  100 ; short  s =  200 ; int  num =  13313131 ; long  l = 928389283L;

浮点字面值(Float Literals)

浮点字面值可以赋值给以下的数据类型的变量:float和double。

  double  num1 =  22.4 ; float  num2 =  22 .4f;

注意:对于单精度浮点字面值,我们一定要记得加上“f”后缀,如果没有这个后缀,编译器在编译的时候会把它当做双精度浮点值来处理。

字符和字符串字面值(Char and String Literal)

字符和字符串字面值用于赋值给字符和字符串类型的变量。

  char  ch =  'Z' ; String str =  "This is Beginner's Book 这是初学者的教程" ;

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄