Java中二维数组练习题
文章目录
- Java中二维数组简单练习题
- 练习题1:
- 练习题2:
- 练习题3(杨辉三角):
- char数据类型的运算
- 练习题4.1(char的运算):
- 练习题4.2(char的运算):
Java中二维数组简单练习题
练习题1:
答案代码:
public class ArrayDemo01 {
public static void main(String[] args) {
int[][] arr=new int[][]{{3,12,7},{5,9,0},{8,6},{4}};
int sum=0;//记录总和
for (int i = 0; i <arr.length ; i++) {
for (int j = 0; j <arr[i].length ; j++) {
sum+=arr[i][j];
}
}
System.out.println("总和为:"+sum);
}
}
练习题2:
答案:
首先命名方式有:
一维数组:int[] x 或者int x[]
二维数组:二维数组:int[][] y 或者 int[] y[] 或者 int y[][]
这里就知道了x属于一维数组,y属于二维数组,都是int型,这里的命名之所以这么写就是类型的合并
也就是同类型合并命名
int a;//单独命名
int b;//单独命名
int a,b;//同类型合并命名
int[] x;//单独命名
int[] y[];//单独命名
int[] x,y[];//同类型合并命名
这里答案过于简单,在题目中了已经,最主要明白类型和类型之间的赋值规则,要不是同一类型,要不就满足自动类型提升
这里的自动类型提升可见Java基础之命名规范、变量的定义、数据类型及其转换、String字符串等中关于数据类型转换的部分。
练习题3(杨辉三角):
题目如图,附加:什么是杨辉三角?
public class ArrayDemo03YHSJ02 {
public static void main(String[] args) {
//1.声明并初始化二维数组
int[][] yanghui=new int[10][];
//2.给数组的元素赋值
for (int i = 0; i <yanghui.length ; i++) {
yanghui[i]=new int[i+1];
//2.1给首末元素赋值
yanghui[i][0]=1;
yanghui[i][i]=1;
//2.2给每行的非首末元素赋值
if (i>1){
for (int j = 1; j <yanghui[i].length-1 ; j++) {
yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
}
}
}
//3.遍历二维数组
for (int i = 0; i <yanghui.length; i++) {
for (int j = 0; j <yanghui[i].length ; j++) {
System.out.print(yanghui[i][j]+" ");
}
System.out.println();//打印完换行
}
}
}
char数据类型的运算
知识点:char数据类型的运算
-
char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值
-
char+char,char+int——类型均提升为int,附值char变量后,输出字符编码表中对应的字符。
-
自增和自减操作符可以用在char类型变量上,这会得到字符之前或者之后的Unicode字符
查询ASCII可以看见65-90对应的就是A-Z,char类型数据运算 ‘A’+1 -> ‘B’,‘0’+1 -> ‘1‘
练习题4.1(char的运算):
题目:创建一个char类型的26个元素的数组,分别 放置’A’-‘Z’。使用for循环访问所有元素并打印出来。
答案代码:
public class C {
public static void main(String[] args) {
char[] arr=new char[26];
char a='A';
for (int i = 0; i <arr.length ; i++) {
arr[i]=a;
a++;
System.out.println(arr[i]);
}
}
}
练习题4.2(char的运算):
题目:创建一个char类型的36个元素的数组,前26个元素放置’A’-‘Z’, 后10个元素放置’0’-‘9’。使用for循环访问所有元素并打印出来。
答案代码:
package twoSz;
public class D {
public static void main(String[] args) {
char[] arr=new char[36];
char a='A',b='0';
for (int i = 0; i <arr.length ; i++) {
if (i<26){
arr[i]=a;
a++;
}else {
arr[i]=b;
b++;
}
System.out.println(arr[i]);
}
}
}