JavaSE day14笔记

第十四天课堂笔记

  • 课上: 适当做笔记
  • 课下 : 总结 , 读代码 , 反复敲代码 , 做练习

数组★★★

  • 数组 : 存储多个 同一类型 的容器
  • 格式 :
  • 数组类型 : 引用数据类型, new运算符在堆中 分配一块连续的存储空间 , 系统会给数组元素默认初始化 , 将该数组的引用赋值给数组名
    • 引用数据类型包括 : 类 \ 接口 \ 数组 \ 枚举 \ 注解 \ record
    • int[] 和 byte[] 是两个数据类型, 不存在想换赋值转换的情况
  • 如何定义一个数组
    • 动态初始化: 数据类型[] 数组名 = new 数据类型[长度];

    • 数组的静态初始化

      • 数据类型 [] 数组名 = new 数据类型 [] {值...};
      • 简化为: 数据类型 [] 数据名 = {值 ...} : 仅用于数组的静态初始化, 不能用于给数组名重新赋值
    • 注意 : new int[0] => 长度为0的数组,不能存储任何数据, 需要给该数组赋值一个长度大于0的数组才能使用

  • 说明

    • 索引值从0开始, 不能为负数, 索引值= [0 , 数组长度 - 1]

    • 数组名[索引值] ==> 变量名

    • 数组元素默认初始化值 : 0 , 0.0 , \u0000 , null , false

  • 包名 : 公司域名反写 + 项目名 + 模块名

    • 把类定义在包中后, 类的权限定类名(完整类名) = 包名.类名
  • char类型字符码值取值范围为 0 ~ 66535

数组循环遍历★★★

  • for循环遍历: for(int i = 0 ; i < 数组长度 ; i++){system.out.println(数组名[i])}
    • 数组长度 : 数组名.length
    • 逆序快捷键 : 数组名.forr
    • for循环 可以赋值 , 可以访问
  • 遍历 foreach循环 : 增强的for循环
    • for(数据类型 变量名 : 数组名) { 循环体 }
    • 先将数组值依次赋值给变量 ,再执行循环体
    • foreach仅用于访问
    • 输入iter : foreach循环代码块 / 方法名.for
  • Arrays.tostring(数组名);

数组扩容原理★

  • 步骤

    • 定义一个更大的数组
    • 把原来数组中的数据复制到大数字中 :
      • System.arraycope(src, srcPos , dest , destPos . length)
      • 把src数组中从srcPos开始 的元素 复制到 dest 数组中 destPos 的位置上, 复制 length 个元素
      • native关键字 : 方法体调用了C/C++编写的本地方法, 在Java程序中可以调用其他语言编写的代码
    • 让原来数组名引用这个更大的 数组

位运算符★

  • & , | , ~ , >> , << , >>>

数组特点★★★

  • 优点 : 查询效率高

    • 通过索引值 计算 每个数组元素的地址偏移量 ,==> ints + i * 数据所占字节数
    • 通过计算出来的地址, 直接访问
  • 缺点 : 插入删除效率低

    • 插入步骤: 将一个值, 插入到数组i的位置上

      • 定义一个更大的数组
      • 把数组从0 到 i个元素 复制到big数组的0位置上
      • 把值保存到数组i中
      • 把数组从i 开始的元素, 复制到big数组的i+1位置上, 复制 ints.length - i个元素

数组在方法中的使用★★★★

  • 数组在方法中的传递
    • 方法 : 完成某个功能编写的代码 , 实现代码复用
  • 数组作为方法返回值

相关推荐
十年一梦实验室5 小时前
【C++】相机标定源码笔记- 标定工具库测试
笔记·数码相机
炫酷的伊莉娜5 小时前
【网络安全】第3讲 消息认证技术(笔记)
笔记·安全·web安全
Lyx-06075 小时前
项目进度管理(信息系统项目管理师)
笔记
爱学习的南瓜6 小时前
笔记14:程序中的循环结构
c语言·笔记
Java追光着6 小时前
谷粒商城笔记-02-项目整体效果展示
笔记
dadalaohua9 小时前
【开源项目】LocalSend 局域网文件传输工具
笔记·学习·github
nongcunqq10 小时前
自动缩放 win7 远程桌面
笔记
真果粒wrdms10 小时前
Python基础
windows·经验分享·笔记·python
海姐软件测试10 小时前
名企面试必问30题(二十二)——你对加班的看法?
笔记·其他·面试·职场和发展
大小胖虎11 小时前
专业课笔记——(第十二章:文件的读写)
c语言·笔记·字符串·文件·文件存储·文件的读写