Java入门学习3
Java入门总结第四天
1. 二维数组
//二维数组
import java.util.Scanner;//导入包
public class FirstDemo{
//入口方法
public static void main(String[]args){
/**
数据类型[][]数组名称=new 数据类型[行数][列数];
*/
//1.初始化一个二维数组,指定其行数和列数
String[][]arr=new String[3][2];//3行2列
//2.给数组进行赋值 通过下标赋值
//给第1行进行赋值
arr[0][0]="妲己";
arr[0][1]="张飞";
//给第2行进行赋值
arr[1][0]="关羽";
arr[1][1]="赵云";
//给第3行进行赋值
arr[2][0]="黄忠";
arr[2][1]="后羿";
//3.修改某个位置指定元素的值
arr[1][1]="李白";
//4.取出二维数组中所有元素的值 通过下标取值
//外层循环控制行,内层循环控制列
for(int row=0;row<3;row++){
for(int col=0;col<2;col++){
System.out.print(arr[row][col]+"\t");
}
//换行
System.out.println();
}
//5.通过键盘录入赋值
//初始化键盘录入对象
Scanner input=new Scanner(System.in);
String str[][]=new String[3][4];//初始化一个3行4列二维数组
//通过键盘录入数据
System.out.println("请输入信息");
for(int row=0;row<3;row++){
System.out.println("请输入第"+(row+1)+"行信息:");
for(int col=0;col<4;col++){
str[row][col]=input.next();//输入
}
}
//输出信息
for(int row=0;row<3;row++){
System.out.print("第"+(row+1)+"行:");
for(int col=0;col<4;col++){
System.out.print(str[row][col]+"\t");//输出
}
//换行
System.out.println();
}
}
}
输出结果:
练习题
1 计算对角线之和
行 列 |
0 |
1 |
2 |
0 |
0 0 |
0 1 |
0 2 |
1 |
1 0 |
1 1 |
1 2 |
2 |
2 0 |
2 1 |
2 2 |
import java.util.Scanner;//导入包
public class Test1{
//
public static void main(String[]args){
//初始化一个3行3列的二维数组
int num[][]=new int[3][3];
//初始化键盘录入对象
Scanner input=new Scanner(System.in);
//通过键盘录入数据
//外层循环控制行数
for(int row=0;row<3;row++){
System.out.println("请输入第"+(row+1)+"行数据:");
//内层循环控制列数
for(int col=0;col<3;col++){
num[row][col]=input.nextInt();//输入
}
}
//输出数据
for(int row=0;row<3;row++){
System.out.print("第"+(row+1)+"行数据:");
//内层循环控制列数
for(int col=0;col<3;col++){
System.out.print(num[row][col]+"\t");
}
//换行操作
System.out.println();
}
//计算对角之和
int sum=0;
for(int row=0;row<3;row++){
//内层循环控制列数
for(int col=0;col<3;col++){
if(row==col||row==2-col){//提取对角线上的数据
sum=sum+num[row][col];
}else{//如果不在对角线上则跳出循环
continue;
}
}
}
}
输出结果:
2 题目
列表分析
0 0 |
0 1 |
1 0 |
1 1 |
2 0 |
2 1 |
0 0 0 0 |
0 1 1 0 |
0 2 2 0 |
1 0 0 1 |
1 1 1 1 |
1 2 2 1 |
public class Test2{
//
public static void main(String[]args){
//初始化一个3行2列的二维数组
int num[][]=new int[3][2];
//生成6个1-100的随机数存在二维数组中
System.out.println("初始矩阵");
for(int row=0;row<3;row++){
for(int col=0;col<2;col++){
num[row][col]=(int)(Math.random()*100)+1;//生成1-100的随机整数
System.out.print(num[row][col]+"\t");
}
//换行
System.out.println();
}
//转化为2行3列的矩阵
System.out.println("转化矩阵为");
int num1[][]=new int[2][3];
for(int row=0;row<2;row++){
for(int col=0;col<3;col++){
num1[row][col]=num[col][row];
System.out.print(num1[row][col]+"\t");
}
System.out.println();
}
}
}
输出结果
3 杨辉三角
要求:输出十行
//杨辉三角
public class Test3{
//方法入口
public static void main(String[]args){
//初始化一个10行10列的二维数组
int num[][]=new int[10][10];
//循环输出杨辉三角
//外层循环控制行数
for(int row=0;row<10;row++){
//内层循环控制列数
for(int col=0;col<=row;col++){
if(row>1&&col>0&&col<row){//提取不为值1的行数和列数
num[row][col]=num[row-1][col-1]+num[row-1][col];//计算数值
}
else{
num[row][col]=1;
}
System.out.print(num[row][col]+"\t");
}
System.out.println();
}
}
}
输出结果
2.知识框架