网站建设整体解决方案,湛江市住房和城乡建设网站,手机编程app哪个好,网站的建设可以起到什么作用是什么数组是一组类型相同的数据#xff08;基本类型或引用类型#xff09;的集合#xff0c;数组中每个数据称为元素。数组也是Java的对象#xff0c;一旦创建#xff0c;数组长度就固定了。 创建数组
1.声明一个数组类型的引用变量#xff08;数组变量#xff09;#xff…数组是一组类型相同的数据基本类型或引用类型的集合数组中每个数据称为元素。数组也是Java的对象一旦创建数组长度就固定了。 创建数组
1.声明一个数组类型的引用变量数组变量但是不能指定数组长度
int[] scores; //合法
String names[]; //合法//int scores[30]; //非法
可以用符号“...”声明数目可变参数
//有一个max()方法要从一组int类型的数组中找出最大值但是数组的数目不固定2~6之间
public class Varable{public static int max(int... datas){ //datas为可变参数if(datas.length 0)return -1; //为传入任何参数int result 0;for(int a: datas)if(resulta)resulta;return result;}public static void main(String[] args){System.out.println(max(5));System.out.println(max(5,8,9,3));System.out.println(max(new int[]{4,10,7,3})); //传入数组System.out.println(max());}
}
2.用new创建数组对象
按大小为数组分配内存为每个数组元素赋予数字类型的默认值返回数组对象的引用
int[] scores new int[50];
System.out.println(scores[0]); //打印0
String[] names new String[50];
System.out.println(names[0]); //打印null 数组初始化
int[] x new int[]{5,6,7,8,9}; //合法
//int[] x new int[5]{5,6,7,8,9}; //非法不能在[]中指定数组长度int[] y new int[5];
for(int i0; iy.length; i)y[i] y.length - i; //合法 访问数组
//遍历数组
/**报数Game有编号的玩家轮流报数1~3每次报道3的出局按顺序进行问最后剩下的是哪个玩家1、isActive数组记录玩家是否在圈内若isActive[i]false那么编号为i1的玩家已出局2、为了跟踪报数状态定义了三个变量size表示当前在圈内的玩家数count表示当前的报数为3时会将其置0point当前正在报数的玩家在isActive数组中的索引位置为n时重置0 */public class Game{public static int play(int n){boolean[] isActive new boolean[n]; //记录每个玩家是否在圈//初始化开局玩家信息for(int i 0; i isActive.length; i)isActive[i] true;int size n; //圈内玩家数int count 0; //当前报数int point 0; //当前报数玩家的索引while(size 1){ //循环报数至圈内只剩下一人if(isActive[point]){ //当前轮到的玩家在圈内count; //报下一个数if(count 3){ //如果当前报数已到3处理count、isActive[point]count 0;isActive[point] false; //玩家出局size--; //玩家规模减一}}point; //轮到下一个报数人if(point n) //如果以及轮完一圈point 0; //从第一个玩家开始再来报数}int last 0;for(int i 0; i n; i)if(isActive[i])last i 1;return last;}public static void main(String[] args){System.out.println(play(20)); //打印}
} 多维数组
//求转置矩阵
public class Reversal{public static int[][] change(int[][] from){int rows from.length; //原始矩阵行数int cols from[0].length; //原始矩阵列数int[][] to new int[cols][rows]; //转置后矩阵for(int i 0; i from.length; i) //循环行for(int j 0; j from[i].length; j) //循环列to[j][i]from[i][j];return to;}public static void main(String[] args){int[][] from {{11,22,33,44},{55,66,77,88},{99,92,23,38}};int[][] to change(from);for(int i 0; i from.length; i){ for(int j 0; j from[i].length; j) System.out.print(to[i][j] );System.out.println();}}
}