JavaSE第五章、数组&排序&查找
2022/4/5 9:19:26
本文主要是介绍JavaSE第五章、数组&排序&查找,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JavaSE第五章、数组&排序&查找
一、数组
1.数组的定义
(1)动态初始化
第一种: int[] a=new int[5];
第二种: int a[]=new int[5];
第三种: int a[];或int[] a; //先定义
a=new int[5]; //再初始化
(2)静态初始化
int a[]={1,2,3,4,5};
注意事项:
-
数组中的元素可以是任何数据类型,但不能混用。
-
数组创建后,若没有赋值,则有默认值:
int\short\byte\long为0;
float\double为0.0;
char为\u0000;
boolean为false;
String为null。
-
⚠️数组的下标从0开始。
-
数组是引用类型,数组型数据是对象(object)。
2.数组赋值机制
-
基本数据类型赋值方式为值传递。
-
数组在默认情况下是引用传递,赋的是地址。
3.数组的扩容
Scanner myScanner = new Scanner(System.in); int[] arr={1,2,3}; do{ int[] arrNew = new int[arr.length+1]; for(int i=0;i<arr.length;i++) { arrNew[i]=arr[i]; } System.out.println("请输入添加的元素"); int addNum=myScanner.nextInt(); arrNew[arrNew.length-1]=addNum; arr=arrNew; System.out.println("是否继续添加?(y/n)"); char key=myScanner.next().charAt(0); if(key=='n') break; }while(true); for(int i=0;i<(arr.length);i++) { System.out.print(arr[i]+" "); }
二、二维数组
1.二维数组的定义
//静态初始化 int[][] arr={ {0,0,0}, {0,0,1}, {1,2,0}, } //动态初始化一 int arr[][]; arr = new int [5][5]; //动态初始化二 int a[][] = new int [5][5]; //动态初始化三——列数不确定 /*Java二维数组允许每个一维数组的个数不同,即列数不确定。*/ int[][] arr = new int[3][]; for(int i=0;i<arr.length;i++){ //给每个一维数组开空间。否则arr[i]为null。 arr[i]=new int[i+1]; //给每个一维数组的每个元素赋值 for(int j=0;j<arr[i].length;j++){ arr[i][j]=i+1; } }
注意事项:
- 二维数组的每个元素是一维数组。
- 访问第(i+1)个一维数组的第(j+1)个值:arr [i][j]。
- 二维数组的声明方式还可以为:int[] y[]
2.杨辉三角
int[][] arr=new int[10][]; for(int i=0;i<arr.length;i++){ arr[i]=new int[i+1]; for(int j=0;j<arr[i].length;j++) { if(i>1 && j!=0 && j!=arr[i].length-1) arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; else arr[i][j]=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();
这篇关于JavaSE第五章、数组&排序&查找的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?