
- 数组一旦被创建,大小时不可以改变的。数组的元素可以时任何数据类型,包括基本类型和引用类型数组变量属于引用类型,数组也可以看成对象,数组中每个元素相当于该对象的成员变量。数组本身就是对象,Java中的对象都是在堆中的,因此数组无论保存原始类型还是其他对象来行,数组对象本身时在堆中的
package Using;
public class Demo_1 {
public static void main(String[] args) {
//普通for循环
int [] arrays = {1,2,3,4,5};
//遍历
for (int a = 0; a < arrays.length; a++) {
System.out.println(arrays[a]+"t");
}
//计算所有元素的和
int sum = 0;
for (int i = 0; i < arrays.length; i++) {
sum += arrays[i];
}
System.out.println(sum);
//查找最大元素
int max = arrays[0];
for (int i1 = 1; i1 < arrays.length; i1++) {
if(arrays[i1]>max) max = arrays[i1];
}
System.out.println(max);
}
}
增强for循环
package Using;
public class Demo_2 {
public static void main(String[] args) {
//增强for循环
//一般用于遍历,但是取不到下表
int[] arrays = {1,2,3,4,5};
for (int array : arrays) {
System.out.println(array);
}
}
}
数组作为参数入方法、数组作为方法返回值
package Using;
public class Demo_3 {
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5,6};
//数组作为参数入方法
printArray(arrays);
System.out.println("n"+"========================");
//数组作为返回值
printArray(reverse2(arrays));//这个方法新创建了一个反转的数组,原来的数组没变化
System.out.println("n"+"========================");
printArray(reverse1(arrays));//这个方法把原来的数组反转了
System.out.println("n"+"========================");
printArray(arrays);//这里会输出反转数组
}
//打印数组元素
public static void printArray(int[] arrays){
for (int array : arrays) {
System.out.print(array + "t");
}
}
//反转数组
public static int[] reverse1(int[] arrays){
for (int i = 0; i < arrays.length / 2; i++) {
int x = arrays[i];
arrays[i] = arrays[arrays.length - 1 - i];
arrays[arrays.length - 1 - i] = x;
}
return arrays;
}
//或者
public static int[] reverse2(int[] arrays){
int[] result = new int[arrays.length];
for (int i = 0,j = result.length - 1; i < arrays.length; i++,j--) {
result[j] = arrays[i];
}
return result;
}
}
二维数组
自制图片有亿点丑哈。。。。。。
package DoubleDimensionalArray;
public class Demo_1 {
public static void main(String[] args) {
int[][] arrays = {{1,2,3},{2,3,4},{3,4,5},{6,7,8}};
//或者 int[][] arrays = new int[4][3];
printSingleArray(arrays[0]);//这里是arrays[0]数组,是一个对象
System.out.println();
System.out.println(arrays[0][0]);//这里是arrays[0]数组中的第一个元素
System.out.println("=========================");
printDimensionalArray1(arrays);
System.out.println("=========================");
printDimensionalArray2(arrays);
System.out.println("=========================");
printDimensionalArray3(arrays);
}
//打印一维数组
public static void printSingleArray(int[] arrays){
for (int array : arrays) {
System.out.print(array + "t");
}
}
//打印二维数组
public static void printDimensionalArray1(int[][] arrays){
for (int[] array : arrays) {
printSingleArray(array);//调用打印一维数组这个方法
System.out.println();//记得回车
}
}
//或者不调用
public static void printDimensionalArray2(int[][] arrays){
for (int[] array : arrays) {
for (int i : array) {
System.out.print(i + "t");
}
System.out.println();
}
}
//或者更好理解
public static void printDimensionalArray3(int[][] arrays){
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j< arrays[i].length; j++) {
System.out.print(arrays[i][j] + "t");
}
System.out.println();
}
}
}
看冬奥会开幕式去了,二维数组明天继续
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)