数组使用步骤:
1,声明数组:数组类型[]数组名;或者:数组类型 数组名[];
2,申请空间(向计算机申请内存):new数据类型[数组的大小/长度];
3,赋值:
4,使用数组
或者合并:
数据类型[] 数组名 = new 数据类型 [数组的长度];
数据类型 []数组名 = {"值1","值2"……};
数组基本要素: 标识符:数组的名称,用于区分不同的数组 数组元素:向数组中存放的数据 元素下标:对数组元素进行编号,从0 开始,数组中的每个元素都可以通过下标来访问 元素类型:数组元素的数据类型 注意: 数组长度固定不变,避免数组越界 注意事项:1,数组的下标从0开始;
2,数组的长度/数组的元素个数是:数组名.length;
3,数组的最后一个的下标是:(length-1);
4,IDEA遍历数组的快捷写法:
1,升序遍历:数组名.fori;
2,倒叙遍历:数组名.forr;r==rerverse(颠倒);
3,foreach遍历:数组名.for 冒号之后是数组,之前是每一个元素,
如何使用数组: 声明数组: 声明数组 : 告诉计算机数据类型是什么 示例 : int [ ] JavaScore ; //Java 成绩 语法 : 数据类型 数组名 [ ] ; 数据类型 [ ] 数组名 ; 注意 : 声明数组时不能规定数组长度 分配空间: 分配空间 : 告诉计算机分配几个连续的空间 JavaScore = new int [ 30 ]; 语法 : 声明数组并分配空间 数据类型 [ ] 数组名 = new 数据类型 [ 大小 ] ; 示例: int [] JavaScore = new int [ 30 ]; 数组赋值: 处理数据: 提问使用数组求10个学生的平均分: 数组升序排序: 题目:循环录入 5 位学员成绩,进行升序排列后输出结果 提示: 使用java . util . Arrays 类 注意导包:java . util 下的 Arrays类的 sort () 方法:对数组进行升序排列 public class ScoreSort { public static void main ( String [] args ) { 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 ] + " " ); } } } 使用Arrays类的各种方法: public class Arrays_Study { public static void main ( String [] args ) { //返回值:boolean 方法名称 :equals(array1,array2) //作用:比较数组array1 和 array2 是否相等 System . out . println ( "---------equals(array1,array2) 方法 :----------" ); int [] arr1 = { 10 , 50 , 90 , 80 , 60 }; int [] arr2 = { 10 , 50 , 90 , 80 , 60 }; int [] arr3 = { 20 , 40 , 90 }; //判断arr1 与 arr2 的长度及元素是否相等 System . out . println ( Arrays . equals ( arr1 , arr2 )); //判断arr1 与 arr3 的长度及元素是否相等 System . out . println ( Arrays . equals ( arr1 , arr3 )); //方法名称: sort(array) //作用:对数组array 的元素进行升序排列 System . out . println ( "n---------sort(array) 方法 :----------" ); int [] JavaScores = { 90 , 50 , 100 , 60 , 30 , 70 }; //对数组进行升序排列 Arrays . sort ( JavaScores ); System . out . println ( "Java 成绩升序排列后: " ); for ( int i = 0 ; i < JavaScores . length ; i ++ ) { System . out . print ( JavaScores [ i ] + "t" ); } System . out . println (); //返回值:String 方法名称: toString(array) //作用: 将数组 array 转换成一个字符串 System . out . println ( "n---------toString(array) 方法 :----------" ); int [] SqlScores = { 70 , 80 , 50 , 40 , 60 , 20 }; //对数组进行升序排列 Arrays . sort ( SqlScores ); //将SqlScores 数组转换为字符串并输出 System . out . println ( Arrays . toString ( SqlScores )); //方法名称:fill(array,val) //作用:把数组array 所有元素都赋值为 value System . out . println ( "n---------fill(array,val) 方法 :----------" ); int [] HtmlScores = { 70 , 50 , 90 , 40 , 30 , 100 }; Arrays . fill ( HtmlScores , 60 ); //将HtmlScores 数组转换为字符串并输出 System . out . println ( Arrays . toString ( HtmlScores )); //方法名称:copyOf(array,length) //作用:把数组array 复制成一个长度为 length 的新数组,返回类型与复制的数组一致 System . out . println ( "n---------copyOf(array,length) 方法 :----------" ); int [] arr11 = { 10 , 90 , 80 , 70 , 60 }; int [] arr22 = Arrays . copyOf ( arr11 , 6 ); System . out . println ( Arrays . toString ( arr22 )); int [] arr33 = Arrays . copyOf ( arr11 , 3 ); System . out . println ( Arrays . toString ( arr33 )); //将arr11 复制成长度为 5 的新数组 arr44 int [] arr44 = Arrays . copyOf ( arr11 , 5 ); System . out . println ( Arrays . toString ( arr44 )); //返回值:int 方法名称: binarySearch(array, val) //作用:查询值val 在数组 array 中的下标 //(要求数组中元素已经按升序排列,如果没有找到,则返回一个负整数) System . out . println ( "n---------binarySearch(array, val) 方法 :----------" ); int [] MathScores = { 60 , 70 , 40 , 20 , 80 , 100 }; Arrays . sort ( MathScores ); int index = Arrays . binarySearch ( MathScores , 99 ); System . out . println ( index ); int indexTwo = Arrays . binarySearch ( MathScores , 20 ); System . out . println ( indexTwo ); } }求数组最大值: 题目 : 从键盘输入五位学生的成绩,求考试成绩最高分 示例: public static void main ( String [] args ) { Scanner input = new Scanner ( System . in ); //定义存储5 个学生的成绩数组 int [] scores = new int [ 5 ]; //记录最大值 int max = 0 ; System . out . println ( " 请输入 5 位学员的成绩: " ) for ( int i = 0 ; i < scores . length ; i ++ ){ scores [ i ] = input . nextInt (); } //假设第一个元素为最大的成绩 max = scores [ 0 ]; //从第一个成绩开始比较 for ( int i = 1 ; i < scores . length ; i ++ ){ //循环判断 if ( scores [ i ] > max ){ max = scores [ i ]; } } System . out . println ( " 考试成绩最高分为: " + max ); } 数组插入数据: 数组降序排序: 二维数组: 二维数组例图:int[][] s =new int[3] [5];
二维数组定义:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)