Skip to content

随堂实操任务清单 第 2 讲

💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。

← 返回《Java程序设计》大纲


实操 1基本数据类型取值范围与内存展示DataTypeRangeDemo.java
java
/**
 * 基本数据类型取值范围与内存展示
 * @author MatNoble
 */
public class DataTypeRangeDemo {
    public static void main(String[] args) {
        System.out.println("========== Java 八大基本数据类型范围 ==========");
        System.out.printf("byte    : [%d, %d], 占用 %d 字节\n", Byte.MIN_VALUE, Byte.MAX_VALUE, Byte.BYTES);
        System.out.printf("short   : [%d, %d], 占用 %d 字节\n", Short.MIN_VALUE, Short.MAX_VALUE, Short.BYTES);
        System.out.printf("int     : [%d, %d], 占用 %d 字节\n", Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.BYTES);
        System.out.printf("long    : [%d, %d], 占用 %d 字节\n", Long.MIN_VALUE, Long.MAX_VALUE, Long.BYTES);
        System.out.printf("float   : [%e, %e], 占用 %d 字节\n", Float.MIN_VALUE, Float.MAX_VALUE, Float.BYTES);
        System.out.printf("double  : [%e, %e], 占用 %d 字节\n", Double.MIN_VALUE, Double.MAX_VALUE, Double.BYTES);
        System.out.printf("char    : [%d, %d], 占用 %d 字节\n", (int) Character.MIN_VALUE, (int) Character.MAX_VALUE, Character.BYTES);
        System.out.println("boolean : true / false");
        System.out.println("================================================");
    }
}
实操 2类型转换与溢出截断演示TypeCastDemo.java
java
/**
 * 类型转换与溢出截断演示
 * @author MatNoble
 */
public class TypeCastDemo {
    public static void main(String[] args) {
        // 1. 自动类型提升 (隐式宽化)
        byte b = 42;
        int i = b;
        double d = i;
        System.out.printf("自动宽化: byte(%d) -> int(%d) -> double(%.1f)\n", b, i, d);

        // 2. 强制类型转换 (显式窄化与高位截断)
        int largeInt = 300; // 0x0000012C
        byte narrowByte = (byte) largeInt; // 截断低 8 位 0x2C = 44
        System.out.printf("强制窄化截断: int(%d) -> byte(%d)\n", largeInt, narrowByte);

        // 3. 浮点截断小数部分
        double pi = 3.1415926;
        int intPi = (int) pi;
        System.out.printf("浮点截断: double(%.7f) -> int(%d)\n", pi, intPi);
    }
}
实操 3华氏度与摄氏度双向温度换算器TemperatureConverter.java
java
/**
 * 随堂实操任务 2:华氏度与摄氏度双向温度换算器
 * 公式: C = (F - 32) * 5 / 9,  F = C * 9 / 5 + 32
 * @author MatNoble
 */
public class TemperatureConverter {
    public static void main(String[] args) {
        double celsius = 26.5;
        // ===== TODO: 【实操任务 3】请在此补全代码 =====
        // 提示: 摄氏度转华氏度公式: F = C * 9.0 / 5.0 + 32.0 (注意必须使用浮点数除法 9.0 / 5.0)
        // 
        // ============================================

        System.out.println("=========================================");
        System.out.println("            温标换算结果            ");
        System.out.println("-----------------------------------------");
        System.out.printf("  * 摄氏度 (Celsius)    : %.2f ℃\n", celsius);
        System.out.printf("  * 华氏度 (Fahrenheit) : %.2f ℉\n", fahrenheit);
        System.out.println("=========================================");
    }
}
bash — java TemperatureConverter (预期控制台输出)
=========================================
            温标换算结果            
-----------------------------------------
  * 摄氏度 (Celsius)    : 26.50 ℃
  * 华氏度 (Fahrenheit) : 79.70 ℉
=========================================

最后更新于:

数学思维探究社微信公众号图标

不想公开提问?

关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。

数学思维探究社