java【四】之數組,創建,使用,排序
書寫是對思維最好的緩存!
目錄
java【四】之數組,創建,使用,排序
- 創建數組
- 給數組元素賦值
- 使用,修改數組的信息
- 創建多維數組
java數組的定義有兩種方法
第一個:靜態
數據類型[] 變量名 = new 數據類型[]{數組的內容};這是靜態定義的標準寫法,也可以像這樣簡寫
數據類型[] 變量名 = {數組內容},下面來看看實際代碼
定義一個int類型的數組 array
int[] array = new int[]{1,2,3};
int[] array = {1,2,3};
第二個:動態
數據類型[] 變量名 = new 數據類型[數組長度],動態沒有元素,但是有默認值;這個默認值就是0以及0對應的數據類型的值,比如說對應的int類型那麼就是0,再比如char類型的,那麼就是對應的字符串,但是這個是打印不出來的;
定義一個String類型的數組 StringArray 數組長度是6
String[] StringArray = new String[6]
給數組元素賦值:
- 對於不是 非常大的數組可以使用在創建數組時,指定初始值:
String[] mystr={"fh8esiu","ftyjg","etrjyn","tyfyh,xcvhb"}
int[] myintarray={1,8,6,2,6,4}
- 對於很大的數組,可以使用for循環,加Scanner類 進行輸入大家如果不是很瞭解Scanner輸入可以看一下下面的文章:
- Scanner輸入詳解
- 下面是使用for循環的賦值操作:
-
mport java.util.Scanner; public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); int[] array=new int[10]; for(int i=0;i<10;i++) array[i]=input.nextInt(); for(int i=0;i<10;i++) System.out.print(array[i]+" "); } } // 輸出: D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=59006 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test 1 7 8 7 8 1 4 5 6 3 1 7 8 7 8 1 4 5 6 3 Process finished with exit code 0
使用,修改數組的信息:
- 關於 使用數組其實與c++大致相同,可以使用下標[] 或者使用for循環遍歷數組,進行增刪之類的修改:
-
// 這是使用將一個字符串轉化爲字符數組其中使用了toCharArray() import java.util.Scanner; public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); String mystr=input.nextLine(); char[] array=mystr.toCharArray(); for(int i=0;i<mystr.length();i++) System.out.print(array[i]+" "); } } // 輸出: D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=59729 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test bh bgyoghduidhpqgvyv b h b g y o g h d u i d h p q g v y v Process finished with exit code 0 // 下面是使用字符數組轉化爲字符串 mport java.util.Scanner; public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); char[] a={'a','d','d','v','e'}; String mystr1=new String(a); // 使用將字符數組名轉化爲String裏面的參數 String mystr2=String.valueOf(a); // 使用String.valueOf System.out.println(mystr1); System.out.println(mystr2); System.out.println(mystr2==mystr1); // false 這種方法比價的是兩者的地址 System.out.println(mystr1.equals(mystr2)); // ture 這種比較的是內容 } // 輸出結果: D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=59878 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test addve addve false true Process finished with exit code 0 // 使用length可以求數組的長度,使用length()可以求字符串的長度 mport java.util.Scanner; public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); char[] a={'a','d','d','v','e'}; String mystr1=new String(a); String mystr2=String.valueOf(a); System.out.println(mystr1); System.out.println(mystr2); System.out.println(mystr2==mystr1); System.out.println(mystr1.equals(mystr2)); System.out.println(a.length); System.out.println(mystr1.length()); } } // 輸出結果: D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=60199 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test aqelr t aqelr t false true 7 7
創建多維數組
-
要創建二維數組必須在創建時多加一對方括號
-
// 以整型爲例 int[][] myint=new int[10][10]
對數組的排序
-
可以使用冒泡排序
-
也可以使用快排,使用快排必須導入import java.util.* ,使用Array類的方法sort進行排序
-
// 以字符串數組爲例 import java.util.*; public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); String [] mystr=new String[10]; for(int i=0;i<10;i++){ mystr[i] = input.next(); } Arrays.sort(mystr); for(int i=0;i<mystr.length;i++) System.out.println(mystr[i]); } } D:\eclipse\jdk\bin\java.exe -Didea.launcher.port=63357 "-Didea.launcher.bin.path=D:\java_idea\IntelliJ IDEA 2019.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\java_idea\out\production\java_idea_source;D:\java_idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 test juy ooj dfrt gd yikthf jdsq ngk yjj ouh, ly dfrt gd jdsq juy ly ngk ooj ouh, yikthf yjj Process finished with exit code 0
喜歡就點個贊吧!!!