小白日记之一维数组

数组是一个存储数据的工具,可以用来帮我们存储东西。

数组需要声明并创建,之所以需要创建,我认为应该是需要系统在内存中分配空间,毕竟数组是一个存储数据的工具,需要空间。数组会在内存中开辟一个连续的空间。

public static void main(String[] args) {

int[] arr = new int[5];

for(int i=0;i<5;i++) {

arr[i] = i+1;

System.out.println("第"+(i+1)+"个元素的值为"+arr[i]);

}

}

增强型for循环,适合配合数组使用的for循环。在括号中只有两个两个表达式,跟普通的for表达式不同的是中间用冒号隔开,普通的for循环使用分号。第一个表达式跟普通的for循环不一样的地方是定义一个变量,并且不给他初始化。第二个表达式干脆是数组的名字。

public static void main(String[] args) {

int[] arr = new int[5];

Scanner sc = new Scanner(System.in);

for(int x=0;x<arr.length;x++) {

System.out.println("请输入数组的元素");

arr[x] = sc.nextInt();

}

System.out.println("数组的元素内容为");

for(int n:arr) { //此为增强型for循环。

System.out.print(n+" ");

}

int sum = 0;

for(int z=0;z<arr.length;z++) {

sum = arr[z] + sum;

}

System.out.println("");

System.out.println("数组的和为"+sum);

}

冒泡排序,总的来讲就是通过比大小的方式把来把元素进行有序排列。本身不难,难的是写出空间复杂度和时间复杂杜都比较好的冒泡排序。

int[] a = {34,53,12,32,56,17};

System.out.println("排序前的数组元素为");

for(int x:a) {

System.out.print(x+" ");

}

System.out.println();

int temp;

for(int i=0;i<a.length-1;i++) {//外重循环控制循环的次数

for(int j=0;j<a.length-1-i;j++) {

if(a[j]>a[j+1]) {

temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

}

}

}

for(int y:a) {

System.out.print(y+ " ");

}

}

冒泡排序,两两排序,外重循环最多执行5次,内重循环比外重循环次数小。并且每次循环都比之前的循环次数更少。

相关推荐
FQNmxDG4S4 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
超级码力6664 小时前
【Latex文件架构】Latex文件架构模板
算法·数学建模·信息可视化
穿条秋裤到处跑4 小时前
每日一道leetcode(2026.04.29):二维网格图中探测环
算法·leetcode·职场和发展
Merlos_wind5 小时前
HashMap详解
算法·哈希算法·散列表
虹科网络安全5 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje5 小时前
Java语法进阶
java·开发语言·jvm
汉克老师5 小时前
GESP2025年3月认证C++五级( 第三部分编程题(1、平均分配))
c++·算法·贪心算法·排序·gesp5级·gesp五级
rKWP8gKv75 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫5 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287925 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日