一、複習了一維數組,還複習了強制類型轉換的註意點。 package com.bjpowernode.java_learning; public class D67_1_GoDeepIntoArrays { public static void main(String[] args) { //創建一個 ...
一、複習了一維數組,還複習了強制類型轉換的註意點。
package com.bjpowernode.java_learning; public class D67_1_GoDeepIntoArrays { public static void main(String[] args) { //創建一個數組,這個數組既可以存儲Dog,也可以存儲Cat Animal67[] as = new Animal67[4]; //給數組每個元素賦值 Dog67 d1 = new Dog67(); Dog67 d2 = new Dog67(); Cat67 c1 = new Cat67(); Cat67 c2 = new Cat67(); as[0] = d1; as[1] = d2; as[2] = c1; as[3] = c2; //需求:遍曆數組,取出每個對象,如果是Dog67那麼就執行eat方法,如果是Cat67就執行move方法 for(int i = 0;i<as.length;i++) { Animal67 a = as[i]; if (a instanceof Cat67) { Cat67 c3 = (Cat67)a; c3.move(); }else { Dog67 d3 = (Dog67)a; d3.eat(); } } } } class Animal67{ } class Dog67 extends Animal67{ public void eat() { System.out.println("Dog eat"); } } class Cat67 extends Animal67{ public void move() { System.out.println("Cat move"); } }
package com.bjpowernode.java_learning; public class D67_1_GoDeepIntoArrays { public static void main(String[] args) { //創建一個數組,這個數組既可以存儲Dog,也可以存儲Cat Animal67[] as = new Animal67[4]; //給數組每個元素賦值 Dog67 d1 = new Dog67(); Dog67 d2 = new Dog67(); Cat67 c1 = new Cat67(); Cat67 c2 = new Cat67(); as[0] = d1; as[1] = d2; as[2] = c1; as[3] = c2; //需求:遍曆數組,取出每個對象,如果是Dog67那麼就執行eat方法,如果是Cat67就執行move方法 for(int i = 0;i<as.length;i++) { Animal67 a = as[i]; if (a instanceof Cat67) { Cat67 c3 = (Cat67)a; c3.move(); }else { Dog67 d3 = (Dog67)a; d3.eat(); } } } } class Animal67{ } class Dog67 extends Animal67{ public void eat() { System.out.println("Dog eat"); } } class Cat67 extends Animal67{ public void move() { System.out.println("Cat move"); } }
二、方法調用的時候也可以傳遞一個數組
package com.bjpowernode.java_learning; public class D67_2_ { public static void main(String[] args) { //第一種方式 int[] a = {12,3,4,5,6}; m1(a); //第二種方式 m1(new int[] {34,4,5,6}); //m1({34,4,5,6});這種方式是不行的,編譯報錯 } public static void m1(int[] a) { for(int i = 0;i<a.length;i++) { System.out.println(a[i]); } } }
三、關於main方法中的參數列表String[] args
1.String[] args是專門用來接受命令行參數的
2.例如:java ArrayTest07 abc def aaa
JVM在調用ArraysTest07類的main方法之前,先“abc def aaa"這個字元串以”空格“的方式進行分割,然後存儲在String數組中。·
package com.bjpowernode.java_learning; public class D67_3_ArgsAnlysis { public static void main(String[] args) { System.out.println("String類型的數組中的元素個數為:" + args.length); //遍歷 for(int i=0; i<args.length;i++) { System.out.println(args[i]); } //需求說明:運行該軟體的時候必須提供用戶名和密碼。 //格式:java D67_3_ArgsAnlysis usrname password //如果用戶沒有提供足夠的參數,則退出系統 if (args.length != 2) { System.out.println("要想使用這個系統,就必須這樣輸入java D67_3_ArgsAnlysis usrname password"); return ; } //參數正確,如果用戶名為admin,密碼是123則登陸成功 String username = args[0]; String passsword = args[1]; if ("admin".equals(username) && "123".equals(password)) { //這裡如果寫成username.equals("admin"),就容易造成空指針異常 System.out.println("登錄成功,歡迎admin"); }else { System.out.println("登錄失敗,請重新確認") } } }
四、源碼:
D67_1_GoDeepIntoArrays.java
D67_2_TwoWaysOfInvolingArray.java
D67_3_ArgsAnlysis.java
https://github.com/ruigege66/Java/blob/master/D67_1_GoDeepIntoArrays.java
https://github.com/ruigege66/Java/blob/master/D67_2_TwoWaysOfInvolingArray.java
https://github.com/ruigege66/Java/blob/master/D67_3_ArgsAnlysis.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料