创建数组
数组是一个固定长度的,包含了相同类型数据的 容器
声明数组
int[] a; 声明了一个数组变量。
[]表示该变量是一个数组
int 表示数组里的每一个元素都是一个整数
a 是变量名
但是,仅仅是这一句声明,不会创建数组
有时候也会写成int a[]; 没有任何区别,就是你看哪种顺眼的问题
创建数组
创建数组的时候,要指明数组的长度。
new int[5]
引用概念:
如果变量代表一个数组,比如a,我们把a叫做引用
与基本类型不同
int c = 5; 这叫给c赋值为5
声明一个引用 int[] a;
a = new int[5];
让a这个引用,指向数组
访问数组
数组下标基0
下标0,代表数组里的第一个数
数组长度
.length属性用于访问一个数组的长度
数组访问下标范围是0到长度-1
一旦超过这个范围,就会产生数组下标越界异常
package shuzu;
public class Chuangjian
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
//声明一个数组
int a[];
//创建一个长度是5的数组,并且使用引用a指向该数组
a = new int[5];
int b[] = new int[5];//声明的同时引用该数组
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;
System.out.println(a.length);//输出数组长度
}
}
练习-数组最小值
首先创建一个长度是5的数组
然后给数组的每一位赋予随机整数
通过for循环,遍历数组,找出最小的一个值出来
package shuzu;
public class Chuangjian
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
//声明一个数组
int a[];
//创建一个长度是5的数组,并且使用引用a指向该数组
a = new int[5];
for (int i=0;i<5;i++)
{
a[i]=(int) (Math.random() *100);
}
System.out.println("数组中的各个随机数是:");
for (int j=0;j<5;j++)
{
System.out.println(a[j]);
}
int b = a[0];
for (int n=0;n<5;n++)
{
if (b>a[n])
{
b=a[n];
}
}
System.out.println("数组最小数是:"+b);
// int b[] = new int[5];//声明的同时引用该数组
//
// a[0] = 1;
// a[1] = 2;
// a[2] = 3;
// a[3] = 4;
// a[4] = 5;
//
// System.out.println(a.length);//输出数组长度
}
}
初始化数组
分配空间与赋值分步进行
package shuzu;
public class Chushihuashuzu
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
int a[] = new int[5];//分配了长度是5的数组,但是没有赋值
//作为int类型的数组,默认值是0
System.out.println(a[0]);
//进行赋值
a[0] = 100;
a[1] = 101;
a[2] = 103;
a[3] = 120;
a[4] = 140;
}
分配空间,同时赋值
package shuzu;
public class Chushihuashuzu
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
// int a[] = new int[5];//分配了长度是5的数组,但是没有赋值
// //作为int类型的数组,默认值是0
// System.out.println(a[0]);
//
// //进行赋值
// a[0] = 100;
// a[1] = 101;
// a[2] = 103;
// a[3] = 120;
// a[4] = 140;
//写法一:分配空间同时赋值
int a[] = new int[]{100,102,222,33,321};
//写法二:省略 new int[],效果一样
int b[] = {100,12,34,56,76};
//写法三:同时分配空间,和指定内容
//所以如果指定了数组的内容,就不能同时设置数组的长度
int c[] = new int[3]{23,3234,4354};
}
}
练习-数组反转
package shuzu;
public class Chushihuashuzu
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
//创建一个长度是5的数组,并且使用引用a指向该数组
int a[] = new int[5];
int b[] = new int[5];
for (int i=0;i<5;i++)
{
a[i]=(int) (Math.random() *100);
}
System.out.println("原始数组中的各个随机数是:");
for (int j=0;j<5;j++)
{
S