java课基础问题整理与解答

  1. 常量与变量定义示例
    public class cyj {
    // 1. 定义全局常量,全局变量在项目中通用
    public static final int MAX_VALUE = 512;
    // 2. 定义局部常量,局部变量在本类中使用
    private static final double PI = 3.14159;
    public static void main(String[] args) {
    // 3. 原始数据类型变量定义
    byte age = 25; // 8位整型
    int score = 98; // 32位整型
    long population = 1_000_000L; // 64位整型,需加L
    float weight = 65.5f; // 32位浮点型
    double height = 1.78; // 64位浮点型
    boolean isPass = true; // 布尔型
    char gender = '男'; // 字符型

    // 4. 引用类型变量定义(String类)
    String name = "张三";
    String message = "Hello, Java!";
    }
    }

图片1
2.枚举类型示例
// 1. 定义枚举类型
enum Size { SMALL, MEDIUM, LARGE }
// 2. 使用枚举
public class cyj {
public static void main(String[] args) {
// 直接引用枚举值
Size s = Size.MEDIUM;
System.out.println("当前尺寸:" + s);
// 枚举值迭代
for (Size value : Size.values()) {
System.out.println(value);
}
// 字符串转枚举
Size t = Size.valueOf("SMALL");
System.out.println("转换后的枚举:" + t);
}
}

图片2

图片3

3.数据类型的转换,示例
// 1. 自动类型转换(安全,无精度损失)
int intValue = 100;
long longValue = intValue; // int(32位)→ long(64位)
float floatValue = intValue; // int → float(范围足够)

// 2. 强制类型转换(可能有精度损失)
double doubleValue = 1234567890.123;
float floatVal = (float) doubleValue; // double → float,精度损失
System.out.println(floatVal); // 输出:1.23456794E9(与原数值有差异)

// 3. 包装类转换(适合多类型转换场景)
Double doubleObj = new Double(156.5);
byte byteVal = doubleObj.byteValue(); // 156.5 → 156(byte类型)
int intVal = doubleObj.intValue(); // 156.5 → 156(int类型)
String strVal = doubleObj.toString(); // 156.5 → "156.5"(字符串)
图片4

图片5

图片6
4.精度问题

图片7

图片8
问题解决方案
import java.math.BigDecimal;

public class cyj{
public static void main(String[] args) {
// 用字符串构造BigDecimal,避免精度问题
BigDecimal a = new BigDecimal("0.05");
BigDecimal b = new BigDecimal("0.01");

    System.out.println("0.05 + 0.01 = " + a.add(b));
    System.out.println("0.05 - 0.01 = " + a.subtract(b));
    System.out.println("0.05 * 0.01 = " + a.multiply(b));
    System.out.println("0.05 / 0.01 = " + a.divide(b));
}

}

图片9

图片10
5.字符串拼接
public class cyj {
public static void main(String[] args) {
int X = 100;
int Y = 200;
// 字符串在前,后续+视为拼接
System.out.println("X+Y=" + X + Y);
// 数值在前,先运算再拼接
System.out.println(X + Y + "=X+Y");
}
}

图片11

图片12

import java.util.Scanner;
public class cyj {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 读取字符串
System.out.print("请输入姓名:");
String name = in.nextLine();
// 读取整数
System.out.print("请输入年龄:");
int age = in.nextInt();
// 输出结果
System.out.println("姓名:" + name + ",年龄:" + age);
in.close(); // 关闭Scanner
}
}
图片13

图片14

posted on 2025-09-25 20:17  才一斤  阅读(4)  评论(0)    收藏  举报

导航