JavaSE06笔记
发布日期:2021-05-18 05:20:08 浏览次数:25 分类:精选文章

本文共 2048 字,大约阅读时间需要 6 分钟。

技术笔记:Java数组与面向对象知识点总结

1. 数组元素的赋值

目标:定一个int型一维数组,包含10个元素,赋一些随机整数,并求最大值、最小值、总和和平均数。

方法

  • 使用循环赋值,确保每个元素都是两位数。可以使用 Math.random() * 90 + 10 生成数。
  • 计算总和、最大值和最小值时,逐个遍历数组。
  • 计算平均值时,将总和除以数组长度。

示例代码

int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {    arr[i] = (int) (Math.random() * 90) + 10;}int sum = 0;int max = Integer.MIN_VALUE;int min = Integer.MAX_VALUE;for (int num : arr) {    sum += num;    if (num > max) {        max = num;    }    if (num < min) {        min = num;    }}double average = (double) sum / arr.length;

2. 数组操作

复制:用循环逐个复制数组元素。

反转:使用交换法或索引计算法。

线性查找:逐个比较元素,直到找到目标值。

二分查找:前提是数组已排序。计算中间位置,根据比较结果调整查找范围。

示例代码

// 数组反转int[] array1 = {2, 3, 5, 7, 11};int[] array2 = new int[5];for (int i = 0; i < 5; i++) {    array2[i] = array1[i];}// 反转方式一for (int i = 0; i < array1.length / 2; i++) {    int temp = array1[i];    array1[i] = array1[array1.length - 1 - i];    array1[array1.length - 1 - i] = temp;}// 二分查找Arrays.binarySearch(arr, target);

3. 数组排序

常见算法:冒泡排序、快速排序、插入排序、归并排序等。冒泡排序简单,但时间复杂度较高。

实现快速排序:通过划分、合并和递归的方式实现。

4. 工具类 Arrays

常用方法

  • equals 比较数组内容是否相同。
  • sort 对数组进行排序。
  • binarySearch 提供二分查找支持。

示例代码

import java.util.Arrays;int[] arr = {34, 76, -8, 0, 56, -45, 6, 21};Arrays.sort(arr);

5. 常见异常处理

ArrayIndexOutOfBoundsException:访问越界角标时触发,需加检查。

NullPointerException:空指针调用,比如访问null对象的方法或字段。

6. 面向对象基础

面向过程 vs 面向对象:面向对象强调对象本身的行为和属性,适合描述事物的性质。

类与对象:类定义事物的属性和行为,对象是通过new实例化的具体实体。

成员变量 vs 局部变量

  • 成员变量在类中定义,具有默认值,用于多个对象共享。
  • 局部变量在方法内定义,需显式初始化,存储在栈中。

7. 类与对象创建

  • 设计类:确定属性和行为,定义构造器。
  • 创建对象:使用new关键字。
  • 调用方法:通过对象引用访问属性和方法。

示例代码

public class Phone {    String name;    int price;    public void call() {        System.out.println("手机可以拨打电话");    }}Phone iphone = new Phone();iphone.name = "苹果手机";iphone.price = 8999;System.out.println(iphone.name + ", " + iphone.price);

8. 设算练习

编写类Person,包含成员变量和方法,练习封装、继承和多态。

代码示例

class Person {    String name;    int age = 1;    boolean gender;    public void sleep() {        System.out.println("人每天应该至少保证" + 6 + "小时的睡眠");    }}Person p1 = new Person();p1.sleep();p1.eat("湖南臭豆腐");

通过以上练习,逐步掌握数组操作和面向对象概念,为后续学习打下基础。

上一篇:JavaSE07笔记
下一篇:Java05

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月04日 08时06分44秒