一、数组是什么?
数组是一个变量,存储相同数据类型的一组数据
二、数组的基本要素
数组基本要素
标识符:数组的名称
数组元素:数组中存放的数据
元素下标:对数组元素进行编号,数组下标从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型
三、数组的使用
1、数组的定义方法
只是最为一个数组的声明
方法一
数据类型 数组名[ ];
方法二
数据类型[ ] 数组名;
int score2[ ]; //方法一
int[ ] score1; //方法二
注意:
声明数组需要标明数组长度
int score2[ ] = new int[5]; //方法一,这是一个长度为5的数组
int[ ] score1 = new int[5]; //方法二这是一个长度为5的数组
2、数组的赋值
边声明边赋值
int[ ] scores = {89, 79, 76};
int[ ] scores = new int[ ]{89, 79, 76};
从键盘录入进行赋值
Scanner input = new Scanner(System.in);
for(int i = 0; i < 30; i ++){
score[i] = input.nextInt();
}
3、数组属性——length
length可以输入数组的元素个数
int [ ] score = {60, 80, 90, 70, 85};
int sum = score.length;
//此时sum的值为5
四、数组的增删改查
1、增加
目前所讲内容暂不支持增加数组长度
2、删除
不同的数组类型有不同的默认值
数组了类型 | 默认值 |
---|---|
byte、short、int、long | 0 |
float、double | 0.0 |
char | ‘\u0000’ |
boolean | false |
引用数据类型 | null |
将对应的数据赋值为默认值即视为删除
import java.util.Scanner;
public class Homework9Zzy7 {
//输入的定义
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
String [] booksArray = {"三国演义","红楼梦", "史记" , "西游记", "左传","菜根谭"};
//定义一个下标赋值,定义为-1,可以有效避免与原数组冲突
int index = -1;
for (int i = 0; i < booksArray.length; i++) {
//查找数组中与“左传”一样的字符
if ("左传".equals(booksArray[i])){
//找到后将下标给index
index = i;
//退出循环
break;
}
}
//在此处最好判断是否找到“左传”这个字符串,,,通过检测index的值是否为-1即可
//让后面的字符向前补充,经空值留到数组最后面
for (int i = index; i < booksArray.length - 1; i++) {
booksArray[i] = booksArray[i + 1];
}
//将最数组后一个赋值为默认值
booksArray[booksArray.length - 1] = null;
//遍历输出
for (String s : booksArray) {
System.out.println(s);
}
}
}
3、修改
import java.util.Scanner;
public class Homework9Zzy7 {
//输入的定义
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
String [] booksArray = {"三国演义","红楼梦", "史记" , "西游记", "左传","菜根谭"};
//修改数组中的某一个元素
booksArray[0] = "中国现代史";
//此时数组为{"中国现代史","红楼梦", "史记" , "西游记", "左传","菜根谭"}
}
}
4、查询
方法一
String [] booksArray = {"三国演义","红楼梦", "史记" , "西游记", "左传","菜根谭"};
for (int i = 0; i < booksArray.length; i++) {
System.out.println(booksArray[i]);
}
方法二
查询在Java中提供了更方便的办法
String [] booksArray = {"三国演义","红楼梦", "史记" , "西游记", "左传","菜根谭"};
for (String s : booksArray) {
System.out.println(s);
}
//等价于
for (int i = 0; i < booksArray.length; i++) {
int s = booksArray[i];
System.out.println(s);
}
代码例子:
import java.util.Scanner;
public class Homework9Zzy1 {
static Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
String [] shopArray = {"Nike背包","Adidas运动衫","李宁运动鞋","Kappa外套","361°腰包"};
System.out.println("本次活动特价商品有:");
for (int i = 0 ; i < shopArray.length ; i ++){
System.out.println(shopArray[i]);
}
}
}