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
喜欢就点个赞吧!!!