CGBTN2110-DAY05总结复习

int[] a = {1,2,3,4,5};

int[] a = new int[]{1,2,3,4,5};

1.2 动态创建

int[] a = new int[5];

1. 3 数组的创建过程

  1. 在内存中开辟连续的空间,用来存放数据

  2. 给数组完成初始化过程,给每个元素赋予默认值

  3. 数组完成初始化会分配一个唯一的地址值

  4. 把唯一的地址值交给引用类型的变量a去保存

  5. 如果想要操作数组中的元素,可以根据变量保存的地址找到数组,然后根据下标来操作数组的具体元素

数组名保存的是数组的地址值,不是数组中每一个具体的元素,数组名是一个引用类型的变量

2. 数组的特性

  1. 数组的长度通过**数组名.length;**来获取

  2. 数组一旦创建,长度无法改变

  3. 数组的下标从0开始,最大下标为数组长度-1

  4. 如果访问到了不存在的下标,会数组下标越界异常

3. 数组的工具类Arrays

  1. toString(数组名),除了char类型以外,其他类型的数组想要查看数组的具体元素,都得使用这个方法,如果不用,打印是数组的地址值

  2. sort(数组名),给数组进行排序

  3. copyOf(要复制的数组,新数组的长度)

如果新的长度大于原数组的长度–数组的扩容

如果新的长度小于原数组的长度–数组的缩容

如果新的长度等于原数组的长度–普通的复制

注意:不管是什么长度,都不是修改原数组,而是创建新数组

4. 数组的遍历

  1. 如果只是想查看数组中有哪些元素,直接使用System.out.println(Arrays.toString(数组名));就可以

  2. 如果想要拿到数组中的一个个的具体元素,或者是对数组中的元素做进一步的操作,就需要对数组进行遍历

  3. 遍历:把数组中的所有元素,从头到尾逐个“过一遍”

  4. 通过循环遍历数组,所以循环中的循环变量代表的是数组的下标

public class ReviewDemo {

public static void main(String[] args) {

int[] a = new int[10];

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

//System.out.println(i);//打印的是数组的下标0-9

a[i] = i+11;//a[i]代表的是数组中每一个具体的元素

}

System.out.println(Arrays.toString(a));

//[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

}

}

5. 冒泡排序

冒泡排序详细笔记

排序思路:要比较多轮,每轮两个相邻的元素做比较,位置不对就互换

代码思路:

通过嵌套for循环来完成

  1. 外层循环:控制的是轮数,如果有n个数,最多n-1轮

  2. 内层循环:控制的是每轮中比较的次数,每一轮的次数会递减,之前轮确定的最大值不应该参与后面轮的比较

注意:外层循环的循环变量代表的是轮数1 2 3 4…

内层循环的循环变量代表的是数组的下标[0,a.length-i)

6 拓展案例:简易计算器

package cn.tedu.hello;

import java.util.Scanner;

/*本类用于实现简易计算器/

public class TestMethod {

public static void main(String[] args) {

f0();//调用一个实现计算器的方法

}

private static void f0() {

while(true){//死循环,让用户一直算

//1.提示并接收用户输入的两个数

System.out.println(“请您输入要计算的第1个数:”);

int a = new Scanner(System.in).nextInt();

System.out.println(“请您输入要计算的第2个数:”);

int b = new Scanner(System.in).nextInt();

//2.提示并接收用户输入的运算符

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值