标识符、表达式和语句
实验二 标识符、表达式和语句
一、实验目的
1.掌握Java语言基本数据类型的使用方法;
2.掌握从键盘输入数据的方法;
3.了解Java的表达式求值方法及操作符的优先级;
4.掌握Java的格式化输出方法。
二、实验内容
实验1
从键盘输入一个三位数,输出该数的各位数字的和。要求采用标准输入/输出流。
实验2
中国古代的重量单位是比较复杂的,即使秦始皇统一中国货统一了度量衡制度,促进了重量单位的统一,但重量单位的换算依然比较复杂。重量单位的换算规则如下:6铢等于1锱,4锱等于1两,16两等于1斤。编写程序,输入一个较大值的重量,将其换算为较小的重量单位。
实验3
从键盘输入一个数值作为华氏温度,将其转换为摄氏温度,并保留2位小数,转换公式位摄氏温度=(5/9)*(华氏温度-32)。
实验4
求出100以内的素数,并将这些数在屏幕上5个一行的显示出来。
三、程序代码
实验一
import java.util.Scanner; //导入 Java 标准库中的Scanner类,用于获取用户的输入public class hehe { //定义公共类public static void main(String[] args) { //程序入口Scanner scanner = new Scanner(System.in);
//创建Scanner类的实例对象scanner,用于从键盘读取数据System.out.print("请输入一个三位数:");int num = scanner.nextInt();
//通过scanner对象的nextInt()方法获取用户输入的整数,并将其存储在num变量中// 分离百位、十位、个位int hundreds = num / 100;int tens = (num / 10) % 10;int units = num % 10;int sum = hundreds + tens + units;System.out.println("各位数字之和为:" + sum);scanner.close();}
}
实验二
import java.util.Scanner;public class hehe {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入重量(单位:斤):");double jin = scanner.nextDouble();
//通过scanner对象的nextDouble()方法获取用户输入的小数,并将其存储在jin变量中// 换算为两、锱、铢double liang = jin * 16; //1 斤 = 16 两double zi = liang * 4; //1 两 = 4 锱double zhu = zi * 6; //1 锱 = 6 铢System.out.printf("%.2f斤 = %.2f两 = %.2f锱 = %.2f铢\n", jin, liang, zi, zhu);scanner.close();}
}
实验三
import java.util.Scanner;public class hehe {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入华氏温度:");
//print不会自动换行double fahrenheit = scanner.nextDouble();double celsius = (5.0 / 9) * (fahrenheit - 32);
//摄氏温度 = (5/9) × (华氏温度 - 32)
//使用5.0是为了确保除法运算结果为浮点数,避免整数除法导致精度丢失System.out.printf("摄氏温度为:%.2f\n", celsius);
//%.2f表示将浮点数保留两位小数输出scanner.close();}
}
实验四
public class hehe {public static void main(String[] args) {int count = 0; //声明变量for (int i = 2; i <= 100; i++) {
//外层循环:遍历从 2 到 100 的所有整数boolean isPrime = true;
// 判断是否为素数for (int j = 2; j < i; j++) {
//内层循环:用于判断i是否为素数if (i % j == 0) {
//判断i能否被j整除(%是取余运算符)
//如果余数为 0,说明i不是素数isPrime = false;
//如果i能被j整除,将isPrime设为false,标记i不是素数break;}}if (isPrime) {
//判断isPrime是否为true,如果是,说明i是素数System.out.print(i + " ");count++;// 每5个换行if (count % 5 == 0) {System.out.println();}}}}
}
四,运行代码结果
实验一
实验二
实验三
实验四
五,实验总结
本次实验通过四个任务练习了 Java 基础知识。
实验 1 处理三位数求和,学会用 Scanner 获取输入,用取余和除法拆分数字;
实验 2 进行古代重量单位换算,掌握了多步运算和单位转换逻辑;
实验 3 实现温度转换,解决了整数除法精度问题,并用 printf 格式化输出保留两位小数;
实验 4 筛选 100 以内素数,运用嵌套循环判断素数,用计数器控制每行显示 5 个数字。
通过实验,熟练掌握了基本数据类型、键盘输入、表达式运算和格式化输出的用法,也发现了对循环效率优化等方面的不足,为后续学习打下基础。