第七周
————————————此处为美图欣赏部分————————————————————————————————————————————————————————
——————————————此处为学习部分————————————————————————————————————————————————————————
Java数组部分与C/C++的表现形式略有不同
一维数组:int[] arr ; int arr[] ; 两种表现形式
二维数组:int arr[][] ; int[][] arr ; int[] arr[] ; 三种表现形式
数组的长度获取方式:arr.length ;
一维数组的创建方式与C/C++相似:
int[] arr = {1,2,3,4,5} ; ( arr.length = 5 )
int[] a = new int[5] ;
int[] a ; a = new int[5] ;
二维数组的创建方式略有不同:
int[][] arr = {{1,2,3},{1},{4,5,6,7}} // Java二维数组中第二个{}不可以去掉
int a[][] = new int[2][3] ;
int a[][] ; a = new int[2][3] ;
*Java二维数组列数可以不同 :
(Java二维数组本质上是数个一维数组)
int[][] arr = new int[3][] ; //此时只是创建了数组,但是并未开辟空间
for (int i = 0; i < arr.length; i++){ //注意两层循环的不同之处,外层循环控制“一维数组”
a[i] = new int[i + 1]; // 创建“一维”数组(第二个 [] 的数量)
for (int j = 0; j < arr[i].length; j++){
arr[i][j] = i + 1 ;
//此处录入数据
}
}
具体代码:
import java.util.Scanner;
public class num{
public static void main(String arge[]){
Scanner myscanner = new Scanner(System.in);
int n = myscanner.nextInt();
int[][] arr = new int[n][];
for (int i = 0; i < arr.length; i++){
arr[i] = new int[i + 1];
for (int j = 0; j < arr[i].length; j++){
arr[i][j] = i + 1;
}
}
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();
}
}
}
运行截图:
*数组赋值机制:
基本数据类型:int a = 10 , b = a ; b-- ; // a = 10 , b = 9 ;
数组: int[] arr1 = {1, 2, 3} , arr2 = arr1 ; arr2[0] = 10 ; // arr1 = {10; 2; 3} , arr2 = {10; 2; 3}
创建数组后如果没有复制,是有默认值的(c/c++中没有)
int 0 ; short 0 ; byte 0 ; long 0 ;
fioat 0.0 ; double 0.0 ;char \u0000 ;
boolean false ; String NULL;
最后在补充一点:数组是引用数据类型 ,不属于基本数据类型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!