首頁 >Java >java教程 >【java教學】Java基本資料型

【java教學】Java基本資料型

黄舟
黄舟原創
2016-12-26 11:23:241424瀏覽

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,485,647(2^31 - 1 );

一般地整數變數預設為int型別;

預設值是0;

範例:int a = 100000, int b = -200000。

long:

long資料型態是64位元、有符號的以二進位補碼表示的整數;

最小值是-9,223,372,036,854,775,808(-2^63); ^63 -1 );

這種類型主要使用在需要比較大整數的系統上;

預設值是0L;

範例: long a = 100000L,int b = -200000L。

float:

float資料型態是單一精確度、32位元、符合IEEE 754標準的浮點數;

float在儲存大型浮點陣列的時候可節省記憶體空間;

預設值是0.0.0.浮點數不能用來表示精確的值,如貨幣;

例:float f1 = 234.5f。

double:

double資料型態是雙精確度、64位元、符合IEEE 754標準的浮點數;

浮點數的預設型別為double型別;

double型態同樣不能表示精確的值,如同貨幣;

預設值是0.0f;

範例:double d1 = 123.4。

boolean:

boolean數據類型表示一位的信息;

只有兩個取值:true和false;

這種類型只作為一種標誌來記錄true/false情況;

默認值是false ;

範例:boolean one = true。

char:

char類型是一個單一的16位Unicode字符;

最小值是'u0000'(即為0);

最大值是'uffff'(即為65,535);

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×1000=3140,3.14E-3就是3.14/1000=0.00314。

實際上,JAVA中還存在另外一種基本型別void,它也有對應的包裝類別 java.lang.Void,不過我們無法直接對它們進行操作。

參考類型

引用類型變數由類別的建構子創建,可以使用它們存取所引用的物件。這些變數在宣告時被指定為一個特定的類型,例如Employee、Pubby等。變數一旦宣告後,類型就不能被改變了。

对象、数组都是引用数据类型。

所有引用类型的默认值都是null。

一个引用变量可以用来引用与任何与之兼容的类型。

例子:Animal animal = new Animal(“giraffe”)。

Java常量

常量就是一个固定值。它们不需要计算,直接代表相应的值。

常量指不能改变的量。 在Java中用final标志,声明方式和变量类似:

final double PI = 3.1415927;

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

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

byte a = 68;
char a = 'A'

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

当使用常量的时候,前缀o表明是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)    

\s    空格 (0x20)    

\t    制表符    

\"    双引号    

\'    单引号    

\\    反斜杠    

\ddd    八进制字符 (ddd)    

\uxxxx    16进制Unicode字符 (xxxx)    


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

 以上就是【java教程】Java基本数据类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn