Demo1
数组:是一块连续固定大小的内存空间,有着索引的概念
定义数组的语句格式:
数据类型[] 数组名;【推荐】
数据类型 数组名[];
如果只是定义一个数组的话,没有给初始化值,相当于一个变量没有值,是不能够直接使用的
如何对一个数组进行初始化?
1、动态初始化:我们自己给定数组的大小,数组中的默认值由JVM来赋值
2、静态初始化:我们自己给元素值,由JVM根据我们给的值数量来设置数组的大小
动态初始化语句定义格式:
数据类型[] 数组名 = new 数据类型[元素的个数];
public class ArrayDemo1 {
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr);
int i = arr[0];
System.out.println(i);
System.out.println(arr[1]);
System.out.println(arr[2]);
arr[0] = 100;
System.out.println(arr[0]);
}
}
Demo2
public class ArrayDemo2 {
public static void main(String[] args) {
int[] arr1 = new int[3];
arr1[0] = 11;
arr1[1] = 22;
arr1[2] = 33;
System.out.println(arr1);
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
System.out.println("-----------------------------");
int[] arr2 = arr1;
arr2[1] = 100;
System.out.println(arr2);
System.out.println(arr2[0]);
System.out.println(arr2[1]);
System.out.println(arr2[2]);
}
}
Demo3
/*
我们上一个案例中,学习了数组的定义以及数组的动态初始化
但是,有一个地方不太方便,如果我们想要赋值自己的元素在数组中的话,动态初始化需要我们先将数组创建出来
然后再一个一个赋值,其实挺麻烦的。能不能直接在初始化的时候,将元素赋值进去?
数组的静态初始化:
数据类型[] 数组名 = new 数据类型[]{元素1,...};
举例:int[] arr1 = new int[]{11,22,33,44,55};
简化写法:
数据类型[] 数组名 = {元素1,...};
*/
public class ArrayDemo3 {
public static void main(String[] args) {
// int[] arr1 = new int[]{11,22,33,44,55};
// System.out.println(arr1);
// System.out.println(arr1[3]);
// int[] arr1;
// arr1 = new int[]{11,22,33,44,55};
// System.out.println(arr1);
int[] arr1 = {11,22,33,44,55};
System.out.println(arr1[0]);
System.out.println(arr1[1]);
System.out.println(arr1[2]);
System.out.println(arr1[3]);
System.out.println(arr1[4]);
// System.out.println(arr1[5]); // ArrayIndexOutOfBoundsException 数组越界异常
arr1 = null;
// System.out.println(arr1[0]); // NullPointerException
}
}
Demo4
public class ArrayDemo4 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
change(arr);
System.out.println(arr[1]);
}
public static void change(int[] arr) {
for (int x = 0; x < arr.length; x++) {
if (arr[x] % 2 == 0) {
arr[x] *= 2;
}
}
}
public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}
Test1
public class ArrayTest1 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
Test2
public class ArrayTest2 {
public static void main(String[] args) {
int[] arr = {34, 12, 72, 13, 76, 32, 12, 46, 2, 89};
int maxNumber = arr[0];
int minNumber = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > maxNumber) {
maxNumber = arr[i];
} else {
minNumber = arr[i];
}
}
System.out.println("最大值为:" + maxNumber);
System.out.println("最小值为:" + minNumber);
}
}
Test3
public class ArrayTest3 {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
System.out.println("逆序前:");
printIntArray(arr);
System.out.println("-------------------------------");
int[] resArr = niXu2(arr);
System.out.println("逆序后:");
printIntArray(resArr);
}
public static int[] niXu2(int[] arr) {
for (int front = 0, end = arr.length - 1; front < end; front++, end--) {
int tmp = arr[end];
arr[end] = arr[front];
arr[front] = tmp;
}
return arr;
}
public static int[] niXu1(int[] arr) {
for (int i = 0; i < arr.length / 2; i++) {
int tmp = arr[arr.length - i - 1];
arr[arr.length - i - 1] = arr[i];
arr[i] = tmp;
}
return arr;
}
public static void printIntArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
System.out.print("[" + arr[i] + ",");
} else if (i == arr.length - 1) {
System.out.println(arr[i] + "]");
} else {
System.out.print(arr[i] + ",");
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理