动手动脑P37
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象,可以使用“”和equals()方法直接比对枚举变量的值,对于枚举类型的变量,“”和equals()方法执行的结果是等价的,枚举为引用类型
得到结果为false false true SMALL MEDIUM LARGE
动手实验P56
得到的结果为
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 1.2329999999999999
使用double类型的数值进行计算,结果是不精确的
动手动脑P62
得到的结果为
X+Y=100200
300=X+Y
Java中字符串拼接,遇到整数和字符串相加的情况,整数自动转换成字符串,得到X+Y=100200
第二句同理得到300=X+Y
动手动脑P54
byte:8位(1字节),数值范围:-128到127
short:16位(2字节),数值范围:-32,768到32,767
int:32位(4字节),数值范围:-2,147,483,648到2,147,483,647
long:64位(8字节),数值范围:-9,223,372,036,854,775,808到9,223,372,036,854,775,807
float:32位(4字节),数值范围:大约±3.4E-38到±3.4E+38,精度为6-7位有效数字
double:64位(8字节),数值范围:大约±1.7E-308到±1.7E+308,精度为15-17位有效数字
char:16位(2字节),数值范围:0到65,535,用于表示Unicode字符
小范围变大范围精度不变,大范围变小范围会有精度损失
带着疑问看故事
import java.util.Random;
public class MathProblemGenerator {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i < 30; i++) {
int num1 = random.nextInt(10);
int num2 = random.nextInt(10);
int operation = random.nextInt(4);
String[] operations = {"+", "-", "*", "/"};
String problem = String.format("%d %s %d", num1, operations[operation], num2);
// 避免除以零和除法得到非整数结果
if (operations[operation].equals("/") && num2 == 0) {
num2 = 1; // 重新生成一个非零的除数
problem = String.format("%d %s %d", num1, operations[operation], num2);
}
// 计算结果
int result;
switch (operations[operation]) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
if (num1 % num2 != 0) { // 确保结果为整数
num1 = num1 + (num2 - num1 % num2);
}
result = num1 / num2;
break;
default:
result = 0;
break;
}
// 输出问题和结果
System.out.println(problem + " = " + result);
}
}
}
标签:字节,num2,int,9.28,数值,result,随笔,num1 From: https://www.cnblogs.com/hzy-rj/p/18437153