long l = 1;对or错、Long l = 1;对or错,最基础的你对了吗?

简介: long l = 1;对or错、Long l = 1;对or错,最基础的你对了吗?

最近回头看了看以前的最基础的,发现其中有很知识点很有乐趣乐趣很多,顺便问了下问了一下其他朋友,几乎全军覆灭。我们来看看一下知识点,你了解多少?

long l = 1;对or错

long l = 1;
//对吗

有人说对,有人说错。说错的人说

long l = 1L;
//这样才对

你的理解呢?

double d = 1;对or错

double d = 1;
//对吗

有人说对,有人说错。说错的人说

double d = 1d;
//这样才对,当是整数时后面必须加d或D,小数时无所谓如:
//double d = 1.0;这样是对的

你的理解呢?

float f = 1;对or错

float f = 1;
//对吗

有人说对,有人说错。说错的人说

float f = 1f;
//这样才对,和Duble雷同,当是整数时后面必须加f或F,小数时无所谓如:
//float f = 1.0;这样是对的

你的理解呢?

Long l = 1;对or错

Long l = 1;
//对吗

有人说对,有人说错。说错的人说

Long l = 1L;
//这样才对

你的理解呢?

Double d = 1;对or错

Double d = 1;
//对吗

有人说对,有人说错。说错的人说

Double d = 1d;
//这样才对,当是整数时后面必须加d或D,小数时无所谓如:
//Double d = 1.0;这样是对的

你的理解呢?

Float f = 1;对or错

Float f = 1;
//对吗

有人说对,有人说错。说错的人说

Float f = 1f;
//这样才对,和Duble雷同,当是整数时后面必须加f或F,小数时无所谓如:
//Float f = 1.0;这样是对的

你的理解呢?

6个问题你的答案是什么,我想你心中已有答案,带着你的答案,我们一起去揭秘上面6个问题,看看和你想的是不是一样。long l = 1;double d = 1; float f = 1;都是对的,为什么呢?因为java默认整数时int类型,再加上java的向上转型,也就是说这样定义是符合java规范的。

那么long l = 2147483648;这样对吗?为什么要写2147483648呢?因为2147483647是int的最大值,知道答案了吗?错的,因为他超过了int的最大值,long l = 2147483648L这样就对了。

Long l = 1;Double d = 1; Float f = 1;都是错的。为什么呢?Double里面的装箱,只会装进double类型的,而1默认是int类型所以会报错。Double d = 1.0; Float f = 1.0对吗?Double d = 1.0; 这个是对的,因为java默认小数是double类型,所以是正确的。但是Float f = 1.0是错了。因为double的精度高于float无法向下转型。所以float f = 1.0f; Float f = 1.0f;这样定义才是对的。

最后留下一个是思考题:

int i = 2147483647;
i = i + 1;
System.out.println(i);

结果是什么呢?自己试一下!!!

相关文章
|
8月前
String字符串类型时间比较(根据时间判断返回 ‘已结束’或‘进行中‘’)
String字符串类型时间比较(根据时间判断返回 ‘已结束’或‘进行中‘’)
73 1
|
5月前
|
Java
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
这篇文章解释了Java中`int`基本数据类型和其包装类`Integer`之间的区别,并指出在进行`==`运算时,`Integer`会拆箱为`int`类型,然后比较它们的值是否相等。
【Java基础面试十一】、int和Integer有什么区别,二者在做==运算时会得到什么结果?
|
5月前
|
前端开发 Java 数据库
Java系列之 Long类型返回前端精度丢失
这篇文章讨论了Java后端实体类中Long类型数据在传递给前端时出现的精度丢失问题,并提供了通过在实体类字段上添加`@JsonSerialize(using = ToStringSerializer.class)`注解来确保精度的解决方法。
|
8月前
四种解决”Arg list too long”参数列表过长的办法
这些方法都可以帮助你避免因参数列表过长而导致的错误。选择方法取决于具体情况和需求。
316 0
踩坑-判断Integer相等
踩坑-判断Integer相等
|
存储 C++
C++/PTA 2017final英文语句格式简单检查
英文书写中,句首字母通常为大写,其余为小写,单词“I”除外,单词与单词之间用一个空格隔开,句中用“,”断句,句末用“.”结束,“,”和“.”与其前置单词间无需空格隔开。 Word等文本编辑器通常根据以上规则,对我们输入的英文语句进行自动修正。
97 0
|
存储 算法 NoSQL
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
145 0
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
JDK源码(11)-Long、Short
JDK源码(11)-Long、Short
115 0
java中整型数据(byte、short、int、long)溢出的现象及原理
java中整型数据(byte、short、int、long)溢出的现象及原理
|
存储 SQL 关系型数据库
int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了
int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了
178 0
int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了