long类型怎么写

1.java如何定义long类型的变量我详细说说吧
java中直接输入整数则默认为int类型,带有小数点的实数默认为double类型
如果你直接声明 long a = 123;这是没有错的,因为123是int类型,可以赋值给范围更大的long类型,但是如果你的数字超过int范围那得告诉编译器,你的数字已经大于int范围,要换成更大范围的long类型表示,所以数字后面加上L(或小写l) 。比如 long a = 2147483648;(这样写会报错,因为int类型最大表示范围是2147483647) 得这样 long a = 2147483648L;
浮点数一样,后面加的是F/f (代表float类型)
2.long类型判断是否为空long不能为空,因为它是简单数据类型,如果是Long就可以为空 。
定义long的时候除非是类或是结构体中的属性,否则会要求你先赋初值的 。如long a=0;作为属性时,系统会默认赋一个“0”值 。所以一般情况,可以用if(a==0)来判断long值是否被改变 。
扩展资料:
long标识符
可如下例所示声明并初始化 long 类型的变量:
复制代码
long long1 = 4294967296;如果整数没有后缀,则其类型为以下类型中可表示其值的第一个类型:int、uint、long、ulong 。在上例中,它是 long 类型,因为它超出了 uint 的范围(有关整型的存储大小,请参见整型表(C# 参考)) 。
还可以像下面这样,在 long 类型中使用后缀 L:
复制代码
long long2 = 4294967296L;当使用后缀 L 时,将根据整数的大小确定它的类型为 long 还是 ulong 。在此例中,它是 long,因为它小于 ulong 的范围的下限 。
此后缀常用于调用重载方法 。以下面使用 long 和 int 参数的重载方法为例:
复制代码
public static void SampleMethod(int i) {}
public static void SampleMethod(long l) {}使用后缀 L 可保证调用正确的类型,例如:
复制代码
SampleMethod(5); // Calling the method with the int parameter
SampleMethod(5L); // Calling the method with the long parameter可在同一个表达式中同时使用 long 类型和其他数值整型,这时表达式的计算结果为 long(在关系表达式或布尔表达式中为 bool)类型 。例如,下列表达式计算为 long:
复制代码
898L + 88注意
也可用小写字母“l”作后缀 。但是,因为字母“l”容易与数字“1”混淆,会生成编译器警告 。为清楚起见,请使用“L” 。
有关兼用浮点型和整型的算术表达式的信息,请参见 float 和 double 。
参考资料来源:搜狗百科--long
参考资料来源:搜狗百科--C语言
3.在C语言中,int类型、long类型、float类型、double类型和char类型数标准答案:在TC中,在VC中:类型 宽度 字节 类型 宽度 字节int 16 2 int 32 4unsigned int 16 2 unsigned int 32 4 short 16 2 short 16 2unsigned short 16 2 unsigned short 16 2long 32 4 long 32 4unsigned long 32 4 unsigned long 32 4另外,C语言的浮点数常量在机器中有单精度和双精度之分,单精度以32位形式存放,双精度以64位形式存放 。
字符型变量在机器中占8位,也就是1个字节(8 bit=1 byte) 。详见下表:类型 宽度 字节 float 32 4 double 64 8 char 8 1 。
4.Java中的Long和Double类型Java中的原子操作包括:1)除long和double之外的基本类型的赋值操作2)所有引用reference的赋值操作3)java.concurrent.Atomic.* 包中所有类的一切操作 。
但是java对long和double的赋值操作是非原子操作!!long和double占用的字节数都是8,也就是64bits 。在32位操作系统上对64位的数据的读写要分两步完成,每一步取32位数据 。
这样对double和long的赋值操作就会有问题:如果有两个线程同时写一个变量内存,一个进程写低32位,而另一个写高32位,这样将导致获取的64位数据是失效的数据 。因此需要使用volatile关键字来防止此类现象 。