欢迎光临
我们一直在努力

Java语言提供了八种基本类型。六种数字类型【函数意义是什么】

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。

Java 的两大数据类型:

  • 内置数据类型
  • 引用数据类型

内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

byte:

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • 最小值是 -128(-2^7);
  • 最大值是 127(2^7-1);
  • 默认值是 0;
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 例子:byte a = 100,byte b = -50。

short:

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数
  • 最小值是 -32768(-2^15);
  • 最大值是 32767(2^15 – 1);
  • Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • 默认值是 0;
  • 例子:short s = 1000,short r = -20000。

int:

  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 最小值是 -2,147,483,648(-2^31);
  • 最大值是 2,147,483,647(2^31 – 1);
  • 一般地整型变量默认为 int 类型;
  • 默认值是 0 ;
  • 例子:int a = 100000, int b = -200000。

long:

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 最小值是 -9,223,372,036,854,775,808(-2^63);
  • 最大值是 9,223,372,036,854,775,807(2^63 -1);
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值是 0L;
  • 例子: long a = 100000L,long b = -200000L。 "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。

float:

  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • float 在储存大型浮点数组的时候可节省内存空间;
  • 默认值是 0.0f;
  • 浮点数不能用来表示精确的值,如货币;
  • 例子:float f1 = 234.5f。

double:

  • double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数;
  • 浮点数的默认类型为 double 类型;
  • double类型同样不能表示精确的值,如货币;
  • 默认值是 0.0d;
  • 例子:

    double d1 = 7D ;
    double d2 = 7.;
    double d3 = 8.0;
    double d4 = 8.D;
    double d5 = 12.9867;

    7 是一个 int 字面量,而 7D,7. 和 8.0 是 double 字面量。

boolean:

  • boolean数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 这种类型只作为一种标志来记录 true/false 情况;
  • 默认值是 false;
  • 例子:boolean one = true。

char:

  • char 类型是一个单一的 16 位 Unicode 字符;
  • 最小值是 \\u0000(十进制等效值为 0);
  • 最大值是 \\uffff(即为 65535);
  • char 数据类型可以储存任何字符;
  • 例子:char letter = 'A';。

实例

对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。请看下面的例子:

实例

