陣列與字串 Java陣列特性 一維陣列 多維陣列 字串 字串的相關函數 字串緩衝器類別
Java陣列特性 陣列是由一群相同型態的變數所組成的資料型 態,以一個共同的名稱表示,而陣列中的個別元 素則以index來標示存放的位置 資料型態 陣列名稱[]; //宣告 陣列名稱=new 資料型態[個數]; //配置 int score[]; score=new int[50]; int score[]=new int[50]; //以上兩行也可以整合成一行
一維陣列 int dat[]= new int[8]; dat[0]=12; dat[1]=243; dat[2]=43; 7 5 98 22 1 1 2 3 4 5 6 7 取得陣列長度,可用 陣列名稱.length 如:dat.length 常用在for迴圈中 int dat[]={12,143,43,7,5,98,22,1};也可以建立上面的一維陣列 參考 demo17 a10
一維陣列作業 課堂練習:宣告一個陣列存月份的中文(一月、 二月...),向使用者要數字月份,印出對應的中文。 實習練習: 用亂數產生n個整數填入一維陣列,找出該陣列 元素最大值、最小值之索引值與最大、最小值之 差值 將兩個各有5個整數的一維陣列合併成一個長度 10的一維陣列 計算sum=a[0]*b[9]+a[1]*b[8]+....+a[9]*b[0] a[]={4,-5,3,5,9,-3,2,8,7,-4} b[]={8,4,3,-3,0,9,1,3,2,9}
二維以上的陣列 資料型態 陣列名稱[][]; //宣告 Java允許每列陣列元素不同 取得陣列長度方法 dat.length 取得列數 資料型態 陣列名稱[][]; //宣告 陣列名稱=new 資料型態[列個數][行個數]; //配置 int score[][]; score=new int[5][3]; 設定初值的方法可以用 int dat[][]={{9,2,3},{3,2,89}};//設定 dat[2][3]; Java允許每列陣列元素不同 取得陣列長度方法 dat.length 取得列數 dat[1].length 取得第一列長度 0,0 0,1 0,2 9 2 3 dat 3 2 89 1,0 1,1 1,2
字串 字串是Java裡內建的標準物件(只能讀取)。表示 如: “This is a book” 字串變數使用String類別宣告並且給予初值: String color="Yellow!"; 字串建構子 String(char value[],int offset,int count); String(byte bytes[],int offset,int length); String(String value);
字串的相關函數 String str="This is a test!"; 字串長度:str.length(); 取出第i個字元:str.charAt(i); 拷貝字串:str.getChars(scrBegin,SceEnd,char dest[],destBegin); 字串尋找:indexOf(); 字串比較:compareTo(),equals(); 取子字串:substring(int beg,int end), substring(int beg)
字串緩衝器類別 String 類別是唯讀的,StringBuffer 類別則可以讀寫 StringBuffer astr="This is a test!"; 拷貝字串:astr.getChars() 反向排列字串: astr.reverse(); 修改字串:astr.setCharAt(index,ch); 附加文字:astr.append(); 插入、刪除:astr.insert(), astr.delete() 轉成String:astr.toString(); 參考demo18
多維陣列作業 課堂作業:設計程式,找出二維陣列中最小值的索引值 實習作業: 某家公司的銷售報表如下:計算 (a)每一個銷售員與每個產品的銷售總金額 (b)業績最好(銷售總金額最多)的銷售員及產品
字串作業 課堂作業:請統計使用者輸入的英文出現次數,大小 寫不分 實習作業: 請取得使用者輸入的字串,將字串裡面的「考試」改 成「放寒假」 請使用者輸入一串文字,將每個字元排序後輸出 請使用者輸入YYYY/MM/DD格式的字串,顯示出其代 表的年、月、日。