强类型

Java 语法
第 10 级 , 课程 1
可用

“嗨,阿米戈!”

“嗨,艾莉!”

“今天我心情很好,所以我想告诉你一些有趣的事情。从 Java 的类型系统如何处理原始类型开始说起。”

“在 Java 中,每一个对象和每一个变量都有自己的预设不可改变类型。编译程序时确定原始变量的类型,但是对象的类型是在创建时确定。新创建的对象和/或变量的类型在其生命周期内保持不变。下面是一个示例:”

Java 语言代码 说明
int a = 11;
int b = 5;
int c = a / b; // c == 2
a / b – 表示整数除法。答案是 2。除法运算的余数会被忽略。
int a = 13;
int b = 5;
int d = a % b; // d == 3
d 将存储 a / b 整数除法的余数。余数是 3。

“你要记住一些有趣的细微差别。”

“首先,引用变量并不总是指向它同类型的值。”

“第二,两种不同类型的变量交互时,必须首先将它们转换为相同类型。”

“除法呢?如果将 1 除以 3,我们将得到 0.333(3)。对不?”

“不,错了。当我们将两个整数相除时,结果也是一个整数。如果将 5 除以 3,答案将为 1,余数是 2。余数会被忽略。”

“如果将 1 除以 3,我们将得到 0(余数是 1,会被忽略)。”

“但是如果我想获得 0.333 怎么办?”

“在 Java 中,执行除法之前,最好乘以浮点数一 (1.0) 将数字转换为浮点(小数)类型。”

Java 语言代码 说明
int a = 1/3;
a 将为 0
double d = 1/3;
 d 将为 0.0
double d = 1.0 / 3;
d 将为 0.333(3)
double d = 1 / 3.0;
d 将为 0.333(3)
int a = 5, b = 7;
double d = (a * 1.0) / b;
d 将为 0.7142857142857143

“明白了。”

评论 (6)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Qin-1999 级别 22
4 一月 2024
心情好就说这个?我要是连int都不知道,连除法运算余数运算都不懂,那我之前如何学习那些方法和完成那些练习呢?
To be brave #10900452 级别 14,Пекин,China
17 一月 2022
本节课,建议放在前面
Anonymous #10812327 级别 28,Changsha,China
9 十月 2021
这个教学顺序为何是这样的?
冒蓝火的帅可可 级别 16,China
13 一月 2021
1/3是两个int类型计算结果为0,然后转成double类型从而结果为0.0; 1.0/3是double类型和int类型计算,其结果为double类型,从而可以得到并保留小数点后的数位
Anonymous #10795181 级别 11,Hefei,China
28 八月 2021
you are right
元. 级别 26,Taipei,Taiwan, Province of China
20 一月 2023
原來如此