public class PrimitiveTypeTest { public static void main(String[] args) { // byte System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE); System.out.println("包装类:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); // short System.out.println("基本类型:short 二进制位数:" + Short.SIZE); System.out.println("包装类:java.lang.Short"); System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println(); // int System.out.println("基本类型:int 二进制位数:" + Integer.SIZE); System.out.println("包装类:java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println(); // long System.out.println("基本类型:long 二进制位数:" + Long.SIZE); System.out.println("包装类:java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); // float System.out.println("基本类型:float 二进制位数:" + Float.SIZE); System.out.println("包装类:java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println(); // double System.out.println("基本类型:double 二进制位数:" + Double.SIZE); System.out.println("包装类:java.lang.Double"); System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); // char System.out.println("基本类型:char 二进制位数:" + Character.SIZE); System.out.println("包装类:java.lang.Character"); // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台 System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台 System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); } }

运行实例 »

编译以上代码输出结果如下所示:

基本类型:byte 二进制位数:8
包装类:java.lang.Byte
最小值:Byte.MIN_VALUE=-128
最大值:Byte.MAX_VALUE=127

基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768
最大值:Short.MAX_VALUE=32767

基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE=-2147483648
最大值:Integer.MAX_VALUE=2147483647

基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808
最大值:Long.MAX_VALUE=9223372036854775807

基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45
最大值:Float.MAX_VALUE=3.4028235E38

基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324
最大值:Double.MAX_VALUE=1.7976931348623157E308

基本类型:char 二进制位数:16
包装类:java.lang.Character
最小值:Character.MIN_VALUE=0
最大值:Character.MAX_VALUE=65535

Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的"E+数字"表示E之前的数字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。

https://avg.163.com/topic/detail/9941110 https://avg.163.com/topic/detail/9939585 https://avg.163.com/topic/detail/9941030 https://avg.163.com/topic/detail/9940978 https://avg.163.com/topic/detail/9940718 https://avg.163.com/topic/detail/9940870 https://avg.163.com/topic/detail/9940848 https://avg.163.com/topic/detail/9939619 https://avg.163.com/topic/detail/9940802 https://avg.163.com/topic/detail/9940780 https://avg.163.com/topic/detail/9939616 https://avg.163.com/topic/detail/9940763 https://avg.163.com/topic/detail/9940505 https://avg.163.com/topic/detail/9940718 https://avg.163.com/topic/detail/9940728 https://avg.163.com/topic/detail/9940640 https://avg.163.com/topic/detail/9940594 https://avg.163.com/topic/detail/9940622 https://avg.163.com/topic/detail/9940561 https://avg.163.com/topic/detail/9940525 https://avg.163.com/topic/detail/9940287 https://avg.163.com/topic/detail/9940482 https://avg.163.com/topic/detail/9940431 https://avg.163.com/topic/detail/9940418 https://avg.163.com/topic/detail/9940387 https://avg.163.com/topic/detail/9940372 https://avg.163.com/topic/detail/9940287 https://avg.163.com/topic/detail/9940214 https://avg.163.com/topic/detail/9940213 https://avg.163.com/topic/detail/9940135 https://avg.163.com/topic/detail/9940087 https://avg.163.com/topic/detail/9940094 https://avg.163.com/topic/detail/9939420 https://avg.163.com/topic/detail/9940011 https://avg.163.com/topic/detail/9939995 https://avg.163.com/topic/detail/9939966 https://avg.163.com/topic/detail/9939295 https://avg.163.com/topic/detail/9939877 https://avg.163.com/topic/detail/9939782 https://avg.163.com/topic/detail/9939717 https://avg.163.com/topic/detail/9939652 https://avg.163.com/topic/detail/9939623 https://avg.163.com/topic/detail/9939622 https://avg.163.com/topic/detail/9939619 https://avg.163.com/topic/detail/9939616 https://avg.163.com/topic/detail/9939585 https://avg.163.com/topic/detail/9939572 https://avg.163.com/topic/detail/9939560 https://avg.163.com/topic/detail/9939553 https://avg.163.com/topic/detail/9939551 https://avg.163.com/topic/detail/9939549 https://avg.163.com/topic/detail/9939545 https://avg.163.com/topic/detail/9939536 https://avg.163.com/topic/detail/9939530 https://avg.163.com/topic/detail/9939519 https://avg.163.com/topic/detail/9939515 https://avg.163.com/topic/detail/9939492 https://avg.163.com/topic/detail/9939489 https://avg.163.com/topic/detail/9939488 https://avg.163.com/topic/detail/9939484 https://avg.163.com/topic/detail/9939475 https://avg.163.com/topic/detail/9939450 https://avg.163.com/topic/detail/9939448 https://avg.163.com/topic/detail/9939431 https://avg.163.com/topic/detail/9939425 https://avg.163.com/topic/detail/9939420 https://avg.163.com/topic/detail/9939416 https://avg.163.com/topic/detail/9939415 https://avg.163.com/topic/detail/9939397 https://avg.163.com/topic/detail/9939377 https://avg.163.com/topic/detail/9939351 https://avg.163.com/topic/detail/9939348 https://avg.163.com/topic/detail/9939333 https://avg.163.com/topic/detail/9939308 https://avg.163.com/topic/detail/9939295 https://avg.163.com/topic/detail/9939293 https://avg.163.com/topic/detail/9939288 https://avg.163.com/topic/detail/9939268 https://avg.163.com/topic/detail/9939267 https://avg.163.com/topic/detail/9939262 https://avg.163.com/topic/detail/9939258 https://avg.163.com/topic/detail/9939222 https://avg.163.com/topic/detail/9939215 https://avg.163.com/topic/detail/9939213 https://avg.163.com/topic/detail/9939210 https://avg.163.com/topic/detail/9939207 https://avg.163.com/topic/detail/9939201 https://avg.163.com/topic/detail/9939199 https://avg.163.com/topic/detail/9939193 https://avg.163.com/topic/detail/9939189 https://avg.163.com/topic/detail/9939186 https://avg.163.com/topic/detail/9939179 https://avg.163.com/topic/detail/9939174 https://avg.163.com/topic/detail/9939173 https://avg.163.com/topic/detail/9939170 https://avg.163.com/topic/detail/9939166 https://avg.163.com/topic/detail/9939163 https://avg.163.com/topic/detail/9939160 https://avg.163.com/topic/detail/9939157 https://avg.163.com/topic/detail/9939152 https://avg.163.com/topic/detail/9939146 https://avg.163.com/topic/detail/9939140 https://avg.163.com/topic/detail/9939132 https://avg.163.com/topic/detail/9939124 https://avg.163.com/topic/detail/9939091 https://avg.163.com/topic/detail/9938995 https://avg.163.com/topic/detail/9938096 https://avg.163.com/topic/detail/9938324 https://avg.163.com/topic/detail/9937812 https://avg.163.com/topic/detail/9938876 https://avg.163.com/topic/detail/9938843 https://avg.163.com/topic/detail/9938826 https://avg.163.com/topic/detail/9938769 https://avg.163.com/topic/detail/9938775 https://avg.163.com/topic/detail/9938782 https://avg.163.com/topic/detail/9938777 https://avg.163.com/topic/detail/9937792 https://avg.163.com/topic/detail/9938766 https://avg.163.com/topic/detail/9937811 https://avg.163.com/topic/detail/9938733 https://avg.163.com/topic/detail/9938696 https://avg.163.com/topic/detail/9938650 https://avg.163.com/topic/detail/9938638 https://avg.163.com/topic/detail/9938523 https://avg.163.com/topic/detail/9938331 https://avg.163.com/topic/detail/9938530 https://avg.163.com/topic/detail/9938529 https://avg.163.com/topic/detail/9937761 https://avg.163.com/topic/detail/9937735 https://avg.163.com/topic/detail/9938433 https://avg.163.com/topic/detail/9938378 https://avg.163.com/topic/detail/9937695 https://avg.163.com/topic/detail/9938324 https://avg.163.com/topic/detail/9938331 https://avg.163.com/topic/detail/9937280 https://avg.163.com/topic/detail/9938191 https://avg.163.com/topic/detail/9938177 https://avg.163.com/topic/detail/9938151 https://avg.163.com/topic/detail/9938096 https://avg.163.com/topic/detail/9938067 https://avg.163.com/topic/detail/9937756 https://avg.163.com/topic/detail/9938007 https://avg.163.com/topic/detail/9938009 https://avg.163.com/topic/detail/9937960 https://avg.163.com/topic/detail/9937902 https://avg.163.com/topic/detail/9937878 https://avg.163.com/topic/detail/9937817 https://avg.163.com/topic/detail/9937814 https://avg.163.com/topic/detail/9937813 https://avg.163.com/topic/detail/9937811 https://avg.163.com/topic/detail/9937812 https://avg.163.com/topic/detail/9937810 https://avg.163.com/topic/detail/9937808 https://avg.163.com/topic/detail/9937809 https://avg.163.com/topic/detail/9937805 https://avg.163.com/topic/detail/9937802 https://avg.163.com/topic/detail/9937790 https://avg.163.com/topic/detail/9937792 https://avg.163.com/topic/detail/9937793 https://avg.163.com/topic/detail/9937786 https://avg.163.com/topic/detail/9937783 https://avg.163.com/topic/detail/9937779 https://avg.163.com/topic/detail/9937776 https://avg.163.com/topic/detail/9937772 https://avg.163.com/topic/detail/9937769 https://avg.163.com/topic/detail/9937767 https://avg.163.com/topic/detail/9937763 https://avg.163.com/topic/detail/9937762 https://avg.163.com/topic/detail/9937761 https://avg.163.com/topic/detail/9937759 https://avg.163.com/topic/detail/9937758 https://avg.163.com/topic/detail/9937756 https://avg.163.com/topic/detail/9937753 https://avg.163.com/topic/detail/9937742 https://avg.163.com/topic/detail/9937741 https://avg.163.com/topic/detail/9937740 https://avg.163.com/topic/detail/9937739 https://avg.163.com/topic/detail/9937738 https://avg.163.com/topic/detail/9937735 https://avg.163.com/topic/detail/9937736 https://avg.163.com/topic/detail/9937734 https://avg.163.com/topic/detail/9937731 https://avg.163.com/topic/detail/9937725 https://avg.163.com/topic/detail/9937723 https://avg.163.com/topic/detail/9937702 https://avg.163.com/topic/detail/9937695 https://avg.163.com/topic/detail/9937699 https://avg.163.com/topic/detail/9937684 https://avg.163.com/topic/detail/9937681 https://avg.163.com/topic/detail/9937662 https://avg.163.com/topic/detail/9937656 https://avg.163.com/topic/detail/9937645 https://avg.163.com/topic/detail/9937629 https://avg.163.com/topic/detail/9937627 https://avg.163.com/topic/detail/9937624 https://avg.163.com/topic/detail/9937617 https://avg.163.com/topic/detail/9937598 https://avg.163.com/topic/detail/9937588 https://avg.163.com/topic/detail/9937591 https://avg.163.com/topic/detail/9937579 https://avg.163.com/topic/detail/9937575 https://avg.163.com/topic/detail/9937572 https://avg.163.com/topic/detail/9937571 https://avg.163.com/topic/detail/9937565 https://avg.163.com/topic/detail/9937567 https://avg.163.com/topic/detail/9937565 https://avg.163.com/topic/detail/9937554 https://avg.163.com/topic/detail/9937545 https://avg.163.com/topic/detail/9937533 https://avg.163.com/topic/detail/9937519 https://avg.163.com/topic/detail/9937510 https://avg.163.com/topic/detail/9937507 https://avg.163.com/topic/detail/9937506 https://avg.163.com/topic/detail/9937494 https://avg.163.com/topic/detail/9937481 https://avg.163.com/topic/detail/9937474 https://avg.163.com/topic/detail/9937456 https://avg.163.com/topic/detail/9937455 https://avg.163.com/topic/detail/9937454 https://avg.163.com/topic/detail/9937453 https://avg.163.com/topic/detail/9937451 https://avg.163.com/topic/detail/9937431 https://avg.163.com/topic/detail/9937413 https://avg.163.com/topic/detail/9937408 https://avg.163.com/topic/detail/9937407 https://avg.163.com/topic/detail/9937393 https://avg.163.com/topic/detail/9937372 https://avg.163.com/topic/detail/9937373 https://avg.163.com/topic/detail/9937361 https://avg.163.com/topic/detail/9937355 https://avg.163.com/topic/detail/9937354 https://avg.163.com/topic/detail/9937350 https://avg.163.com/topic/detail/9937352 https://avg.163.com/topic/detail/9937336 https://avg.163.com/topic/detail/9937333 https://avg.163.com/topic/detail/9937307 https://avg.163.com/topic/detail/9937305 https://avg.163.com/topic/detail/9937300 https://avg.163.com/topic/detail/9937296 https://avg.163.com/topic/detail/9937293 https://avg.163.com/topic/detail/9937280 https://avg.163.com/topic/detail/9937281 https://avg.163.com/topic/detail/9937262 https://avg.163.com/topic/detail/9936637 https://avg.163.com/topic/detail/9937161 https://avg.163.com/topic/detail/9937150 https://avg.163.com/topic/detail/9937140 https://avg.163.com/topic/detail/9937133 https://avg.163.com/topic/detail/9937116 https://avg.163.com/topic/detail/9937114 https://avg.163.com/topic/detail/9937115 https://avg.163.com/topic/detail/9937111 https://avg.163.com/topic/detail/9937110 https://avg.163.com/topic/detail/9937100 https://avg.163.com/topic/detail/9937106 https://avg.163.com/topic/detail/9936764 https://avg.163.com/topic/detail/9937069 https://avg.163.com/topic/detail/9937067 https://avg.163.com/topic/detail/9937052 https://avg.163.com/topic/detail/9937046 https://avg.163.com/topic/detail/9937044 https://avg.163.com/topic/detail/9937042 https://avg.163.com/topic/detail/9937009 https://avg.163.com/topic/detail/9937003 https://avg.163.com/topic/detail/9936990 https://avg.163.com/topic/detail/9936978 https://avg.163.com/topic/detail/9936975 https://avg.163.com/topic/detail/9936970 https://avg.163.com/topic/detail/9936946 https://avg.163.com/topic/detail/9936930 https://avg.163.com/topic/detail/9936929 https://avg.163.com/topic/detail/9936913 https://avg.163.com/topic/detail/9936909 https://avg.163.com/topic/detail/9936908 https://avg.163.com/topic/detail/9936873 https://avg.163.com/topic/detail/9936870 https://avg.163.com/topic/detail/9936854 https://avg.163.com/topic/detail/9936853 https://avg.163.com/topic/detail/9936849 https://avg.163.com/topic/detail/9936847 https://avg.163.com/topic/detail/9936843 https://avg.163.com/topic/detail/9936841 https://avg.163.com/topic/detail/9936837 https://avg.163.com/topic/detail/9936832 https://avg.163.com/topic/detail/9936828 https://avg.163.com/topic/detail/9936827 https://avg.163.com/topic/detail/9936823 https://avg.163.com/topic/detail/9936809 https://avg.163.com/topic/detail/9936787 https://avg.163.com/topic/detail/9936784 https://avg.163.com/topic/detail/9936783 https://avg.163.com/topic/detail/9936780 https://avg.163.com/topic/detail/9936772 https://avg.163.com/topic/detail/9936764 https://avg.163.com/topic/detail/9936728 https://avg.163.com/topic/detail/9936719 https://avg.163.com/topic/detail/9936717 https://avg.163.com/topic/detail/9936708 https://avg.163.com/topic/detail/9936688 https://avg.163.com/topic/detail/9936694 https://avg.163.com/topic/detail/9936668 https://avg.163.com/topic/detail/9936640 https://avg.163.com/topic/detail/9936637 https://avg.163.com/topic/detail/9936633 https://avg.163.com/topic/detail/9936630 https://avg.163.com/topic/detail/9936415 https://avg.163.com/topic/detail/9936590 https://avg.163.com/topic/detail/9936582 https://avg.163.com/topic/detail/9936575 https://avg.163.com/topic/detail/9936572 https://avg.163.com/topic/detail/9936543 https://avg.163.com/topic/detail/9936545 https://avg.163.com/topic/detail/9936530 https://avg.163.com/topic/detail/9936524 https://avg.163.com/topic/detail/9936529 https://avg.163.com/topic/detail/9936518 https://avg.163.com/topic/detail/9936494 https://avg.163.com/topic/detail/9936427 https://avg.163.com/topic/detail/9935796 https://avg.163.com/topic/detail/9935869 https://avg.163.com/topic/detail/9936487 https://avg.163.com/topic/detail/9936477 https://avg.163.com/topic/detail/9936466 https://avg.163.com/topic/detail/9936086 https://avg.163.com/topic/detail/9936434 https://avg.163.com/topic/detail/9936431 https://avg.163.com/topic/detail/9936427 https://avg.163.com/topic/detail/9936421 https://avg.163.com/topic/detail/9936415 https://avg.163.com/topic/detail/9936404 https://avg.163.com/topic/detail/9936384 https://avg.163.com/topic/detail/9936365 https://avg.163.com/topic/detail/9936363 https://avg.163.com/topic/detail/9936362 https://avg.163.com/topic/detail/9936360 https://avg.163.com/topic/detail/9936356 https://avg.163.com/topic/detail/9936352 https://avg.163.com/topic/detail/9936350 https://avg.163.com/topic/detail/9936348 https://avg.163.com/topic/detail/9936299 https://avg.163.com/topic/detail/9936298 https://avg.163.com/topic/detail/9936295 https://avg.163.com/topic/detail/9936288 https://avg.163.com/topic/detail/9936289 https://avg.163.com/topic/detail/9936274 https://avg.163.com/topic/detail/9936270 https://avg.163.com/topic/detail/9936219 https://avg.163.com/topic/detail/9936206 https://avg.163.com/topic/detail/9936204 https://avg.163.com/topic/detail/9936190 https://avg.163.com/topic/detail/9936175 https://avg.163.com/topic/detail/9935830 https://avg.163.com/topic/detail/9936135 https://avg.163.com/topic/detail/9936133 https://avg.163.com/topic/detail/9936132 https://avg.163.com/topic/detail/9935760 https://avg.163.com/topic/detail/9936090 https://avg.163.com/topic/detail/9936088 https://avg.163.com/topic/detail/9936087 https://avg.163.com/topic/detail/9936086 https://avg.163.com/topic/detail/9936084 https://avg.163.com/topic/detail/9936077 https://avg.163.com/topic/detail/9936076 https://avg.163.com/topic/detail/9936074 https://avg.163.com/topic/detail/9936066 https://avg.163.com/topic/detail/9936061 https://avg.163.com/topic/detail/9936029 https://avg.163.com/topic/detail/9935919 https://avg.163.com/topic/detail/9936018 https://avg.163.com/topic/detail/9935986 https://avg.163.com/topic/detail/9935982 https://avg.163.com/topic/detail/9935856 https://avg.163.com/topic/detail/9935927 https://avg.163.com/topic/detail/9935925 https://avg.163.com/topic/detail/9935921 https://avg.163.com/topic/detail/9935919 https://avg.163.com/topic/detail/9935878 https://avg.163.com/topic/detail/9935871 https://avg.163.com/topic/detail/9935869 https://avg.163.com/topic/detail/9935867 https://avg.163.com/topic/detail/9935864 https://avg.163.com/topic/detail/9935861 https://avg.163.com/topic/detail/9935858 https://avg.163.com/topic/detail/9935856 https://avg.163.com/topic/detail/9935853 https://avg.163.com/topic/detail/9935830 https://avg.163.com/topic/detail/9935826 https://avg.163.com/topic/detail/9935810 https://avg.163.com/topic/detail/9935807 https://avg.163.com/topic/detail/9935799 https://avg.163.com/topic/detail/9935798 https://avg.163.com/topic/detail/9935797 https://avg.163.com/topic/detail/9935796 https://avg.163.com/topic/detail/9935793 https://avg.163.com/topic/detail/9935792 https://avg.163.com/topic/detail/9935790 https://avg.163.com/topic/detail/9935789 https://avg.163.com/topic/detail/9935788 https://avg.163.com/topic/detail/9935787 https://avg.163.com/topic/detail/9935785 https://avg.163.com/topic/detail/9935783 https://avg.163.com/topic/detail/9935784 https://avg.163.com/topic/detail/9935782 https://avg.163.com/topic/detail/9935781 https://avg.163.com/topic/detail/9935779 https://avg.163.com/topic/detail/9935778 https://avg.163.com/topic/detail/9935776 https://avg.163.com/topic/detail/9935775 https://avg.163.com/topic/detail/9935773 https://avg.163.com/topic/detail/9935769 https://avg.163.com/topic/detail/9935767 https://avg.163.com/topic/detail/9935765 https://avg.163.com/topic/detail/9935764 https://avg.163.com/topic/detail/9935760 https://avg.163.com/topic/detail/9935758 https://avg.163.com/topic/detail/9935751 https://avg.163.com/topic/detail/9935748 https://avg.163.com/topic/detail/9935747 https://avg.163.com/topic/detail/9935746 https://avg.163.com/topic/detail/9935743 https://avg.163.com/topic/detail/9935740 https://avg.163.com/topic/detail/9935736 https://avg.163.com/topic/detail/9935726 https://avg.163.com/topic/detail/9935723 https://avg.163.com/topic/detail/9935720 https://avg.163.com/topic/detail/9935717 https://avg.163.com/topic/detail/9935713 https://avg.163.com/topic/detail/9935712 https://avg.163.com/topic/detail/9935710 https://avg.163.com/topic/detail/9935709 https://avg.163.com/topic/detail/9935707 https://avg.163.com/topic/detail/9935704 https://avg.163.com/topic/detail/9935703 https://avg.163.com/topic/detail/9935701 https://avg.163.com/topic/detail/9935700 https://avg.163.com/topic/detail/9935698 https://avg.163.com/topic/detail/9935696 https://avg.163.com/topic/detail/9935694 https://avg.163.com/topic/detail/9935690 https://avg.163.com/topic/detail/9935689 https://avg.163.com/topic/detail/9935685 https://avg.163.com/topic/detail/9935682 https://avg.163.com/topic/detail/9935684 https://avg.163.com/topic/detail/9935679 https://avg.163.com/topic/detail/9935676 https://avg.163.com/topic/detail/9935661 https://avg.163.com/topic/detail/9935657 https://avg.163.com/topic/detail/9935655 https://avg.163.com/topic/detail/9935656 https://avg.163.com/topic/detail/9935653 https://avg.163.com/topic/detail/9935654 https://avg.163.com/topic/detail/9935651 https://avg.163.com/topic/detail/9935276 https://avg.163.com/topic/detail/9935050 https://avg.163.com/topic/detail/9934736  

实际上,JAVA中还存在另外一种基本类型 void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。

类型默认值

下表列出了 Java 各个类型的默认值:

数据类型默认值
int 0
long 0L
short 0
char '\\u0000'
byte 0
float 0.0f
double 0.0d
boolean false
引用类型(类、接口、数组) null

说明:

