發表文章

目前顯示的是 1月, 2021的文章

[Java]import 與 static

import -告訴以下程式使用哪一個package下的元件 java import 文法; import packageName.className //單一類別 import java.util.Date; class importtime{ public static void main(String[] args){ Date date2 = new Date(); System.out.println(date2); } } import packageName.* //package以下同一層的所有類別 import java.util.*; class importtime{ public static void main(String[] args){ Date date2 = new Date(); System.out.println(date2); } } import java.util.*; import java.sql.*; class importtime{ public static void main(String[] args){ Date date2 = new Date(); System.out.println(date2); } } //產生error 無法辨識是哪一個package底下的成員 static import -package下的元件中有static的成員 import static java.lang.System.out; class importstatic{ public static void main(String[] args){ out.println("step1"); out.println("step2"); out.println("step3"); out.println("step4");

套件-Package

 FQN -Fully qualified name 完全限定名稱 功能-做軟體分類 安全性控管 命名規則-小寫的倒寫URL 實作-以目錄的形式來實踐 package com.lccnet; class HelloWord{ public static void main(String[] args){ System.out.println("Hello World!!!!"); } } 通常一份 .java 檔格式的程式碼結構 package com.000; //一個 import OOOO; //多個 class HelloWord //多個 { public static void main(String[] args){ System.out.println("Hello World!!!!"); } } 當使用套件執行.java檔時,必須再套件的前一個目錄才能執行  javac HelloWord.java 如果要在所有的目錄底下都可以執行該套件的.java檔的.class檔時,必須設定絕對路徑 set classpath=C:\Alice\classes;%classpath% C:\>java com.lccnet.HelloWord 開發程式會將.java檔跟.class檔分開 src→ .java檔 classes→ .classes檔 java -d C:\Alice\classes com.lccnet.HelloWord //命令列模式 java -cp C:\Alice\classes com.lccnet.HelloWord //單行模式 java -classpath C:\Alice\classes com.lccnet.HelloWord //單行模式 verbose 檢視呼叫過哪些執行檔 java -verbose com.lccnet.HelloWord //單行模式 在java的系統中ext的優先權最高,將.jar檔放入C:\jdk1.8\jre\lib\ex

繼承-Inheritance

物件導向程式開發的三個重點,Java是單一繼承  (C++是多重繼承) 繼承-目的 code reuse 封裝 多型 通常是特殊型別 繼承 通用型別 語法 class 子類別名稱 extends 父類別名稱{    } override overload 覆寫 多載 子類別繼承父類別的屬性跟方法, 然後改寫 相同的 方法名稱,擁有不同的 實作。 class SuperClass { String str="super str"; void fun (){ System.out.println("super method"); } } class SubClass extends SuperClass { void fun (){ System.out.println("子類別改寫父類別方法override"); } String newstr="子類別新屬性";      void newfun (){ System.out.println("子類別的新方法"); } } void test () ; void test ( int i) ; void test ( char c) ; void test (String s, int i) ; void test (String s, String s2) ; 子類別可以new 父類別的型別 物件 obj1 是子類別,但是只有父類別的屬性跟方法 SubClass obj1= new SubClass();   物件 obj1 可以轉回子類別 obj2 SubClass obj2=(SubClass) obj1; Instanceof &

類別型態 vs 基本型態

基本型態 類別型態 目的 效率 類型 long、int、double、float、boolean、byte Long、Integer、Double、Float、Boolean、Byte 語法 基本型態 變數名= XX; 類別型態 變數名=new 類別型態(); 自動裝箱(Auto Boxing) 您要使用包裹型態(Wrapper Types)才能將基本資料型態包裝為物件,前一個小節中您已經知道在 J2SE 5.0 之前,要如下才能將 int 包裝為一個 Integer 物件: Integer integer = new Integer(10); Long k=new Long(0); 在 J2SE 5.0 之後提供了自動裝箱的功能,您可以直接如下撰寫來包裹基本型態: Integer integer = 10; Long k=0L; 自動拆箱(unboxing) public class AutoBoxDemo2 { public static void main (String[] args) { Integer i1 = 100 ; Integer i2 = 100 ; if (i1 == i2) System.out.println( "i1 == i2" ); else System.out.println( "i1 != i2" ); } } Integer pool 的範圍為1byte :-127~128 物件型態的處理時間比基本型態還慢!!! class wrapperclass { public static void main ( String[] args ) { long

[Java]物件導向

 http://tw.gitbook.net/java/index.html 陣列 型態 變數名 ; int[] array = new int[5]; class Testarray  {    public static void main(String[] args){                       System.out.println("陣列");           int[][] arr= new int[3][9];           int k=1;                      System.out.println("tttt"+arr.length);            for(int i = 0;i<arr.length;i++){                                 for(int j = 0;j<arr[i].length;j++){                                     arr[i][j] =k++;                                             System.out.print(" "+arr[i][j]);                   if((k-1)%3==0 && k>1) System.out.println();                                 }               System.out.println();                           }     } } OUTPUT: 1 2 3 4 5 6  7 8 9 10 11 12 13  14 15  16 17 18 19 20 21 22 23 24 25 26 27

[Java]迴圈_2

圖片
For用法 for(int i=1;i<10;i++) for( ;i<10;i++ ) for(int i=1; ;i++) for(int i=1;i<10; ) for(int i=1; ; ) for( ;i<10; ) for( ; ;i++) for( ; ; ) = while(true) 迴圈( 條件 ){     敘述一;     continue; //跳到迴圈開頭      敘述二;     break; //跳出迴圈, 終止程式      敘述三;     break  bable1;      continue    bable1; } class ForBreak{     public static void main(String[] args){                  System.out.println("九九乘法表");         int i=1;          for(;;){           int j=1;                      for(;;){                 System.out.print(i+"*"+j+"="+i*j);                 System.out.print(i*j>9?" ":"  ");                   if(j>8) break;                 j++;                                           }                if(i>8) break;                i++;                      System.out.println();                      }                    } } 迴圈次數 不限次數 do wh

[Java]迴圈_1

For for( 初始化參數;迴圈判斷;迴圈增量 ){ } class ForMulti{     public static void main(String[] args){                   System.out.println("九九乘法表");                  for(int j=1;j<10;++j){                       for(int i=1;i<10;++i){                 System.out.print(i+"*"+j+"="+i*j);                 if(i*j>=10){                 System.out.print(" ");                 }                 else{                 System.out.print("  ");                 }                             }                System.out.println();                       }                   } } class ForMulti1{     public static void main(String[] args){                   System.out.println("九九乘法表");                  for(int j=1;j<10;++j){                       for(int i=1;i<10;++i){                 System.out.print(i+"*"+j+"="+i*j);                    System.out.print(i*j>9?" ":"  ");    //三元運算指令    

[Java]流程控制-Swith

Switch( 變數 ){     case ( 明確的變數或常數 ):     敘述;     break; //終止程式     default; //若所有條件都不符合則進入該行 } 變數 用法 變數 用法 可放入除Long外的整數 String class enum class TestSwtich{       public static void main(String[] args){             int der=3;         switch (der){           case 1 :                   System.out.println("大學一年級");               case 2 :                   System.out.println("大學二年級");               case 3 :                   System.out.println("大學三年級");               case 4 :                   System.out.println("大學四年級");                      }                         } } OUTPUT: 大學三年級 大學四年級 class TestSwtich1{       public static void main(String[] args){              int der=3;         switch (der){           case 1 :                 System.out.println("大學一年級");                     break;           case 2 :                 System.out.println("大學二年級");                 break;               case