/**
* 数组:具有相同数据类型的元素的集合,它是一个容器:[]
* 元素:每一个数据就是一个元素
**/ 数组中元素的个数:长度(length) 数组分为:一维数组(最常用)
一维数组的声明:数组类型 数组名[]; 数组类型[] 数组名;
int a[]; int[] a;
二维数组的声明:数组类型 数组名[][]; 数组类型[][] 数组名; 数组类型[] 数组名[];
int a[][]; int[][] a; int[] a[];
一维数组的创建:数组名 = new 数据元素类型[元素个数];
a = new int[i];
二维数组的创建:数组名 = new 数据元素类型[行数][列数]; 数组名 = new 数据元素类型[行数][];
a = new int[i][]; // --必须声明行数--//
一维数组的初始化:
动态初始化:数组名[元素下标] = 元素值;
a[i]=num; //...i从0开始...//
静态初始化:数组类型 数组名[] = {元素1,元素2,...}; 数组类型 数组名[] = new 数据类型[]{元素1,元素2,...};
int a[] = {1,2,...}; int a[] = new int[]{1,2,...};
二维数组的初始化:
动态初始化:int[][] a = new int[3][];
a[0] = new int[2];
a[0] = new int[2];
a[0] = new int[2];
a[0][0] = 1;
a[0][1] = 2;
...
静态初始化:数组类型 数组名[][] = {{元素11,元素12,...},{元素21,元素22,...}};
int a[][] = {{1,2,3},{4,5},{7}};
数组类型 数组名[][] = new 数据类型[][]{{元素11,元素12,...},{元素21,元素22,...}};
int a[][] = new int[][]{{1,2,3},{4,5},{7}};
//-----------------------------------------------------------------------------------------------------------//
public class ArrayDemo {
public static int position(int number,int[] array){
int position=0 ;
for(int i = 0;i<array.length;i++){
if(number==array[i]){
position=i+1;
System.out.println("你要查找的數字位置在第"+position+"位");
}
}return position;
}
public static void main(String[] args) {
int[] array = { 2, 4, 5, 5, 8, 9}
Scanner input = new Scanner(System.in);
System.out.print("输入您要找的数:");
int number = input.nextInt();
int position =ArrayDemo.position(number, array);
if(position==0){
System.err.println("沒有您要查找的數字");
}
public class ArrayDemo {
public static boolean check(int a, int[] array) {
boolean isRight = false;
for (int i = 0; i < array.length; i++) {
if (a == array[i]) {
isRight = true;
}
}
return isRight;
}
public static void main(String[] args) {
// 已知一个数组{2,1,4,5,6,4,64,46};要求从控制台输入一个书,判断这个数是否在数组中存在
int[] array = { 2, 4, 5, 5, 8, 9 };
Scanner input = new Scanner(System.in);
System.out.print("输入您要找的数:");
int number = input.nextInt();
boolean isRight = ArrayDemo.check(number, array);
if (isRight) {
System.out.println("输入的数字存在");
}else{
System.out.println("输入的数字不存在");
}
// 声明一个一维数组
int[] a;//声明一维数组
// 数据类型[] 变量名 = new 数据类型[];注意:数组的长度是固定的不可以改变;
int[] array = new int[20];//创建一个数组并进行初始化
// 如何给数组元素赋值 变量名[下标] 下标是从0开始的
array[0] = 1;
array[1] = 12;
array[9] = 98;
/**
* Exception(异常) in thread "main"
* java.lang.ArrayIndexOutOfBoundsException: 10 at
* HomeWork.ArrayDemo.main(ArrayDemo.java:24)
*/数据越界异常
System.out.println(array[10]);
// 如何将数组中的所有元素一次输出(遍历数组)数组的长度如何获取:数组名.length
for(int i = 0;i<array.length;i++){
System.out.println(array[i]);
}
//二维数组的遍历:
int a[][]={{1},{4,5,6},{7,8}};
for(int i = 0; i<a.length; i++) {
for(int j = 0; j<a[i].length; j++) {
System.out.println(a[i][j]+" ");
}
System.out.println();
}
// 数组的静态初始化(直接赋值):
String[] array1 = {"tom","jones","zhangsan","lisi","abc"};
for(int i = 0;i<array1.length;i++){
System.out.println(array1[i]);
}
int[] array2 = new int[]{2,34,1,5,7,56,112};
for(int i = 0;i<array2.length;i++){
System.out.println(array2[i]);
}
int [] array3 = new int[10];
Scanner input = new Scanner(System.in);
System.out.println("请输入");
for(int i = 0;i<array3.length;i++){
array3[i] =input.nextInt();
}
for(int i = 0;i<array3.length;i++){
System.out.println(array3[i]);
}
}
}
/**
* 方法参数的类型以及返回值的类型
* 1.可以是基本数据类型
* 2.引用类型(String 数组)
* @author Administrator
*
*/
public class ArrayDemo1 {
public static void A(int[] a){
for(int i = 0;i<a.length;i++){
System.out.println(a[i]);
}
}
public static void B(String name){
System.out.println(name);
}
public static void C(String[] arg1){
for(int i = 0;i<arg1.length;i++){
System.out.println(arg1[i]);
}
}
public static void main(String[] args) {
int[] array = {1,2,3,4,5,6};
String[] array1 = {"aaa","bbb","ccc"};
char[] c={'A','B','C'};
ArrayDemo1.A(array);
ArrayDemo1.B("tom");
ArrayDemo1.C(array1);
System.out.println(c);
}
}
public class ArrayDemo2 {
public static void C(double[] d) {
for (int i = 0; i < d.length; i++) {
System.out.println(d[i]);
}
}
public static String[] D(String[] ss) {
return ss;
}
public static void main(String[] args) {
double[] dd = { 1.34, 3.56, 1.34 };
double[] dd1 = new double[] { 2.31, 3.56, 2.15 };
double[] dd2 = new double[10];
dd2[0] = 3.15;
dd2[1] = 2.56;
ArrayDemo2.C(dd2);
String[] ss ={"tom","abc","def"};
String[] s1 =ArrayDemo2.D(ss);
for(int i = 0;i<s1.length;i++){
System.out.println(s1[i]);
}
}
}
/**
* 排序:[3,1,56,23,12,8,16,4]
* 由小到大输出排序后的数组
* 思路:
* 1.相邻的两个元素进行比较(控制下标) 判断:如何array[i]>array[i+1]
*
* @author Administrator
*
*/
public class SortDemo323 {
public static void main(String[] args) {
//二维数组的定义
int[][] array_m = new int[4][4];
array_m[0][0] = 12;
array_m[1][0] = 13;
array_m[2][0] = 14;
array_m[3][0] = 15;
System.out.println(array_m[2][3]);
int a[][] = {{1},{4,5,6},{7,8}};
for(int i = 0; i < a.length;i++){
for(int j = 0;j<a[i].length;j++){
System.out.println(a[i][j]+" ");
}
}
}
}