  • int, short, long, byte 的默认值是0。
  • char 的默认值是 \\u0000(空字符)。
  • float 的默认值是 0.0f。
  • double 的默认值是 0.0d。
  • boolean 的默认值是 false。
  • 引用类型(类、接口、数组)的默认值是 null。

实例

public class Test { static boolean bool; static byte by; static char ch; static double d; static float f; static int i; static long l; static short sh; static String str; public static void main(String[] args) { System.out.println("Bool :" + bool); System.out.println("Byte :" + by); System.out.println("Character:" + ch); System.out.println("Double :" + d); System.out.println("Float :" + f); System.out.println("Integer :" + i); System.out.println("Long :" + l); System.out.println("Short :" + sh); System.out.println("String :" + str); } }

实例输出结果为:

Bool :false
Byte :0
Character:
Double :0.0
Float :0.0
Integer :0
Long :0
Short :0
String :null


引用类型

  • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。
  • 一个引用变量可以用来引用任何与之兼容的类型。
  • 例子:Site site = new Site("Runoob")。

Java 常量

常量在程序运行时是不能被修改的。

在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

final double PI = 3.1415927;

虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量。

字面量可以赋给任何内置类型的变量。例如:

byte a = 68;
char a = 'A'

byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。

当使用字面量的时候,前缀 0 表示 8 进制,而前缀 0x 代表 16 进制, 例如:

int decimal = 100;
int octal = 0144;
int hexa = 0x64;

和其他语言一样,Java的字符串常量也是包含在两个引号之间的字符序列。下面是字符串型字面量的例子:

"Hello World"
"two\\nlines"
"\\"This is in quotes\\""

字符串常量和字符变量都可以包含任何 Unicode 字符。例如:

char a = '\\u0001';
String a = "\\u0001";

Java语言支持一些特殊的转义字符序列。

符号字符含义
\\n 换行 (0x0a)
\\r 回车 (0x0d)
\\f 换页符(0x0c)
\\b 退格 (0x08)
\\0 空字符 (0x0)
\\s 空格 (0x20)
\\t 制表符
\\" 双引号
\\' 单引号
\\\\ 反斜杠
\\ddd 八进制字符 (ddd)
\\uxxxx 16进制Unicode字符 (xxxx)

自动类型转换

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

转换从低级到高级。

低 ————————————> 高

byte,short,char—> int —> long—> float —> double

数据类型转换必须满足如下规则:

