Java – 基本型別及變數

基本型別

Java中的資料內容, 會依照不同的使用方式及內容, 區分出不同型別. 而基本型別的資料內容是單純的存放資料值, 有別於後面將會介紹的物件型別,其資料內容則將會是參考值, 也就是記憶體的位址. 共有八種基本型別:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean

 

宣告變數

格式如下:

型別 自訂變數名稱;
型別 自訂變數名稱1, 自訂變數名稱2, ...;

變數名稱的規則如下:

  • 不可以是關鍵字或是保留字
  • 第一個字元為: [a-zA-Z$_]
  • 第二個之後的字元為: [a-zA-Z0-9$_]*

保留字及關鍵字如下表:

abstract continue for new switch
assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

整數資料


byte資料存放的空間大小為2的8次方, 因為包含正負數, 也就是範圍在-128到127之間的整數值. 依此類推, short為2的16次方, int為2的32次方及ling為2的64次方.

以下進行宣告及給值: Brad01.java

package tw.brad.java.example;

public class Brad01 {
  public static void main(String[] args) {
    byte Var1;		// [a-zA-Z$_][a-zA-Z0-9$_]*
    byte Var2 = 123;	// -128 ~ 127 => 2^8
    byte Var3, Var4 = 12, Var5;
    byte $_$;
    byte 變數6;
    
    short s1;	// 2^16 = 65536 => -32768 ~ 32767
    int i1;	// 2^32 => 4290000000 => 4G
    long long1;	// 2^64
  }
}

對於基本型別的給值, 只要是不帶小數點的數字, 皆視為int. 可以給值到byte及short, 此時要注意的是不可以超過宣告變數型別的範圍. 如果寫成123L, 則表示123是佔有與long相同空間大小的數值內容, 對於整數而言, 只能對宣告為long的變數進行給值.

在整數中可以進行基本的加減乘除(+-*/)及取餘數(%)的運算, 運算的兩倆數值範圍都在以下:

  • byte
  • short
  • int
  • char

則其結果將是int, 即使是兩個byte數值運算. 因此, 以下程式將會發生編譯失敗.

byte v1 = 10; 
byte v2 = 3;
byte v3 = v1 / v2;

可以修正為:

byte v1 = 10; 
byte v2 = 3;
int v3 = v1 / v2;
System.out.println(v3);

將會印出 3, 因為是整數運算, 相除取整數的商值.

 

浮點資料


就是資料值可以精確到小數點的數值資料, 有float與double兩種, 範圍大小的差異. 只要是帶有小數點的數值, 例如12.3, 是以double型別視之, 除非後面加上F或是f, 例如12.3F, 則是以float空間大小存放數值12.3.

float的資料數值是單精確度的32位元, 而double則是雙精確度的64位元.

// float / double
float f1 = 123;
float f2 = 123.1f;
double d1 = 123.0;
double d2 = 1.32e2;	// 1.32 x 10^2
System.out.println(d2);

字元資料


用來表示一個字元的資料, 用一對單引號刮起來的一個字元,, 也可以視為正整數的資料, 佔有2的16次方的空間大小, 也就是0到65535, 以可以進行數學運算.

char c1 = 'a';	// 97
System.out.println(c1);
char c2 = 65;	// 0 ~ 65535 => 2^16
System.out.println(c2);
char c3 = '書';	// 
System.out.println(c3);

布林資料


在Java中以一個bit空間存放的值, 以關鍵字來表示true或是false. 通常使用在邏輯判斷運算式中. 例如:

public static void main(String[] args) {
  boolean b1 = false;
  if (b1) 
    System.out.println("OK");
  else 
    System.out.println("XX");
  
  System.out.println("end");
}

 

 

%d bloggers like this: