网站首页 > java教程 正文
动态初始化:
初始化时只指定数组长度,
由系统为数组分配初始值
静态初始化:
初始化时指定每个数组元素的初始值,
由系统决定数组长度。
格式:
m:长度值
动态:
数据类型[] 数组名 = new 数据类型[m];
静态:
数据类型[] 数组名 = new 数据类型[]{元素值,...};
静态简化写法:
数据类型[] 数组名 = {元素值,...};
推荐使用简化写法
*/
class ArrayDemo01{
public static void main(String[] args) {
int[] arr = new int[]{1,2,3};
System.out.println("arr:"+arr);//地址值
System.out.println("arr[0]:"+arr[0]);//1
System.out.println("arr[1]:"+arr[1]);//2
System.out.println("arr[2]:"+arr[2]);//3
int[] arr2 = {4,5,6};
System.out.println("arr2:"+arr2);//地址值
System.out.println("arr2[0]:"+arr2[0]);//4
System.out.println("arr2[1]:"+arr2[1]);//5
System.out.println("arr2[2]:"+arr2[2]);//6
}
}
图解:
/*
ArrayIndexOutOfBoundsException:数组越界异常
原因:访问了不存在的数组索引元素
NullPointerException:空指针异常
原因:数组引用没有指向实体,
却在操作实体中的元素时
*/
class ArrayDemo02{
public static void main(String[] args) {
int[] arr = new int[3];
arr[0]=10;
arr[1]=20;
arr[2]=30;
System.out.println(arr[0]);//10
System.out.println(arr[1]);//20
System.out.println(arr[2]);//30
//System.out.println(arr[3]);//数组越界了
int[] arr2 = null;
System.out.println(arr2);
System.out.println(arr2[0]);
}
}
/*
*数组遍历(依次输出数组中的每一个元素)
*
* 分析:
* 1一个数组,你要访问每一个元素
* 那么就得通过访问数组的每一个元素的
* 索引下标
*
* 2而索引下标是变幻的且有规律的
* 从0开始,每次+1
*
* 3所以索引的值就可以用循环中的变量控制
*
*
*/
class ArrayTest01{
public static void main(String[] args) {
int[] arr = {1,2,3,4};
printArray(arr);
printArray2(arr);
printArray3(arr);
//访问每一个元素,必须能做到
// System.out.println(arr[0]);
// System.out.println(arr[1]);
// System.out.println(arr[2]);
// System.out.println(arr[3]);
// System.out.println("-----");
// // 这种方法不太好,代码重复度太高,
// // 如果数组中有一万个元素呢?
// //
// // 代码重复高的时候,我们就要考虑循环了
// //
// // 循环第一版:
// for (int i=0;i<=3 ;i++ ) {
// System.out.println(arr[i]);
// }
// //在这儿我们是知道数组的长度,
// //如果我们 不知道数组的长度呢?
// //java中提供一个东西,叫做length
// //length就能够拿到数组的长度
// System.out.println("arr的数组长度:"+arr.length);
// // for循环改进版:
// for (int i=0;i<arr.length ;i++ ) {
// System.out.println(arr[i]);
// }
}
public static void printArray(int[] arr){
// 这是纯碎的输出数组中的每一个元素
for (int i=0;i<arr.length ;i++ ) {
System.out.println(arr[i]);
}
}
public static void printArray2(int[] arr){
// 这是输出数组元素+格式
System.out.print("{");
for (int i=0;i<arr.length ;i++ ) {
if (i==arr.length-1) {
System.out.println(arr[i]+"}");
}else{
System.out.print(arr[i]+",");
}
}
}
public static void printArray3(int[] arr){
// 输出数组中索引值为偶数的元素值
for (int i=0;i<arr.length ;i+=2 ) {
System.out.println(arr[i]);
}
}
}
/*
数组获取最值(获取数组中的最大值)
分析:
1.首先要一个数组int[] arr ={1,2,3,4}
2.这个数组中每一个元素都要拿来对比
3.先定义一个变量用来保存最大值
假设:这个最大值就是0
o<1,那么我就要把1赋值给这个最大值变量
4.循环比较每一个值
5.最终输出最大值
*/
class ArrayTest02{
public static void main(String[] args) {
int[] arr ={-11,-22,-3,-4,-10};
int max=getMax(arr);
System.out.println("数组最大值:"+max);
}
// 方法两个明确:
// 返回值类型:int
// 参数列表:
public static int getMax(int[] arr){
//int max=0;定义0不好,无法比较负数
int max=arr[0];//那数组第一个元素做初始最大值
for (int i=0;i<arr.length ; i++) {
if (arr[i]>max) {
max=arr[i];
}
}
return max;
}
}
猜你喜欢
- 2024-10-23 运维--shell 中数组的操作(shell中数组如何定义)
- 2024-10-23 C/C++编程笔记:C 语言字符数组的定义与初始化,讲解到位
- 2024-10-23 Java SE之——数组 基础篇(java入门数组基础educoder)
- 2024-10-23 初识Java—(十)数组(1)(初识java)
- 2024-10-23 巧用C语言中数组部分元素初始化(c语言数组全部初始化为0)
- 2024-10-23 C语言数组算法实现_初始化(c语音数组初始化)
- 2024-10-23 北大学霸!手抄万字Java数组笔记,2小时吃透,你确定不拿走?
- 2024-10-23 C语言中的数组:声明、初始化和操作
- 2024-10-23 「C语言」初始化数组,C语言中初始化特定列表和元素
- 2024-10-23 C语言一维数组,如何初始化?有哪些方式?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)