数组
2017-03-03 09:10:05 0 举报
AI智能生成
数组是一种数据结构,它由一组相同类型的元素按照一定的顺序排列而成。数组中的每个元素都有一个唯一的索引,用于访问和操作该元素。数组的大小是固定的,一旦创建后就不能改变。数组可以是一维的,也可以是多维的。一维数组只有一个维度,而多维数组有两个或更多的维度。数组在计算机编程中被广泛使用,它可以用于存储和处理大量数据。例如,一个包含100个整数的数组可以用来存储学生的成绩,或者一个包含1000个字符串的数组可以用来存储电话簿。总之,数组是一种非常实用的数据结构,它在计算机科学中扮演着重要的角色。
作者其他创作
大纲/内容
声明变量占一个空间,声明数组占用多个空间
数据类型 数组名[ ] ;
数据类型[ ] 数组名 ;
平均数计算
int [ ] score = {60, 80, 90, 70, 85};
double avg;
avg = (score[0] + score[1] + score[2] + score[3] + score[4])/5;
int [ ] score = {60, 80, 90, 70, 85};
int sum = 0;
double avg;
for(int i = 0; i < score.length; i++){
sum = sum + score[i];
}
avg = sum / score.length;
常见错误:
编译出错,没有写明数组的大小
运行时出错,数组下标越界
编译出错,创建数组并赋值的方式必须在一条语句中完成
int[ ] score = new int[5];
score = {60, 80, 90, 70, 85};
int[ ] score2;
score2 = {60, 80, 90, 70, 85};
逆序:先升序在反序
public static void main (String[] args){
char[] chars = new char[]{'a','c','b'};
System.out.println("原字符: ");
for(int i= 0;i <chars.length;i++){
System.out.println(chars[i]);
}
Arrays.sort(char);
System.out.println("升序 :");
for(int i = 0; i< shars.lengln;i++){
System.out.println("shars[i]+"");
}
System.out.println("逆序");
for(int i = chars.length-1;i>=0;i++){
System.out.println(chars[i]+ "");
}
}
是一组变量,存储相同类型的一组数据(引用型变量)
三种赋值方法:
int[ ] score = {89, 79, 76};
int[ ] score = new int[ ]{89, 79, 76};
int[ ] score ;
score = new int[]{89,79,76};
动态赋值:
Scanner input = new Scanner(System.in);
for(int i = 0; i < 30; i ++){
score[i] = input.nextInt();
}
升序
使用java.util.Arrays类
java.util包提供了许多工具类
Arrays类提供操作数组的方法,例排序、查询
Arrays类的sort()方法: 对数组进行升序排列
import java.util.*; //导入包
……
int[] scores = new int[5]; //成绩数组
Scanner input = new Scanner(System.in);
System.out.println("请输入5位学员的成绩:");
for(int i = 0; i < scores.length; i++){
scores[i] = input.nextInt();
}
Arrays.sort(scores);
System.out.print("学员成绩按升序排列:");
for(int i = 0; i < scores.length; i++){
System.out.print(scores[i] + " ");
}
循环录入学生成绩并存储在数组中
数组中的元素被重新排列
循环输出数组中的信息
按英文排列歌曲(排列字符串)
String[] musics = new String[]{"Island","Ocean","Pretty","Sun"};
//插入歌曲后的数组
String[] newMusics = new String[musics.length+1];
String music = ""; //保存用户输入的歌曲名称
int index = musics.length; //保存新歌曲插入位置
//输出插入前的结果
System.out.print("插入前的数组为:");
for(int i = 0; i < musics.length ; i++){
System.out.print(musics[i]+" ");
}
//将数组musics中的元素复制到数组newMusics中
for(int i = 0; i < musics.length; i++){
newMusics[i] = musics[i];
}
//输入歌曲名称
Scanner input = new Scanner(System.in);
System.out.print("\n请输入歌曲名称:");
music = input.next();
//找到新元素的插入位置
for(int i = 0; i < musics.length; i++){
if(musics[i].compareToIgnoreCase(music) > 0){
index = i;
break;
}
}
//元素后移
for(int i = newMusics.length-1; i > index; i--){
//index下标开始的元素后移一个位置
newMusics[i] = newMusics[i-1];
}
newMusics[index] = music; //新元素放在index的位置
元素后移
//输出插入后的结果
System.out.print("插入后的数组为:");
for(int i = 0; i < newMusics.length; i++){
System.out.print(newMusics[i]+" ");
}
注意第二个数组的定义方式以及新歌曲插入位置的变量定义方式
复制一个数组
字符串比较
compareTo( ) :不忽略大小写
compareToIgnoreCase( ):忽略大小写
元素后移
0 条评论
下一页