陣列的長度一但建立了,就不能更改,只能另創新陣列,再把原陣列中的資料移過去。
ArrayList是一個可以自由修改長度的類別,屬於 java.util, 類別名稱後面有<E>,代表泛型
陣列的長度一但建立了,就不能更改,只能另創新陣列,再把原陣列中的資料移過去。
ArrayList是一個可以自由修改長度的類別,屬於 java.util, 類別名稱後面有<E>,代表泛型
字串-String
是一種參考資料型態,當宣告 String str = "abc"; 時,會在stack記憶體中開一個空間名為str,然後在heap記憶體的【字串池】中開一個放置字串"abc"
讓使用者輸入學生成績,範圍0~100,輸入-1時結束程式
import java.util.Scanner; public class MainClass { public static void main(String[] args) { //輸入學生成績,範圍0~100,輸入-1時結束程式 Scanner sc = new Scanner(System.in); int student[] = new int[2]; int count = 0; while (true) { if (count == student.length) { student = doubleArr(student); } int input; do { System.out.print("Enter " + (count + 1) + "th Grade:"); input = sc.nextInt(); if (input == -1) { break; } } while (input < 0 || input > 100); if (input == -1) { //必須在break一次離開當前迴圈 break; } student[count] = input; count++; System.out.println(student.length); } } public static int[] doubleArr(int arr[]) { int newArr[] = new int[arr.length * 2]; //將陣列長度放大兩倍 for (int i = 0; i < arr.length; i++) { //將原陣列的數值放入增倍的陣列 newArr[i] = arr[i]; } return newArr; //傳回新陣列的地址 } }
上面的寫法沒有問題,只是有兩個break;看的不是很舒服,所以我們修改一下
函式,只能創建在類別(class)下方,且一個類別裡,main函式只可以有一個。用來將重複、同樣的功能,定義一起。
再練習這一篇之前,為了讓使用者一直輸入數字,所以我自己寫了一個無限迴圈,但9/13回來看,原來無限迴圈可以用這樣就好 while(true)
Q:請寫出一個判斷使用者輸入的數字,是否為2、3、6的倍數,若都不是也請顯示出非倍數。
JAVA是物件導向的語言,物件導向最重要的就是他有class(類別)的概念。(動態網頁程式 Chap.2)
【類別】就像藍圖,而【物件】就是由藍圖製作出來的有功能性的東西,【物件】又有【屬性】和【方法】