在Java中,long
是一种基本数据类型,用于表示长整型数值。它的取值范围比int
更大,从-9223372036854775808到9223372036854775807。以下是long
的一些常见用法:
-
声明和初始化
long num = 123456789L; // L或l后缀表示长整型常量
-
数学运算
long a = 10L; long b = 20L; long sum = a + b; // 加法 long difference = a - b; // 减法 long product = a * b; // 乘法 long quotient = a / b; // 除法 long remainder = a % b; // 取模
-
类型转换
int intValue = 123; long longValue = intValue; // 隐式转换为long类型 long longValue2 = 456L; int intValue2 = (int) longValue2; // 显式转换为int类型,可能发生溢出
-
位运算
long num = 0b10101010101010101010L; // 二进制字面量 long bitwiseAnd = num & 0b11110000111100001111L; // 按位与 long bitwiseOr = num | 0b00001111000011110000L; // 按位或 long bitwiseXor = num ^ 0b11110000111100001111L; // 按位异或 long bitwiseNot = ~num; // 按位非 long leftShift = num << 2; // 左移2位 long rightShift = num >> 2; // 带符号右移2位 long unsignedRightShift = num >>> 2; // 无符号右移2位
-
比较
long a = 10L; long b = 20L; boolean isEqual = a == b; // 相等 boolean isNotEqual = a != b; // 不相等 boolean isGreater = a > b; // 大于 boolean isLess = a < b; // 小于 boolean isGreaterOrEqual = a >= b; // 大于等于 boolean isLessOrEqual = a <= b; // 小于等于
-
作为方法参数和返回值
public long calculateSum(long a, long b) { return a + b; }
注意:在进行数值运算时,如果操作数类型不同,Java会自动进行类型提升。例如,当int
和long
进行运算时,int
会被提升为long
。在进行类型转换时,请注意可能发生的溢出问题。