云计算百科
云计算领域专业知识百科平台

Java语言提供了八种基本类型。六种数字类型【函数你先进1】

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

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

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

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/9489711 https://avg.163.com/topic/detail/9489710 https://avg.163.com/topic/detail/9489709 https://avg.163.com/topic/detail/9489708 https://avg.163.com/topic/detail/9489707 https://avg.163.com/topic/detail/9489706 https://avg.163.com/topic/detail/9489705 https://avg.163.com/topic/detail/9489704 https://avg.163.com/topic/detail/9489703 https://avg.163.com/topic/detail/9489702 https://avg.163.com/topic/detail/9489701 https://avg.163.com/topic/detail/9489700 https://avg.163.com/topic/detail/9489699 https://avg.163.com/topic/detail/9489698 https://avg.163.com/topic/detail/9489697 https://avg.163.com/topic/detail/9489696 https://avg.163.com/topic/detail/9489695 https://avg.163.com/topic/detail/9489694 https://avg.163.com/topic/detail/9489693 https://avg.163.com/topic/detail/9489692 https://avg.163.com/topic/detail/9489690 https://avg.163.com/topic/detail/9489688 https://avg.163.com/topic/detail/9489686 https://avg.163.com/topic/detail/9489687 https://avg.163.com/topic/detail/9489685 https://avg.163.com/topic/detail/9489684 https://avg.163.com/topic/detail/9489683 https://avg.163.com/topic/detail/9489682 https://avg.163.com/topic/detail/9489681 https://avg.163.com/topic/detail/9489679 https://avg.163.com/topic/detail/9489680 https://avg.163.com/topic/detail/9489678 https://avg.163.com/topic/detail/9489677 https://avg.163.com/topic/detail/9489676 https://avg.163.com/topic/detail/9489675 https://avg.163.com/topic/detail/9489674 https://avg.163.com/topic/detail/9489672 https://avg.163.com/topic/detail/9489671 https://avg.163.com/topic/detail/9489670 https://avg.163.com/topic/detail/9489669 https://avg.163.com/topic/detail/9489668 https://avg.163.com/topic/detail/9489667 https://avg.163.com/topic/detail/9489666 https://avg.163.com/topic/detail/9489659 https://avg.163.com/topic/detail/9489658 https://avg.163.com/topic/detail/9489657 https://avg.163.com/topic/detail/9489656 https://avg.163.com/topic/detail/9489652 https://avg.163.com/topic/detail/9489651 https://avg.163.com/topic/detail/9489649 https://avg.163.com/topic/detail/9489648 https://avg.163.com/topic/detail/9489622 https://avg.163.com/topic/detail/9489620 https://avg.163.com/topic/detail/9489618 https://avg.163.com/topic/detail/9489616 https://avg.163.com/topic/detail/9489604 https://avg.163.com/topic/detail/9489601 https://avg.163.com/topic/detail/9489599 https://avg.163.com/topic/detail/9489598 https://avg.163.com/topic/detail/9489570 https://avg.163.com/topic/detail/9489568 https://avg.163.com/topic/detail/9489566 https://avg.163.com/topic/detail/9489550 https://avg.163.com/topic/detail/9489549 https://avg.163.com/topic/detail/9489548 https://avg.163.com/topic/detail/9489547 https://avg.163.com/topic/detail/9489516 https://avg.163.com/topic/detail/9489518 https://avg.163.com/topic/detail/9489517 https://avg.163.com/topic/detail/9489515 https://avg.163.com/topic/detail/9489501 https://avg.163.com/topic/detail/9489500 https://avg.163.com/topic/detail/9489499 https://avg.163.com/topic/detail/9489498 https://avg.163.com/topic/detail/9489453 https://avg.163.com/topic/detail/9489450 https://avg.163.com/topic/detail/9489449 https://avg.163.com/topic/detail/9489447 https://avg.163.com/topic/detail/9489420 https://avg.163.com/topic/detail/9489419 https://avg.163.com/topic/detail/9489418 https://avg.163.com/topic/detail/9489417 https://avg.163.com/topic/detail/9489403 https://avg.163.com/topic/detail/9489401 https://avg.163.com/topic/detail/9489400 https://avg.163.com/topic/detail/9489398 https://avg.163.com/topic/detail/9489374 https://avg.163.com/topic/detail/9489373 https://avg.163.com/topic/detail/9489372 https://avg.163.com/topic/detail/9489370 https://avg.163.com/topic/detail/9489353 https://avg.163.com/topic/detail/9489351 https://avg.163.com/topic/detail/9489350 https://avg.163.com/topic/detail/9489347 https://avg.163.com/topic/detail/9489325 https://avg.163.com/topic/detail/9489324 https://avg.163.com/topic/detail/9489322 https://avg.163.com/topic/detail/9489297 https://avg.163.com/topic/detail/9489296 https://avg.163.com/topic/detail/9489295 https://avg.163.com/topic/detail/9489294 https://avg.163.com/topic/detail/9489275 https://avg.163.com/topic/detail/9489276 https://avg.163.com/topic/detail/9489274 https://avg.163.com/topic/detail/9489273 https://avg.163.com/topic/detail/9489252 https://avg.163.com/topic/detail/9489251 https://avg.163.com/topic/detail/9489249 https://avg.163.com/topic/detail/9489248 https://avg.163.com/topic/detail/9489226 https://avg.163.com/topic/detail/9489227 https://avg.163.com/topic/detail/9489225 https://avg.163.com/topic/detail/9489224 https://avg.163.com/topic/detail/9489183 https://avg.163.com/topic/detail/9489182 https://avg.163.com/topic/detail/9489181 https://avg.163.com/topic/detail/9489151 https://avg.163.com/topic/detail/9489149 https://avg.163.com/topic/detail/9489148 https://avg.163.com/topic/detail/9489147 https://avg.163.com/topic/detail/9489130 https://avg.163.com/topic/detail/9489133 https://avg.163.com/topic/detail/9489131 https://avg.163.com/topic/detail/9489129 https://avg.163.com/topic/detail/9489128 https://avg.163.com/topic/detail/9489092 https://avg.163.com/topic/detail/9489091 https://avg.163.com/topic/detail/9489090 https://avg.163.com/topic/detail/9489089 https://avg.163.com/topic/detail/9489088 https://avg.163.com/topic/detail/9489075 https://avg.163.com/topic/detail/9489074 https://avg.163.com/topic/detail/9489073 https://avg.163.com/topic/detail/9489069 https://avg.163.com/topic/detail/9489066 https://avg.163.com/topic/detail/9489042 https://avg.163.com/topic/detail/9489041 https://avg.163.com/topic/detail/9489040 https://avg.163.com/topic/detail/9489039 https://avg.163.com/topic/detail/9489038 https://avg.163.com/topic/detail/9489023 https://avg.163.com/topic/detail/9489021 https://avg.163.com/topic/detail/9489020 https://avg.163.com/topic/detail/9489017 https://avg.163.com/topic/detail/9489015 https://avg.163.com/topic/detail/9488992 https://avg.163.com/topic/detail/9488991 https://avg.163.com/topic/detail/9488990 https://avg.163.com/topic/detail/9488989 https://avg.163.com/topic/detail/9488972 https://avg.163.com/topic/detail/9488968 https://avg.163.com/topic/detail/9488966 https://avg.163.com/topic/detail/9488943 https://avg.163.com/topic/detail/9488942 https://avg.163.com/topic/detail/9488940 https://avg.163.com/topic/detail/9488941 https://avg.163.com/topic/detail/9488939 https://avg.163.com/topic/detail/9488916 https://avg.163.com/topic/detail/9488913 https://avg.163.com/topic/detail/9488915 https://avg.163.com/topic/detail/9488912 https://avg.163.com/topic/detail/9488893 https://avg.163.com/topic/detail/9488892 https://avg.163.com/topic/detail/9488891 https://avg.163.com/topic/detail/9488890 https://avg.163.com/topic/detail/9488889 https://avg.163.com/topic/detail/9488862 https://avg.163.com/topic/detail/9488864 https://avg.163.com/topic/detail/9488863 https://avg.163.com/topic/detail/9488860 https://avg.163.com/topic/detail/9488859 https://avg.163.com/topic/detail/9488807 https://avg.163.com/topic/detail/9488806 https://avg.163.com/topic/detail/9488804 https://avg.163.com/topic/detail/9488802 https://avg.163.com/topic/detail/9488803 https://avg.163.com/topic/detail/9488792 https://avg.163.com/topic/detail/9488790 https://avg.163.com/topic/detail/9488788 https://avg.163.com/topic/detail/9488789 https://avg.163.com/topic/detail/9488757 https://avg.163.com/topic/detail/9488753 https://avg.163.com/topic/detail/9488749 https://avg.163.com/topic/detail/9488751 https://avg.163.com/topic/detail/9488741 https://avg.163.com/topic/detail/9488739 https://avg.163.com/topic/detail/9488740 https://avg.163.com/topic/detail/9488734 https://avg.163.com/topic/detail/9488700 https://avg.163.com/topic/detail/9488701 https://avg.163.com/topic/detail/9488699 https://avg.163.com/topic/detail/9488698 https://avg.163.com/topic/detail/9488697 https://avg.163.com/topic/detail/9488685 https://avg.163.com/topic/detail/9488683 https://avg.163.com/topic/detail/9488684 https://avg.163.com/topic/detail/9488682 https://avg.163.com/topic/detail/9488679 https://avg.163.com/topic/detail/9488650 https://avg.163.com/topic/detail/9488651 https://avg.163.com/topic/detail/9488649 https://avg.163.com/topic/detail/9488648 https://avg.163.com/topic/detail/9488647 https://avg.163.com/topic/detail/9488631 https://avg.163.com/topic/detail/9488630 https://avg.163.com/topic/detail/9488626 https://avg.163.com/topic/detail/9488601 https://avg.163.com/topic/detail/9488600 https://avg.163.com/topic/detail/9488599 https://avg.163.com/topic/detail/9488549 https://avg.163.com/topic/detail/9488581 https://avg.163.com/topic/detail/9488550 https://avg.163.com/topic/detail/9488579 https://avg.163.com/topic/detail/9488576 https://avg.163.com/topic/detail/9488550 https://avg.163.com/topic/detail/9488549 https://avg.163.com/topic/detail/9488547 https://avg.163.com/topic/detail/9488546 https://avg.163.com/topic/detail/9488545 https://avg.163.com/topic/detail/9488516 https://avg.163.com/topic/detail/9488515 https://avg.163.com/topic/detail/9488512 https://avg.163.com/topic/detail/9488513 https://avg.163.com/topic/detail/9488511 https://avg.163.com/topic/detail/9488500 https://avg.163.com/topic/detail/9488501 https://avg.163.com/topic/detail/9488498 https://avg.163.com/topic/detail/9488497 https://avg.163.com/topic/detail/9488495 https://avg.163.com/topic/detail/9488467 https://avg.163.com/topic/detail/9488466 https://avg.163.com/topic/detail/9488465 https://avg.163.com/topic/detail/9488464 https://avg.163.com/topic/detail/9488462 https://avg.163.com/topic/detail/9488447 https://avg.163.com/topic/detail/9488446 https://avg.163.com/topic/detail/9488448 https://avg.163.com/topic/detail/9488445 https://avg.163.com/topic/detail/9488444 https://avg.163.com/topic/detail/9488410 https://avg.163.com/topic/detail/9488409 https://avg.163.com/topic/detail/9488407 https://avg.163.com/topic/detail/9488408 https://avg.163.com/topic/detail/9488393 https://avg.163.com/topic/detail/9488394 https://avg.163.com/topic/detail/9488392 https://avg.163.com/topic/detail/9488388 https://avg.163.com/topic/detail/9488360 https://avg.163.com/topic/detail/9488359 https://avg.163.com/topic/detail/9488357 https://avg.163.com/topic/detail/9488344 https://avg.163.com/topic/detail/9488340 https://avg.163.com/topic/detail/9488338 https://avg.163.com/topic/detail/9488339 https://avg.163.com/topic/detail/9488337 https://avg.163.com/topic/detail/9488310 https://avg.163.com/topic/detail/9488309 https://avg.163.com/topic/detail/9488308 https://avg.163.com/topic/detail/6267218 https://avg.163.com/topic/detail/9488222 https://avg.163.com/topic/detail/9488211 https://avg.163.com/topic/detail/9488210 https://avg.163.com/topic/detail/9488209 https://avg.163.com/topic/detail/9488207 https://avg.163.com/topic/detail/9488208 https://avg.163.com/topic/detail/9488202 https://avg.163.com/topic/detail/9488203 https://avg.163.com/topic/detail/9488192 https://avg.163.com/topic/detail/9488191 https://avg.163.com/topic/detail/9488135 https://avg.163.com/topic/detail/9488173 https://avg.163.com/topic/detail/9488136 https://avg.163.com/topic/detail/9488135 https://avg.163.com/topic/detail/9488132 https://avg.163.com/topic/detail/9488111 https://avg.163.com/topic/detail/9488108 https://avg.163.com/topic/detail/9488106 https://avg.163.com/topic/detail/9488091 https://avg.163.com/topic/detail/9488089 https://avg.163.com/topic/detail/9488076 https://avg.163.com/topic/detail/9488073 https://avg.163.com/topic/detail/9488072 https://avg.163.com/topic/detail/9488060 https://avg.163.com/topic/detail/9488058 https://avg.163.com/topic/detail/9488057 https://avg.163.com/topic/detail/9488046 https://avg.163.com/topic/detail/9488044 https://avg.163.com/topic/detail/9488043 https://avg.163.com/topic/detail/9488019 https://avg.163.com/topic/detail/9488018 https://avg.163.com/topic/detail/9487995 https://avg.163.com/topic/detail/9487993 https://avg.163.com/topic/detail/9487969 https://avg.163.com/topic/detail/9487968 https://avg.163.com/topic/detail/9487967 https://avg.163.com/topic/detail/9487937 https://avg.163.com/topic/detail/9487936 https://avg.163.com/topic/detail/9487935 https://avg.163.com/topic/detail/9487893 https://avg.163.com/topic/detail/9487890 https://avg.163.com/topic/detail/9487888 https://avg.163.com/topic/detail/9487869 https://avg.163.com/topic/detail/9487866 https://avg.163.com/topic/detail/9487865 https://avg.163.com/topic/detail/9487848 https://avg.163.com/topic/detail/9487846 https://avg.163.com/topic/detail/9487844 https://avg.163.com/topic/detail/9487834 https://avg.163.com/topic/detail/9487832 https://avg.163.com/topic/detail/9487829 https://avg.163.com/topic/detail/9487793 https://avg.163.com/topic/detail/9487792 https://avg.163.com/topic/detail/9487762 https://avg.163.com/topic/detail/9487761 https://avg.163.com/topic/detail/9487739 https://avg.163.com/topic/detail/9487738 https://avg.163.com/topic/detail/9487737 https://avg.163.com/topic/detail/9487731 https://avg.163.com/topic/detail/9487730 https://avg.163.com/topic/detail/9487729 https://avg.163.com/topic/detail/9487723 https://avg.163.com/topic/detail/9487722 https://avg.163.com/topic/detail/9487721 https://avg.163.com/topic/detail/9487711 https://avg.163.com/topic/detail/9487710 https://avg.163.com/topic/detail/9487709 https://avg.163.com/topic/detail/9487704 https://avg.163.com/topic/detail/9487701 https://avg.163.com/topic/detail/9487699 https://avg.163.com/topic/detail/9487695 https://avg.163.com/topic/detail/9487692 https://avg.163.com/topic/detail/9487691 https://avg.163.com/topic/detail/9487684 https://avg.163.com/topic/detail/9487682 https://avg.163.com/topic/detail/9487666 https://avg.163.com/topic/detail/9487645 https://avg.163.com/topic/detail/9487621 https://avg.163.com/topic/detail/9487602 https://avg.163.com/topic/detail/9487579 https://avg.163.com/topic/detail/9487550 https://avg.163.com/topic/detail/9487527 https://avg.163.com/topic/detail/9487490 https://avg.163.com/topic/detail/9487468 https://avg.163.com/topic/detail/9487421 https://avg.163.com/topic/detail/9487402 https://avg.163.com/topic/detail/9487374 https://avg.163.com/topic/detail/9487356 https://avg.163.com/topic/detail/9487325 https://avg.163.com/topic/detail/9487312 https://avg.163.com/topic/detail/9487246 https://avg.163.com/topic/detail/9487224 https://avg.163.com/topic/detail/9487199 https://avg.163.com/topic/detail/9487180 https://avg.163.com/topic/detail/9487155 https://avg.163.com/topic/detail/9487134 https://avg.163.com/topic/detail/9487103 https://avg.163.com/topic/detail/9487088 https://avg.163.com/topic/detail/9487061 https://avg.163.com/topic/detail/9487049 https://avg.163.com/topic/detail/9487020 https://avg.163.com/topic/detail/9487006 https://avg.163.com/topic/detail/9486973 https://avg.163.com/topic/detail/9486957 https://avg.163.com/topic/detail/9486928 https://avg.163.com/topic/detail/9486885 https://avg.163.com/topic/detail/9486861 https://avg.163.com/topic/detail/9486842 https://avg.163.com/topic/detail/9486819 https://avg.163.com/topic/detail/9486801 https://avg.163.com/topic/detail/9486780 https://avg.163.com/topic/detail/9486757 https://avg.163.com/topic/detail/9486728 https://avg.163.com/topic/detail/9486713 https://avg.163.com/topic/detail/9486687 https://avg.163.com/topic/detail/9486657 https://avg.163.com/topic/detail/9486616 https://avg.163.com/topic/detail/9486593 https://avg.163.com/topic/detail/9486575 https://avg.163.com/topic/detail/9486400 https://avg.163.com/topic/detail/9486400 https://avg.163.com/topic/detail/9486399 https://avg.163.com/topic/detail/9486285 https://avg.163.com/topic/detail/9486228 https://avg.163.com/topic/detail/9486187 https://avg.163.com/topic/detail/9486092 https://avg.163.com/topic/detail/9486048 https://avg.163.com/topic/detail/9485997 https://avg.163.com/topic/detail/9485946 https://avg.163.com/topic/detail/9485903  

实际上,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)
未经允许不得转载:网硕互联帮助中心 » Java语言提供了八种基本类型。六种数字类型【函数你先进1】
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!