Java基础5----数据类型2(浮点型,布尔型)
Posted iostreamzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础5----数据类型2(浮点型,布尔型)相关的知识,希望对你有一定的参考价值。
引言
前面一章讲了整型数据类型,这里讲浮点数和bool型数据
浮点型
浮点型描述的是小数,在Java中只要是小数,默认都是double类型,所以说在以后定义小数,都建议直接使用double来定义。
double型
变量的定义与前面的定义方式一致,不在详细解释了。在前面我们知道了,数值之间进行运算,最终的结果有两种转换的方式:
- 自动转换:小类型在运算前先自动转换为大类型,再运算
- 强制转换:我们自己决定运算的数据类型,通过各种强制转换手法实现。
public class Demo {
public static void main(String[] args) {
// double 变量名 = 小数数值
int a = 3;
double b = 10.1;
System.out.println(a * b);
}
}
这里可以看到都变了和int运算的时候,发生了类型的自动转换,如果我们需要进行运算结果的接收,最终的结果需要定义为double类型
double res = a * b;
float型
在Java中小数都是double类型的,那么要定义float类型,就需要用到强制类型转换, 需要在数字后面加上F或则用float来进行强制转换
public class Demo {
public static void main(String[] args) {
// float 变量名 = 小数数值F 或者 (float) 数值。
// 需要用到强制转换,否则报错
float a = 1.21F;
float b = (float) 1.2;
System.out.println(a * b); // float与float运算结果还是float类型
}
}
可以发现最终的结果小数点后面会有一串的数字,这是Java诞生以来一直存在的问题。(我的jdk是13版本的,不知带后面的版本是否解决这个问题),出现这个问题我们不需要担心,后面会有专门的办法来解决。
下面来看一个示例
public class Demo {
public static void main(String[] args) {
// 两个int类型的数据运算结果一定是int类型
// 但是这个结果往往不是我们想要的结果
int a = 9;
int b = 2;
System.out.println(a / b); // 期望是4.5,但是输出是4
}
}
所以这里想要得到准确的结果就需要对我们的数据进行类型转换
System.out.println((double) a / b);
// 这样讲a类型转换为int类型,运算的时候就会触发java的自动类型转换了
在以后的代码中,数据类型的选择很重要,这将会直接决定是否会得到正确的结果
boolean型
布尔型主要描述逻辑的结果,只有两个值,true和false,在Java中用Boolean来进行布尔型的定义
public class Demo {
public static void main(String[] args) {
// boolean 变量名 = true or false
boolean flag = true;
// 布尔值一般用于逻辑判断中
if (flag) {
System.out.println("flag 的值为true");
} else {
System.out.println("flag的值false");
}
}
}
总结
- 在Java中所有的小数都是double类型
- 数据的类型选择很重要,会直接影响最终的结果
- boolean类型只有true和false,基本上只用于逻辑判断
以上是关于Java基础5----数据类型2(浮点型,布尔型)的主要内容,如果未能解决你的问题,请参考以下文章