Java中数据类型分两种:
1.基本类型:long,int,byte,float,double
2.对象类型:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己创建的类。
其中Long叫 long的包装类。Integer、Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。
什么是包装类?
在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进行运算了。
这个Long 就是一个包装类,它包装了一个整数值,然后可以在里面写一些运算符重载的方法使它支持某些运算。这个时候可以赋值:
Long l = new Long(10);
现在变量 l 就是一个对象,不是一个数字。
long是原始数据类型,没有属性方法,只能进行数学运算,Long是long相对应的引用数据类型,它有方法和属性,一个没方法属性,一个有方法属性,这就是它们的区别。
Long定义的变量为一个Long类型的对象;而long定义的变量为一个长整形数值的数值变量。
ID用long还是Long?
hibernate、el表达式等都是包装类型,用Long类型可以减少装箱/拆箱;
在hibernate中的自增的hid在实体中的类型要用Long 来定义而不是long。否则在DWR的匹配过程中会出现Marshallingerror:null的错误提示。
到底是选择Long 还是long这个还得看具体环境,如果你认为这个属性不能为null,那么就用long,因为它默认初值为0,如果这个字段可以为null,那么就应该选择Long。
1. long 是C语言的一个关键字,代表一种数据类型,中文为长整型。
2. long是long int的简写,也就是说,在C语言中long int类型和long类型是相同的。
3. 每个long型占4个字节,在32位编译系统下,long和int占的空间是相同的。这也导致了long型变量使用的越来越少了。
4. long型可以表示的整型数字范围为-2,147,483,648 ~ 2,147,483,647, 即-2^32 ~ 2^32-1。
在用在C的格式化输入输出时,long型的格式化字符为"%ld"。
5. long同其它整型类型一样,可以同unsigned 联合使用,形成unsigned long,即无符号长整型, 其格式化字符为"%lu"。
6. 在部分编译器下,比如gcc, 两个long合用,即long long类型,表示C语言目前最长的系统整型类型,每个long long类型占8字节,64位。其格式化字符为"%lld"。
long型的数据其实是int型数据的扩展,int型的范围小,而long型的范围比较大,这样在定义数据类型的时候就不会因为值过大而导致数据溢出。
假设int型数据范围为9999到-9998(假设,具体范围不记得了),但long型的数据要远远超出这个范围,如果将10000赋值给int型的变量,就会出现数据溢出,而long不会。
但是双long型的数据不是太清楚。
确实是有long long型的数据的,只是不常用。
“longlongint”在C语言中是64位长整型数据类型。longlong是属于int型,一般来讲,是longint型大小的两倍,int型的4倍。“longlongint”在C语言中可以简写为“longlong”,作为“long”和“int”数据类型的强化版数据类型,它能支持的整数范围是-2^63到2^63-1。而先前的“long”是32位长整型数据类型,整数范围仅能支持到-2^31至2^31-1。“longlongint”和“unsignedlonglongint”都是在C99标准中才被引进的。扩展资料:需要注意:longlong是一个后来加上去的数值类型,也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0)。C99标准引入的主要新功能:1、对编译器的限制增加了,比如每行源代码至少需要4095字节,变量和函数名需要63字节(extern最多需要31字节)。2、添加了新的关键字restrict,inline,_Complex,_Bool。3、支持longlong、longdouble_Complex、float_Complex等类型。4、一个不确定长度的数组。数组的长度是一个变量。当你声明一个类型时,你写一个int[*]。但就效率和执行而言,这并不是一种新类型。所以你不能在全局或结构联合中使用它,如果你使用类似的东西,goto语句是受约束的。5、与C89标准相比,C99引入了一种新的结构/数组初始值设定项,名为指定初始值设定项。6、支持十六进制浮点数描述。7、添加了一个内置的本地静态字符数组变量,它可以用于获取当前函数的函数名。8、函数的默认返回类型是int型。参考资料来源:百度百科-C99
int的上限不是0x3f3f3f,如果是有符号数应该是0x7fffffff,否则是0xffffffff,当然这是针对32位的计算机而言的。C标准里只规定了INT型不能小于16位。在16位机上是0x7fff或0xffff。对于long long型标准里只规定了不能小于64位。对于64位的,有符号型上限是0x7fffffffffffffff,无符号型的是0xffffffffffffffff.
不懂可追问,祝楼主学习愉快!!!
long
long不是所有编译器都使用的,说白了它就是一种能够表示范围更大的整数的类型
一般来说,整数常量是被当作
int
类型来存储的。如果我们使用的整数常量超出了
int
的表示范围,C
语言规定编译器自动使用
unsigned
int
来处理这个常量。如果
unsigned
也不足以表示这个常量的话,编译器就会用
long。如果还表示不了的话,那就依次用
unsigned
long,long
long,unsigned
long
long。如果
unsigned
long
long
也表示不了,那么编译器就没辙了。注意:long
long
和
unsigned
long
long
是
C99
特有的。
long long是属于int型, 一般来讲, 是long int型大小的两倍, int型的4倍. 但是需要注意的是long long是一个后来加上去的数值类型, 也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0). 如果在此类编译器下使用长长整型, 以VC++6.0为例, 就要用它的自定义数据类型:__int64. 若要输入输出(包括C++), 则只能用printf或scanf函数. 如: __int64 i64 = 100;printf("%l64d", i64);
C语言中输出long long型数据使用%lld格式输出的方法:1、 long long 是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位。其表示范围为-9223372036854775808~9223372036854775807。2、long long 类型输出的时候,需要用printf函数,用%lld格式输出。 示例代码如下:long long a = 1234;printf("a=%lld\n", a)。3、输出的各种可用于%d上的格式控制,均可用于%lld上,比如%10lld,表示输出占十位宽度等。扩展资料:C语言基本特性1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。 [11] 2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。 4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。 [特有特点1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。3、不同的变量类型可以用结构体(struct)组合在一起。4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。5、部份的变量类型可以转换,例如整型和字符型变量。6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。7、预编译处理(preprocessor)让C语言的编译更具有弹性。参考资料:百度百科-C语言
在c语言中,对于数值类型只有通过printf类函数输出这一种方式,比如printf,
sprintf,
fprintf等。这类函数输出时要求有格式符号,其中long
double的格式符号为%llf
以下是一个简单的参考代码,输出到标准输出设备。
#include
int main()
{
long double v = 1.23;
printf("%llf\n", v);//采用%llf格式输出long double 类型
return 0;
}
关于long
double,
需要说明的是,在原始的c标准中是没有这个类型的,c99中才添加了该类型。而在c99及后续的规范中,对于该类型规定的也并不详细,只是要求long
double类型在精度上需要不少于double的精度。于是就出现了有的编译器不支持long
double,
而支持的编译器在实现上也有所区别,目前常见的long
double有占用8字节,10字节,12字节和16字节四种,但输出格式都是相同的%llf。
如果想知道使用的编译器是如何实现的,可以用printf("%d",
sizeof(long
double));输出long
double占用的空间值。
因为我们用的系统都是32位,所以在编译器中,int是32位,long long和__int64都是64位的,因此用哪个都行,相信我!你的问题出在,不论是long long还是__int64,如果你用printf输出,都必须用printf("%I64d\n",a)表示,千万不能用lld,用lld肯定错,你用cout就不会有这个困扰,这也就是为什么用cout能ac的原因。同理,建议你scanf最好你也别用lld,用%I64d。
雨露,是万物生长的灵丹妙药,它能让万物欣欣向荣,给人带来希望和欢乐。起名,是给孩子取名最重要的一步,因为名字,在某种程度上就是一种文化。一个好的名字,可以让孩子从小拥有一个好的起点。那么,旸字取名呢,有着什么样的寓意及含义?
1、旸是五行金之字,五行属水,寓意孩子聪明机智,有大智慧,富有爱心。
根据五行属性来取名,金能克水,就像是金被水淹没了,所以会出现水变少,阳气不充足的情况。而旸字五行属水,表示有希望的样子,寓意孩子聪明机智,有大智慧,富有爱心,有爱心之义,对人非常友好,人缘非常好。由于在起名时需要注意五行八字,所以名字要避开太多不利因素。例如孩子取名为旸这个名字时,可选择五行属金且与水相冲或水火相济或金水相济等字面寓意相搭。
2、旸字是木之金之字,五行属木,为金之态,寓意孩子金木水火土五行协调,和谐发展。
雨露的滋润,日出而作,日落而息,都让人感到无比满足。旸,字音shèng,寓意着孩子有一颗包容和感恩之心。这与“日出而作、日落而息”有异曲同工之妙……旸给人带来欢乐、吉祥的同时,也寓意着孩子金木水火土协调发展……
3、旸是一种很有灵性的字,可形容孩子生机勃勃,乐观向上。
【旸】有光明、温暖、明朗的意思,可用作名字。【阳凯是太阳之意。【阳阳阳】阳代表明亮,阳代表光明及温暖。用阳代表光明的事物,表示孩子生机勃勃,乐观向上。【阳欣可表示欣欣向荣之意。【阳和】可表示温暖的意思。
4、旸字取名,寓意孩子乐观向上,对生活充满希望。
旸字寓意孩子乐观向上,对生活充满希望,乐观积极的生活态度,有助于提高孩子的自信心。另外旸字取名还有着积极向上、乐观开朗、吉祥幸福、生活美满、幸福美满等美好祝愿,其寓意吉祥。而且旸在中国汉字里是非常多见的一个字,我们可以将这个字用在名字中来表达。旸字取名代表着孩子未来很美好而充满希望。如果将其用于起名中,则代表着孩子未来会有很多希望。同时也象征着孩子将来会有所成就。
5、旸作为名字有吉祥富贵之意。
旸这个名字,在很早的时候就被赋予了吉祥富贵的寓意,因为它在名字中的意思很多。所以有很高的吉祥富贵之意。这个名字将孩子命名为【旸】具有美好的寓意。