  • 1. 不能对boolean类型进行类型转换。

  • 2. 不能把对象类型转换成不相关类的对象。

  • 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 4. 转换过程中可能导致溢出或损失精度,例如:

    int i =128;
    byte b = (byte)i;

    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

  • 5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

    (int)23.7 == 23;        
    (int)-45.89f == -45

自动类型转换

必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。

实例

public class ZiDongLeiZhuan{ public static void main(String[] args){ char c1='a';//定义一个char类型 int i1 = c1;//char自动类型转换为int System.out.println("char自动类型转换为int后的值等于"+i1); char c2 = 'A';//定义一个char类型 int i2 = c2+1;//char 类型和 int 类型计算 System.out.println("char类型和int计算后的值等于"+i2); } }

运行结果为:

char自动类型转换为int后的值等于97
char类型和int计算后的值等于66

解析:c1 的值为字符 a ,查 ASCII 码表可知对应的 int 类型值为 97, A 对应值为 65,所以 i2=65+1=66。

强制类型转换

  • 1. 条件是转换的数据类型必须是兼容的。

  • 2. 格式:(type)value type是要强制类型转换后的数据类型 实例:

    实例

    public class ForceTransform { public static void main(String[] args){ int i1 = 123; byte b = (byte)i1;//强制类型转换为byte System.out.println("int强制类型转换为byte后的值等于"+b); } }

    运行结果:

    int强制类型转换为byte后的值等于123

隐含强制类型转换

  • 1、 整数的默认类型是 int。

  • 2、 小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

这一节讲解了 Java 的基本数据类型。下一节将探讨不同的变量类型以及它们的用法。

赞(0)
未经允许不得转载:171主机测评 » Java语言提供了八种基本类型。六种数字类型【函数意义是什么】
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址