2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java二维数组及遍历

java二维数组及遍历

时间:2023-07-25 10:41:09

相关推荐

java二维数组及遍历

1、二维数组

概述:二维数组:是以一维数组作为数组元素的数组,即 “数组的数组”。

三维数组:是以二维数组作为数组元素的数组。

通常,主要使用的是二维数组,三维及以上使用较少。

二维数组语法:

方法1:数据类型[][]数组名=new数据类型[外维数组容量][内维数组容量];

例:

int[][] arr = new int[2][3];//赋值://第1个内维数组arr [0][0]=90;arr [0][1]=80;arr [0][2]=70;//第2个内维数组arr [1][0]=90;arr [1][1]=90;arr [1][2]=80;

方法2:数据类型[][]数组名={{},{}...};

例:

int[][] arr = {{90, 60, 20}, {40, 15, 80}};

方法3:数据类型[][]数组名=new数据类型[][]{{},{}...};

例:

int[][] arr = new int[][]{90,80,70,60,50},{90,90,80,70,65},{85,70,75,80,60}};

2、遍历及动态赋值

2.1遍历

方法1:使用for循环

例1:

String[][] arr = {{"我", "爱", "你"}, {"中", "国"}, {"亲", "爱", "的", "母", "亲"}};for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j]);}System.out.println();}

例2:

int[][] arr = {{50, 20, 30}, {80, 90, 60}, {10, 80, 70, 30, 60}};for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j] + "\t");}System.out.println();}

方法2:Arrays工具类

例:

int[][] arr = {{50, 20, 30}, {80, 90, 60}, {10, 80, 70, 30, 60}};for (int[] a : arr) {System.out.println(Arrays.toString(a));}

2.2动态赋值

例1:

//班级名称前缀String[] coursePrefix = {"java", "Python", "go"};//班级数组String[][] classes = new String[coursePrefix.length][20];//赋值for (int i = 0; i < classes.length; i++) {for (int j = 0; j < classes[i].length; j++) {if (j < 9) {classes[i][j] = coursePrefix[i] + "0" + (j + 1);} else {classes[i][j] = coursePrefix[i] + (j + 1);}}}//遍历for (String[] str : classes) {System.out.println(Arrays.toString(str));}

例2:通过随机数生成幸运中奖用户

String[] str = new String[15];//存储用户名for (int i = 0; i < str.length; i++) {if (i < 9) {str[i] = "user" + "0"+ (i + 1);} else {str[i] = "user" + (i + 1);}}System.out.println(Arrays.toString(str));//随机数Random random = new Random();int index = random.nextInt(str.length);System.out.println("幸运号>>>" + index);System.out.println("中奖人名字是>>>" + str[index]);

例3:需求:随机生成100个姓名

// 姓氏String[] surnames = new String[] {"东方","左丘", "欧阳", "皇甫", "上官", "闾丘", "令狐","夏侯", "诸葛", "尉迟", "皇甫", "宇文", "鲜于", "西门", "司马", "独孤", "公孙", "慕容","轩辕",};// 名字String[] names = new String[] {"何", "高", "梁", "郑", "罗", "宋", "谢", "唐", "韩","曹", "许", "邓", "萧", "冯","曾", "程", "蔡", "彭", "潘", "袁", "於", "董", "余", "苏", "叶", "吕", "魏", "蒋","田", "杜", "丁", "沈", "姜", "范", "江", "傅", "钟", "卢", "汪", "戴", "崔", "任","陆", "廖", "姚", "方", "金", "邱", "夏", "谭", "韦", "贾", "邹", "石", "熊", "孟","秦", "阎", "薛", "侯", "雷", "白", "龙", "段", "郝","孔", "邵", "史", "毛", "常","万", "顾", "赖", "武", "康", "贺", "严", "尹", "钱","施", "牛", "洪", "龚", "李","刘", "陈", "杨", "黄", "赵", "周", "吴", "徐", "孙","朱", "马", "胡", "郭", "林"};Random random = new Random();for (int i = 0; i < 100; i++) {// 随机姓氏String surname = surnames[random.nextInt(surnames.length)];// 随机名字int count = random.nextInt(1, 3);String name = "";for (int j = 0; j < count; j++) {name += names[random.nextInt(names.length)];}// 拼接姓名String generateName = surname + name;System.out.println("我的姓名 >>> " + generateName);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。