Java编程基础核心笔记:循环、数组与方法精要

发布于:2025-07-02 ⋅ 阅读:(25) ⋅ 点赞:(0)


Java编程基础核心笔记:循环、数组与方法精要

一、循环高级应用训练

1. 平方根计算案例

import java.util.Scanner;

public class SquareRootCalculator {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int zhengShu = 2;
        
        while(zhengShu * zhengShu <= n) {
            ++zhengShu;
        }
        
        System.out.println(zhengShu - 1);
    }
}

2. 质数判断案例

import java.util.Scanner;

public class PrimeNumberChecker {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int zhiShu = sc.nextInt();
        
        for(int i = 2; i <= zhiShu; i++) {
            for(int j = 2; j <= i; j++) {
                if(i * j == zhiShu) {
                    System.out.println("有质数");
                    break;
                } else {
                    System.out.println("无质数");
                }
            }
        }
    }
}

二、数组核心概念

1. 数组基础

  • 定义:存储同种数据类型的容器
  • 特点:固定长度、索引访问、连续内存
数组初始化方式
// 静态初始化(直接指定元素)
int[] staticArr = {1, 2, 3, 4, 5};

// 动态初始化(指定长度)
int[] dynamicArr = new int[5]; // 默认值:0
String[] strArr = new String[3]; // 默认值:null

2. 数组地址值解析

[I@4c873330 结构含义:

  • [:表示数组
  • I:表示int类型
  • @:分隔符
  • 4c873330:十六进制内存地址

3. 数组遍历与处理

public class ArrayProcessor {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                System.out.println(arr[i] / 2);
            } else {
                System.out.println(arr[i] * 2);
            }
        }
    }
}

4. 数组内存模型

public class ArrayMemoryDemo {
    public static void main(String[] args) {
        int[] arr1 = {11, 22};
        int[] arr2 = arr1; // 共享内存空间
        
        arr2[0] = 99; // 修改会影响arr1
        
        System.out.println(arr1[0]); // 输出99
    }
}

三、方法核心机制

1. 方法基础概念

  • 本质:程序最小执行单元
  • 作用:封装重复代码,提高复用性和可维护性
方法定义与调用
public class MethodDemo {
    // 无参方法
    public static void greet() {
        System.out.println("Hello, World!");
    }
    
    // 带参方法
    public static void printSum(int a, int b) {
        System.out.println("Sum: " + (a + b));
    }
    
    public static void main(String[] args) {
        greet(); // 方法调用
        printSum(10, 20); // 带参调用
    }
}

2. 形参与实参

概念 定义位置 作用 示例
形参 方法声明中 定义方法接收的数据 void print(int num) 中的 num
实参 方法调用中 实际传递的值 print(5) 中的 5

3. 带返回值方法

public class Calculator {
    // 方法定义
    public static int add(int a, int b) {
        return a + b;
    }
    
    public static void main(String[] args) {
        // 1. 直接调用
        add(5, 3);
        
        // 2. 赋值调用
        int result = add(5, 3);
        
        // 3. 输出调用
        System.out.println(add(5, 3));
    }
}

4. 方法重载机制

public class MathUtils {
    // 整数加法
    static int add(int a, int b) {
        return a + b;
    }
    
    // 重载1:双精度加法(类型不同)
    static double add(double a, double b) {
        return a + b;
    }
    
    // 重载2:三数相加(数量不同)
    static int add(int a, int b, int c) {
        return a + b + c;
    }
}

重载规则

  1. 方法名必须相同
  2. 参数列表必须不同(类型/数量/顺序)
  3. 与返回值类型无关

四、Java内存模型

内存区域划分

内存区域 存储内容 生命周期
栈(Stack) 局部变量、方法调用 方法执行期间
堆(Heap) 对象实例、数组 直到被GC回收
方法区 类信息、常量、静态变量 JVM运行期间
本地方法栈 Native方法执行信息 Native方法期间
寄存器 CPU指令和操作数 指令执行期间

数据类型存储差异

特性 基本数据类型 引用数据类型
存储内容 实际值 对象地址
内存位置 栈内存 堆内存
示例 int, double, char 数组, String, 自定义对象

五、核心概念总结

1. 循环编程要点

  • 避免死循环(确保有终止条件)
  • 优化循环边界(如平方根案例)
  • 减少循环内重复计算
  • 合理使用break/continue

2. 数组使用准则

  • 注意数组边界(防止越界异常)
  • 遍历优先使用标准for循环
  • 大数组考虑内存占用
  • 理解多维数组存储结构

3. 方法设计原则

  • 单一职责:一个方法只做一件事
  • 合理命名:动词+名词(如calculateSum)
  • 参数控制:不超过5个参数
  • 明确返回值:避免void的过度使用

4. 内存管理技巧

  1. 基本类型优先使用局部变量
  2. 及时解除无用对象引用
  3. 避免创建不必要的大对象
  4. 理解对象生命周期

学习建议:通过调试工具观察内存变化,编写测试用例验证方法行为,重构重复代码提高质量。理解值传递机制是避免隐蔽Bug的关键,而掌握封装思想是构建健壮程序的基石。


网站公告

今日签到

点亮在社区的每一天
去签到