我是灼灼,一只初学Java的大一金渐层。
向往余秀华和狄兰·托马斯的疯狂,时常沉溺于将情感以诗相寄;追逐过王尔德、王小波的文字,后陷于毛姆和斯蒂芬·金不可自拔;热爱文学的浪潮,白日梦到底却总在现实里清醒;艳羡平静又极度渴盼奔跑的力量。
欢迎与我交流鸭· QQ:1517526827;
个人博客:https://blog.csdn.net/weixin_52777510?spm=1001.2101.3001.5343
Java笔记——数组操作
Java笔记正在连载中,欢迎来其他内容逛逛哟~
相关内容如下:
【连载1】Java笔记——基本结构与流程控制
【连载2】Java笔记——数组操作
【连载3】Java笔记——面向对象编程
【连载4】Java笔记——Java核心类
【连载5】Java笔记——异常处理
【连载6】Java笔记——反射和注解
【连载7】Java笔记——泛型
【连载8】Java笔记——集合
【连载9】MySQL学习笔记
【连载10】JDBC学习笔记
【连载11】Git和GitHub的使用笔记
笔记内容来源于廖雪峰官方博客~
CATALOGUE——>
1.1遍历数组
1.2数组排序
1.3多维数组
1.4命令行参数
第1章.数组操作
1.1遍历数组
1.1.1仅一维数组的遍历方法
1)for循环
数组的每个元素都可以通过索引来访问,故利用索引来实现数组的遍历。
for循环条件:初始条件为i=0
,因为索引总是从0
开始,继续循环的条件为i<ns.length,因为当
i=ns.length时,
i已经超出了索引范围(索引范围是
0~
ns.length-1`),每次循环后,i++。
2)for each循环
直接迭代得到数组元素
代码:
public class Main {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
for (int n : ns) {
System.out.println(n);
}
}
}
3)Java标准库中的方法
Arrays.toString方法
1.1.2打印数组内容
1)for循环打印数组内容
较不方便,但是可以直接得到数组下标的值。
2)for each循环直接打印数组元素内容
很方便,但是无法获取数组下标的值。
3)Java标准库的方法打印
使用Arrays.toString()
可以快速获取数组内容。
4)直接打印数组变量
只能得到数组在JVM中的引用地址(不知道是什么)。
1.2数组排序
1.2.1升序排序
排序方法有:
1)冒泡排序(特点:两层for循环嵌套,每一轮循环后,最大的一个数被交换到末尾,因此,下一轮循环就可以“刨除”最后的数,每一轮循环都比上一轮循环的结束位置靠前一位)
C语言使用
Java使用
2)希尔排序(C语言)
3)插入排序
1.2.2降序排序
练习代码
1.2.3常用的排序方法
1)冒泡排序
是常用的数组排序方法(小代码保存下来)
代码:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
// 排序前:
System.out.println(Arrays.toString(ns));
for (int i = 0; i < ns.length - 1; i++) {
for (int j = 0; j < ns.length - i - 1; j++) {
if (ns[j] > ns[j+1]) {
// 交换ns[j]和ns[j+1]:
int tmp = ns[j];
ns[j] = ns[j+1];
ns[j+1] = tmp;
}
}
}
// 排序后:
System.out.println(Arrays.toString(ns));
}
}
运行结果:
[28, 12, 89, 73, 65, 18, 96, 50, 8, 36]
[8, 12, 18, 28, 36, 50, 65,73, 89, 96]
2)插入排序
3)快速排序
1.2.4Java标准库内置排序功能
Arrays.sort方法
方便快捷
-----数组排序注意事项:
对数组排序实际上修改了数组本身,数组的每个元素在排序后的指向变化了。
1.3多维数组
1.3.1二维数组
1)二维数组的表示
int [] [] ns=new int [] [];
二维数组就是数组的数组
2)二维数组的遍历方法
两层for循环嵌套遍历
3)二维数组内容的打印
使用两层for循环嵌套打印
Java标准库方法Arrays.deepToString
1.3.2三维数组及以上
1)三维数组
三维数组就是二维数组的数组
三维数组的表示:
int [] [] []ns=new int [] [] [];
2)三维以上数组
理论上,我们可以定义任意的N维数组。但在实际应用中,除了二维数组在某些时候还能用得上,更高维度的数组很少使用。
多维数组的每个数组元素长度都不要求相同.
1.4命令行参数
Java程序的入口是main方法,而main方法可以接受一个命令行参数,它是一个String[]数组(命令行参数类型是此数组)。
这个命令行参数由JVM接收用户输入并传给main方法:
public class Main {
public static void main(String[] args) {
for (String arg : args) {
System.out.println(arg);
}
}
}
我们可以利用接收到的命令行参数(用户输入),根据不同的参数执行不同的代码。
如何解析命令行参数需要由程序自己实现:
我们在命令行编译它,执行的时候给它传入参数,然后程序就可以根据传入的命令行参数,做出不同的相应。
笔记写完啦~
如果对你有帮助的话不要忘记一键三连噢~
谢谢鸭~
初次编写于2020/12/14日;
一改于2021/1/22日。