栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据类型篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据类型篇

1、整数类型
byte1 byte-2^7~2^7-1
short2 byte-2^15~2^15-1
int4 byte-2^31~2^31-1
long8 byte-2^63~2^63-1

① C++中不同操作系统中long语言所占的字节:

    如果计算机是32位操作系统,则 long 是 4 byte。

    如果是64位操作系统,则 long 是 8 byte。

② 长整型、十六进制与八进制:

    长整型数值有一个后缀 L 或 l ( 如:4000000000L) 。

    十六进制数值有一个前缀 Ox 或 0X (如:OxCAFEL)。

    八进制有一个前缀 0(如:010 对应八进制中的 8)。

    很显然,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数。 

③ Java在数据处理相对于其他语言的优越性:

    在 Java 中,整型的范围与运行 Java 代码的机器无关。这就解决了软件从一个平台移植到另一个平台,或者在同一个平台中的不同操作系统之间进行移植给程序员带来的诸多问题。

    与此相反,C 和 C++ 程序需要针对不同的处理器选择最为高效的整型,这样就有可能造成一个在 32 位处理器上运行很好的 C 程序在16位系统上运行却发生整数溢出。由于 Java 程序必须保证在所有机器上都能够得到相同的运行结果,所以各种数据类型的取值范围必须固定。 

④ Java对大型数据输入优势:

    从 Java 7 开始,还可以为数字字面量加下划线,如用 1_000_000(或者0b1111_0100_0010_0100_0000 ) 表示一百万。这些下划线只是为了让人更易读。Java 编译器会去除这些下划线。 

⑤ 无符号区别:

    Java 没有任何无符号(unsigned) 形式的 int、long、short 或 byte 类型。

    C和C++中,在有符号整型前目加上:unsigned 表示无符号。例如:

         在unsigned short中:1000000000000001 

            有符号:-1  无符号:32769

⑥ 获取整型尺寸(占用字节数):

      C++获取方法:

 cout< 

     Java获取方法:

 System.out.println(Short.SIZE/8);

⑦ 获取整型最大值、最小值:

         C++:

cout< 

        Java:

 System.out.println(Integer.MAX_VALUE);
 System.out.println(Integer.MIN_VALUE);

⑧ 整型的溢出:

    C++:  

int value = INT_MAX+1;  //01111111+1=1000000=0,系统显示 INT_MIN数值。
int value = INT_MAX+2; //01111111+2=11111111=-1,系统显示 INT_MIN+1数值。
unsigned int value=UINT_MAX+1; //11111111+1=100000000=0,系统显示0。
unsigned int value=UINT_MAX+2; //11111111+2=100000001=1,系统显示1。

​

Java:

System.out.println(Integer.MAX_VALUE);//输出为:2147483647
System.out.println(Integer.MAX_VALUE+1);//输出为:-2147483648
System.out.println(Integer.MAX_VALUE+2);//输出为:-2147483647
System.out.println(Integer.MIN_VALUE-1);//输出为:2147483647
System.out.println(Integer.MIN_VALUE);//输出为:-2147483648
System.out.println(Integer.MIN_VALUE-2);//输出为:2147483646

 

  出现以上的原因是ASCII负数补码的机制不一样。

2、浮点类型
float4 byte-3.4028235E38~3.4028235E38(有效位数为7~8位)
double8 byte-1.7976931348623157E308~1.7976931348623157E308(有效位为15位)
① Java没有的长双精度浮点类型:long double:

    long double:16 byte

    

② 表示方式:

    float 类型的数值有一个后缀 F 或 f (例如,3.14F。) 没有后缀 F 的浮点数值(如 3.14 ) 默 认为 double 类型。当然,也可以在浮点数值后面添加后缀 D 或 d (例如,3.14D)。

③ 科学计数法:

     1)尾数    2)E/e    3)指数

           例如:

            double value3=123450000000000;

            double value4=1.2345E14;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490734.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号