JAVA 程式設計 資訊管理系 - 網路組
如何學好JAVA 賞心悅目 由大到小 用程式語言模擬你的思考 大小寫區分
開發環境 JAVA SDK 7 http://www.oracle.com/technetwork/java/javase/downloads/index.html NetBeans 或 Eclipse NetBeans https://netbeans.org/downloads/index.html Eclipse http://www.eclipse.org/downloads/
第一隻程式 public class Welcome { public static void main(String agrs[]) { System.out.println("Hello JAVA"); }
print差別 System.out.print("Hello JAVA"); System.out.printf("Hello JAVA"); System.out.println("Hello JAVA");
print差別 print 和 printf 差別在於解譯特殊符號 print 和 println 差別在於換行
printf %c 一個字元(char) %d 整數(int, long) %f 浮點數(float, double) %o 八進制的數字 %s 字串(String) %u 不帶正負號的整數 %x 十六進制的整數 %% % 來源 http://heidian.iteye.com/blog/404632
資料型態 Primitive Types / simple type 範圍 中文 byte (1byte) -128 ~ 127 位元組 short (2bytes) -32768 ~ 32767 短整數 int (4bytes) -2147483648 ~ 2147483647 整數 long (8bytes) -9223372036854775808 ~ 9223372036854775807 長整數 float (4bytes) +-3.4028237*10+38 ~ +-1.30239846*10-45 浮點數 double (8bytes) +-1.76769313486231570*10+308 ~ 4.94065645841246544*10-324 倍準數 char (2bytes) Unicode characters (含中文) 字元 boolean (1bytes) true或false 布林函數 String 字串 字串
輸入資料 Scanner input = new Scanner(System.in); int a = input.nextInt(); System.out.println(a);
運算子 運算子 功能 範例 + 加 a + b - 減 a - b * 乘 a * b / 除 a / b % 取餘數 a % b
猜猜看c是多少 int a = 10; int b = 3; int c = a/b;
猜猜看c是多少 int a = 10; int b = 3; float c = a/b;
正確應該是 int a = 10; int b = 3; float c = (float)a/b;
相等性及關係運算子 運算子 功能 範例 == 相等 a == b != 不相等 a != b > 大於 a >= b >= 大於等於 < 小於 a < b <= 小於等於 a <= b
條件運算子 運算子 功能 範例 && 邏輯且(And) a && b || 邏輯或(or) a || b ?: 條件選擇(if) a ? b : c
位元運算子 運算子 功能 範例 ~ 取補數 ~a << 保留正負號向左位移 a << b >> 保留正負號向右位移 a >> b >>> 無正負號向右位移 a >>> b & 位元且 a & b ^ 位元互斥或 a ^ b | 位元包含或 a | b
if 條件式一 if(條件式) 陳述句一; else 陳述句二;
if 條件式二 if(條件式) { 陳述句一; 陳述句二; } else { 陳述句三; 陳述句四; }
猜猜看會顯示什麼 int a =123; if(a==1) System.out.print("1"); System.out.println("2");
if 條件式三 if(條件式一) 陳述一; else if(條件式二) 陳述句二; else if(條件式三) 陳述句三; else 陳述句四;
switch switch(變數名稱或運算式) { case 符合數字或字元: 陳述句一; break; case 符合數字或字元: 陳述句二; break; default: 陳述三; }
switch JAVA 7 之後支援String 比較
for迴圈 for (起始值; 條件式; 更新值) { 指令一; 指令二; 指令三; }
猜猜看 float f = 3.14;
正確寫法 float f = 3.14f; 或是 float f = (float)3.14; 推薦用第一個方式
猜猜看 int a= 10; int b = 3; System.out.println(a/b);
猜猜看 int a= 10; double b = 3; System.out.println(a/b);
作業解說 Scanner input = new Scanner(System.in); System.out.println("請輸入直徑"); double r = input.nextDouble(); //取得半徑 double ans1 = 2 * r; //直徑 double ans2 = 2 * Math.PI * r; //周長 double ans3 = Math.PI * r * r; //面積 System.out.printf("直徑=%f 周長=%f 面積=%f\n", ans1, ans2, ans3);
作業解說2 Scanner input = new Scanner(System.in); System.out.println("請輸入五位的數字"); int n = input.nextInt(); if(n>=10000 && n<=99999) { for(int i=4;i>=0;i--) { System.out.printf("%d ",(int)(n/Math.pow(10,i))%10); } } else { System.out.println("你輸入的不是五位數字");
作業解說2偷吃步 Scanner input = new Scanner(System.in); System.out.println("請輸入五位的數字"); String n = input.nextLine(); if(n.length()==5) { for(int i=1;i<=5;i++) { System.out.printf("%s ",n.substring(i-1,i)); } } else { System.out.println("你輸入的不是五位數字");
Class類別(物件) public class Cat { String name = "kitty"; String sound = "meow"; int kg = 50; }
副程式(動作、設定、取得) public void getName() { } public String setName() {
區域變數概念
建構子(初始化) public class Cat { String name = "kitty"; String sound = "meow"; int kg = 50; public Cat(String name) { this.name = name; }
物件中的物件 public class Cat { String name = "kitty"; String sound = "meow"; int kg = 50; Eye lefteye = new Eye(); Eye righteye = new Eye(); }