發表文章

目前顯示的是 7月, 2018的文章

20180731陣列筆記:

20180731 陣列筆記 : 一維陣列在宣告時,可以宣告 int[] l=null; String [] a = {"a","b","c"}; 一維陣列在宣告時,需宣告陣列大小。 int [] l = new int [2]; 二維陣列在宣告時,至少要宣告第一欄的陣列大小。 int [][] l = new int [2][]; 一維陣列及二維陣列在傳參數到方法時,只要傳出變數。 abc.play(l); 而接收的方法,要完整列出傳入的陣列的維度。 void play ( int [][] a) {} 陣列有初始值 0 宣告一維陣列 String [] a = {"a","b","c"}; ,查看其記憶體位置 System . out .println(a); 結果為 [Ljava.lang.String;@9e89d68 。記憶體至置為 @9e89d68 查看陣列內的數值 System . out .println( a [0]); 出現 a; 陣列初始值為 null; 常用方法 : length 查詢長度

StringBuilder跟StringBuffer的方法

StringBuilder跟StringBuffer的方法幾乎一模一樣 關於兩者的差別請見右邊連結: 連結在此 常用的方法有: append() :這個方法是將字串接在字串的最後方 insert():這個方法可以將字串接在你指定的位置 indexOf():這個方法是尋找某個字串在現在這段字的那個位置,可以拿來搭配insert使用 reverse():可以將整個字串反轉順序。 toString():就是將串好的字轉成字串輸出 length():現有的字串長度

SQL資料的排序:

資料的排序 : 1 單鍵排序 語法 : select from [where....] order by 鍵值 [asc/desc] 說明 :1. 鍵值可以用欄名,運算式 虛擬欄位,欄位的順序值, ( 由 1 起算 ) 2 預設是 ASC

SQL建立成績方法

delimiter $$ create function grade(score int) returns char; begin delclare gd char(1); if score =300 then set gd=”A”; elseif score Between 280 and 299 then set gd=”B”; elseif score Between 250 and 279 then set gd=”C”; elseif score Between 200 and 249 then set gd=”D”; elseif set gd=”E”; end if; return gd; END $$ delimiter ;

SQL顯示所有自訂涵數

SQL 顯示所有自訂涵數 語法 :show function status; case: 敘述 語法 : CASE WHEN P 條件式 1 THEN 敘述式 1 WHEN P 條件式 2 THEN 敘述式 2 WHEN P 條件式 3 THEN 敘述式 3 ELSE 敘述群 n END CASE DELIMETER $$;

sql 成績函數設定

delimiter $$   //將結束符號改為$$ create function grade(score int) returns char begin        declare gd char(1); if  score =300 then set gd="A"; elseif  score Between 280 and 299 then set gd="B"; elseif  score Between 250 and 279 then set gd="C"; elseif  score Between 200 and 249 then set gd="D"; else set gd="E"; end if; return gd; END $$ delimiter ;  //將結束符號改回來;
int line while (( line=br.readLine() ) !=  null ) { System.out.print(line); } 注意, readLine() 會刪除每行末尾的跳行符號 (即 "\r\n") 後再傳回, 因此檔案中原本的五列資料用 print 輸出時全部擠在一列, 如果用 println 就會輸出五列了. int  ch; while ((ch=br.read()) != -1) { System.out.print( (char) ch); } 這樣就不會像 readLine() 那樣會自動刪除列尾的跳行字元了, 即使用 print 也會輸出完整內容 :
import java.io.FileReader; import java.io.BufferedReader; import java.io.IOException; //讀取檔案(使用BufferedReader方便讀取整行) public class Test006 { public static void main(String[] args)throws IOException  { //讀取檔案位置 FileReader fr = new FileReader("C:\\DATA\\TEST.TXT");      //BufferedReader br表示宣告一個型態為BufferedReader的物件變數, //而new BufferedReader()表示以BufferedReader類別建構一個物件 //Java.io.BufferedReader 類從字符輸入流中讀取文本,緩衝各個字符,從而提供字符,數組和行的高效讀取。 //以下是有關的BufferedReader要點:1緩衝區的大小可以被指定或默認的大小也可使用。 //2.Reader的每一個讀取請求會導致相應的讀取請求底層字符或字節流。 BufferedReader br = new BufferedReader(fr);        //該方法返回一個字符整數。如果流已到達末尾,那麼該方法返回-1。 while (br.ready()) {                      //返回值: 字符串,包含此行的內容,不包含任何行終止符,或者null,如果流的末尾已到達。 System.out.println(br.readLine());    } fr.close();                              ...

寫入檔案

import java.io.FileWriter; import java.io.IOException; //寫入檔案 public class Test005 {     public static void main(String [] argv) throws IOException {             FileWriter fw = new FileWriter("C:\\data\\test.txt");  //要寫入的位置         fw.write("http:");                                     //寫入的內容         fw.flush();                                            //資料流斷掉         fw.close();                                            //關閟fw     } }

集合 HashSet、LinkedHashSet、TreeSet

import java.util.*; public class Test004<E> {  public static void main(String[] args) { HashSet<Integer> hs=new HashSet<Integer>(); hs.add(1); hs.add(3); hs.add(4); hs.add(2); hs.add(2); hs.add(9); hs.add(5); hs.add(1); System.out.println("這是HashSet的做法:-----------------------"); System.out.println(hs); Iterator<Integer> i=hs.iterator();//宣告Iterator型態的變數 i,將該物件存入i while(i.hasNext()) {        //判斷是否還有下一個元素,若有則真。 System.out.print(i.next()+"  "); //印出下一個元素 } System.out.println(); Set<Integer> is =new LinkedHashSet<Integer>();//宣告型態為Set,實體為LinkedHashSet的變數 is.add(1); is.add(3); is.add(4); is.add(2); is.add(2); is.add(9); is.add(5); is.add(1); System.out.println("這是LinkedHashSet的做法:-----------------------"); System.out.println(is); Iterator<Integer> i1=is.iterator();//宣告Iterator型態的變數 i1,將該物件存入i1 while(i1.hasNext()) {  ...

跳出輸入視窗,輸入整數

跳出輸入視窗,輸入整數 import javax.swing.JOptionPane; public class Test004 {  public static void main(String[] args) {   String s=JOptionPane.showInputDialog("請輸入一整數:");   int ds=Integer.valueOf(s);   System.out.println(ds);    } }

靜態static 與非靜態的差別

static靜態 使用類別: 類別.方法 設定屬性: 類別.屬性 非靜態 在使用之前必需先建立一個物件。才能使用物件裡的方法。 使用方法: 物件.方法 設定屬性: 物件.屬性

離開程式 system.exit

bookShop.length與bookShop[i]的差別,在陣列中

class Array_2D_Irregular{ public static void main(String[] args){ String[] shopName = {"梵谷書店", "麗莎書店"}; String[][] bookShop = {{"亂世佳人","雙城記","科學怪人","小美人魚"},        {"亂世佳人","睡美人","天方夜譚"}}; for(int i=0; i<bookShop.length; i++){ System.out.print(shopName[i] + " "); for(int j=0; j<bookShop[i].length; j++) System.out.print(bookShop[i][j] + " "); System.out.println(); } } }

陣列的排序 Arrays.sort(陣列);

import java.util.Arrays; class Array_Sort{ public static void main(String[] args){ int[] cntLisa = {5, 3, 1}; System.out.print("書籍依存量排序: "); Arrays.sort(cntLisa); for(int count: cntLisa) System.out.print(count + " "); } }

Array_Assign,我和你共用同一個內容。我改了你也會變。

class Array_Assign{ public static void main(String[] args){ int[] cntVan = {5, 3, 10}; int[] cntLisa = cntVan;                              //你和我使用同一個內容 cntLisa[0]=0;                                            //把內容更改,兩者的內容都會變動。                 System.out.print("麗沙小姐將第一本書賣完後的存量: "); for(int count : cntLisa) System.out.print(count + " "); System.out.println();                 System.out.print("梵谷先生接手時書的存量: "); for(int count : cntVan) System.out.print(count + " "); } }

Array_Copy,我和你有相同的內容,但我的內容和你的內容是不同一個。陣列

class Array_Copy{ public static void main(String[] args){ double[] prcVan = {200,0, 350.0, 250.0}; double[] prcLisa = new double[prcVan.length]; // System.arraycopy(來源陣列,起始索引值,目的陣列,起始索引值,複製長度); System.arraycopy(prcVan, 0, prcLisa, 0, prcVan.length); System.out.print("麗沙小姐將書籍八折出售: "); for(int i=0; i<prcLisa.length; i++) prcLisa[i]*=0.8; for(double price: prcLisa) System.out.print(price + " "); System.out.println(); System.out.print("梵谷先生書店的書籍售價: "); for(double price: prcVan) System.out.print(price + " "); }

prc.length;回傳陣列的長度

int prc[] = new int [3]; System.out.println("陣列長度為:" + prc.length); for(int i=0; i<prc.length; i++) System.out.print(prc[i] + " ");

for(int price : prc),for迴圈讀出陣列內的內容

class Array_Access_ForEach{ public static void main(String[] args){ int prc[] = {200, 350, 200,500,600}; String prcName[] = {"白雪公主","七個小孩","八隻豬","九本書","實在厲害"}; System.out.print("書的價格為:"); for(int price : prc) System.out.print(price + " "); for(String price:prcName) System.out.println(price+""); } }