Long和long的区别

Java数据类型分为两类:

  • 基本数据类型(primitive types)

  • 引用数据类型(reference types)

这里写图片描述

Long叫 long的包装类。Integer、Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。

在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。

long是原始数据类型,没有属性方法,只能进行数学运算,Long是long相对应的引用数据类型,它有方法和属性,一个没方法属性,一个有方法属性,这就是它们的区别。

Long定义的变量为一个Long类型的对象;而long定义的变量为一个长整形数值的数值变量。

ID用long还是Long?

到底是选择Long 还是long这个还得看具体环境,如果你认为这个属性不能为null,那么就用long,因为它默认初值为0,如果这个字段可以为null,那么就应该选择Long.

float和double都不是精确的,如果要储存钱一类的必须精确的,用java.math.BigDecimal

### C/C++ 中 `long long` 与 `long long int` 的区别及用法 在 C/C++ 编程语言中,`long long` `long long int` 实际上是完全相同的类型定义[^3]。两者都表示一种更大的整数数据类型,通常占用 8 字节(具体取决于编译器平台)。这种类型的取值范围是从 `-9223372036854775808` 到 `+9223372036854775807`。 #### 定义上的差异 尽管语法上允许写成 `long long int` 或者简化的 `long long`,但实际上它们没有任何功能上的差别。标准规定 `long long` 已经隐含了它是整数类型的一部分,因此附加的 `int` 关键字完全是冗余的。出于简洁性可读性的考虑,大多数开发者更倾向于使用 `long long` 表达方式[^3]。 #### 使用场景举例 当需要处理非常大的整数值时,可以采用如下方法声明变量并初始化: ```cpp #include <iostream> using namespace std; int main(){ long long largeNumber = 1234567890123LL; // LL 后缀表明这是一个 long long 常量 cout << "Large Number: " << largeNumber << endl; // 如果要将字符串转换为此种大整型,则利用之前提到的方法 string strNum = "9223372036854775807"; try{ long long convertedNum = stoll(strNum); // 将字符串安全地转为 long long 类型 cout << "Converted Large Number: " << convertedNum << endl; } catch(const invalid_argument& e){ cerr << "Invalid argument exception caught!" << endl; } return 0; } ``` 上述代码展示了如何通过后缀 `LL` 来指定常量属于 `long long` 类型以及怎样借助 `std::stoll()` 函数完成从字符串到 `long long` 数字形式的安全转型操作[^1]。 #### 平台依赖性注意点 需要注意的是,在某些特定平台上或者旧版编译环境下,可能对于这些关键字的支持存在细微变化甚至不一致的情况。所以建议始终查阅目标环境下的文档来确认确切行为[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值