Java數據類型(primitive)原始數據類型


1.小心別溢出來。

要確保變量能存下來所保存的值。

你無法用小杯子裝大值。好吧,其實可以,但是會損失某些信息,也就是所說的溢位。當判斷到所使用的容器不足以裝載時,編譯器會試着防止珍重情況發生。舉例來說,你無法使用像下面這樣的把int大小的東西裝進byte的容器中:

int x = 24;

byte b = x;   //不行。

你可以用以下幾種方式來給變量賦值:

1.在等號后面直接打出(x = 12,isGood = true)

2.指派其他變量的值(x = y)

3.上述兩種方式的組合。(x = y + 43)。

下面粗體字部分是直接打出值的例子:

int size = 32; int 類型的32,名稱為size

char initial = ‘j’; char類型的'j',名稱為initial

int y  = x  + 456; 名稱為y的int類型變量,其值為x與456相加運算的結果

 

避開關鍵字:(keyword)!

你已經知道變量需要名稱和類型。

你已經知道什么是primitive主數據類型。

boolean  byte  char  double   float   int  long  short  

public private protected  abstract final native  static  strictfp

sybchronized  transient  volatile  if  else  do  while  switch  case  default  for  break  continue  assert

class extends  implements  import  instanceof   interface  new  package  super  this  catch  finally  try  throw  throws  

return void  const  goto  enum 這些是Java的保留字,如果你把它們用在名稱上面,編譯器會列出混亂的結果。

 

二、對象引用

控制Dog對象  你已經知道要如何聲明primitive主數據類型並賦值給它。但非primitive主數據類型的變量又該如何處理呢?換句話說,對象要怎么處理呢?

1.引用變量不知道大小(根據Java虛擬機有關。);

2.引用變量都具有相同的大小,而不管它實際上所引用的對象大小。

3.不可以對引用變量進行運算。

 

數組猶如杯架

1.聲明一個int數組變量。數組變量是數組對象的遙控器。

int[] nums;

2.創建大小為7的數組,並將它賦值給之前聲明為int[] 的變量nums。

nums = new int[7];

3.賦予int數組的每一個元素一個int值。要記得在int數組中的每個元素皆為int類型的變量。

數組也是對象

Java的標准函數庫包含了許多復雜的數據結構,比如map、tree、和set(見附錄B),但如果需要快速、有序、有效率地排列元素時,數組是不錯的選擇。數組能夠讓你使用位置索引來快速、隨機地存取其中的元素。

在上面的圖中有一項要注意的:數組是個對象,不管里面放的是不是primitive主數據類型。

無論被聲明來承載的是primitive主數據類型或對象引用,數組永遠是對象。但你可以聲明出可以裝載primitive主數據類型值的數組。換句話說,數組對象可以有primitive主數據類型的元素,但數組本身絕對不會是primitive主數據類型。不管數組帶有什么,它一定是對象!

1.Dog [] = pets;

2.pets = new  Dog[7];

3.pets[0] = new Dog();

 pets[1] =  new Dog();

pets[2] = new Dog();

 

Dog[] myDogs =new Dog[3];

myDogs[0] = new Dog();

myDogs[1] = new Dog();

myDogs[2] = new Dog();

myDogs[0].name = "Fido";

myDogs[0].bark();

此處的說明還未用到封裝的概念,我們會在第4章中加以討論。

 

class Dog{

String name;

public static void main(String[] args){

//創建Dog對象

Dog dog1 = new Dog();

dog1.bark();

dog1.name = "Bart";

 

//創建Dog數組

Dog[] myDogs = new Dog[3];

//關門放狗

 myDogs[0] = new Dog();

myDogs[1] = new Dog();

myDogs[2] = dog1;

//通過數組引用存取Dog

myDog[0].name = "Fred";

myDog[1].name = "Marge";

 

System.out.print(" last dog's name is ");

System.out.print(myDogs[2].name);

 

int x = 0;

while(x < myDogs.length){

myDog[x].bark();

x = x + 1;

}

}

public void bark(){

System.out.print(name  + " says Ruff! ");

}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM