当前位置: 首页 > news >正文

Java 学习打卡 2026.08.15

一.Arrays 数组工具类(重点)

Arrays 是 Java 提供的数组专用工具包,不用自己手写复杂逻辑,直接调用方法操作数组,非常便捷。

1. 第三种打印数组方式:Arrays.toString()

之前打印数组需要手写循环,现在可以直接使用工具类:

• 语法:Arrays.toString(数组名)

• 作用:把整个数组整体转为字符串格式输出

• 使用特点:需要定义字符串变量接收结果,或直接打印
int[] arr = {1,3,2};
String res = Arrays.toString(arr);
System.out.println(res);
// 输出:[1, 3, 2]
2. Arrays.sort() 数组自动排序

• 语法:Arrays.sort(数组名)

• 作用:对数组从小到大自动升序排序

• 无需手动写排序逻辑,底层封装好算法

3. Arrays.equals() 判断两个数组是否相等

• 作用:比较两个数组的元素、长度、顺序是否完全一致

• 返回值:布尔值 true / false

4. Arrays.fill() 数组批量填充

• 作用:自动给数组所有元素统一赋值填充

• 适合快速初始化数组所有数据

5. Arrays.copyOf() 数组拷贝

• 作用:复制原数组,生成一个新数组

• 可以自定义新数组长度,实现扩容、缩容效果

6. 二分查找(Arrays工具类)

• 前提:数组必须先排序

• 作用:快速查找指定元素的下标位置,效率极高

二、数组经典算法(今日补充重点)

1. 冒泡排序

核心思想:
相邻两个元素两两比较,如果顺序错误就交换位置,每一轮排序都会把当前最大值“冒泡”到末尾。

• 作用:实现数组从小到大排序

• 属于基础手写排序算法,区别于工具类自带 sort

2. 数组逆序

核心思想:
首尾对应位置元素互换,中间位置结束循环。

• 效果:原数组顺序反转(1,2,3 → 3,2,1)

3. 二分查找

• 适用:有序数组

• 原理:每次砍掉一半查找范围,快速锁定目标元素下标

三、二维数组

1. 概念

二维数组是特殊的一维数组:

• 外层数组的每一个元素,又是一个一维数组

2. 三种定义方式

1. 标准动态初始化:数据类型[][] 数组名 = new 类型[行数][列数];

2. 只定义行数、未定列数(不规则数组可用):数据类型[][] 数组名 = new 类型[行数][];

3. 静态初始化:数据类型[][] 数组名 = {{1,2},{3,4,5}};

3. 获取行列长度

• 获取总行数:数组名.length

• 获取指定行的列数:数组名[i].length

4. 三种遍历打印方式

1. 普通双层for循环:外层遍历行,内层遍历每一行的列元素

2. 增强for-each循环:简洁遍历所有元素,无需下标

3. Arrays.deepToString() 专用二维数组打印

• 普通 Arrays.toString() 打印二维数组只会输出地址值

• Arrays.deepToString(二维数组名):直接打印所有内层数值,是二维数组专属打印方式

5. 规则与不规则二维数组

• 规则二维数组:每一行的列数全部相同

• 不规则二维数组:每一行的列数不统一,长度各不相同

四、面向过程 vs 面向对象

1. 面向过程

• 核心:关注每一步过程、每一个细节流程

• 思路:怎么做、步骤是什么

• 偏向机械化、步骤化编程

2. 面向对象

• 核心:关注谁来做,依靠对象交互解决问题

• 思想更抽象、更适合复杂程序

• Java 是纯面向对象语言

五、类与对象(核心重点)

1. 类的作用

类是对象的模板,用来描述一类事物:

• 包含:属性(成员变量)、行为(成员方法)

2. 类的组成

1. 成员变量:描述事物的特征、属性

2. 成员方法:描述事物的功能、行为

3. 类的书写规范(必考)

1. 类名使用大驼峰命名法(首字母大写)

2. 成员变量、成员方法统一用 public 修饰

3. 自定义方法不能加 static(普通成员方法)

4. 一个 Java 文件中建议只定义一个类

5. public 修饰的类名 必须和文件名完全一致,不能随意改名

6. 不加 public 的普通 class,可以随意定义、不限文件名

六、对象实例化

• 通过 new 关键字创建对象:类名 对象名 = new 类名();

• 通过对象名可以:给成员变量赋值、调用成员方法

• 一个引用变量只能指向一个对象,不能同时指向多个对象

七、this 引用

• this 代表当前对象

• 用于区分成员变量和局部变量重名问题

• 每new一次对象,就有一个独立的this引用

八、构造方法

1. 作用

对象实例化创建的一瞬间自动调用,专门用来初始化对象成员变量

2. 核心规则

1. 方法名必须和类名完全相同

2. 没有返回值类型

3. 当我们没有手动写任何构造方法时,编译器会自动赠送一个无参空构造方法

4. 一旦手动写了构造方法,系统不再提供默认无参构造

今日学习心得

今天系统学完了 Java 数组全套进阶内容和面向对象入门核心。
从工具类简化数组操作、手写基础排序算法,到二维数组的定义与遍历,完整打通了一维、二维数组的所有常用操作。
同时正式入门面向对象思想,理解了类、对象、成员变量、成员方法、this、构造方法的底层逻辑,但自身掌握还不够,有些不太懂,明天多练习题来巩固一下,尤其类和对象以及构造方法这一块儿。

http://www.jsqmd.com/news/1402120/

相关文章:

  • Hive SQL与关系型SQL核心差异:从数据模型到执行引擎的深度解析
  • 银行家算法:死锁预防与资源管理的核心原理与实践
  • Windows 10更新后网络连接失效与设置闪退的深度修复指南
  • 百万 token 窗口的代价:Cline 账单暴涨 300% 后,我的预算分配表救场
  • 电脑休眠与睡眠功能详解:原理、配置与常见问题排查
  • EPLAN路径功能文本:提升电气设计效率与报表自动化的核心技巧
  • Mac彻底卸载IntelliJ IDEA:从文件分布到一键脚本的完整指南
  • 154.ABAP BAPI 事务提交与回滚详细用法
  • AI-Care:基于多智能体系统的阿尔茨海默病照护任务协调技术解析
  • Typora免费替代方案与安全使用指南:从Markdown编辑器选择到合法获取
  • IDEA快捷键全解析:从核心导航到重构调试的实战指南
  • 【泄底】黑曜馆事件(时晨)
  • Word三线表样式创建指南:告别手动描边,实现一键套用
  • 开源“剪映CapCut”替代品Cutia,支持一键生成视频字幕?还可在线AI剪辑视频
  • 高质量数据:AI模型性能的决定性因素与工程实践
  • 伯藜陪教|童心探虫趣,自然启新知|
  • 2026备考学子情绪疏导测评 暖音树洞回声匿名解压稳心态 - nuanyin
  • 深度学习入门,从概念到实操一小时讲清楚!
  • 基于Spring Boot的手工艺品销售网站设计与实现
  • Obsidian入门指南:20分钟掌握开发者必备的双向链接笔记法
  • 谷粒推ES MAX手柄评测:TMR摇杆与高速蓝牙如何解决多平台游戏痛点
  • C语言浮点数内存表示与IEEE 754标准详解:从原理到实战排查
  • AI编程新范式:Superpowers与AgentSkills构建高效可靠开发工作流
  • 2026年弹簧硅胶制品供应厂家实力观察:精密弹力与耐温抗压能力的制造逻辑 - 卓企推荐
  • 基于Haar小波子带剪枝的大语言模型轻量化压缩技术解析
  • BugkuCTF-pwn Easy_int题解 整数溢出(学习过程持续更新)
  • CSS Table样式深度解析:从基础原理到高级数据表格实战
  • C++内联函数深度解析:从编译器优化到性能调优实践
  • Nodejs分布式解析
  • 【泄底】土楼杀人事件(青稞)