| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java中的整型数 -> 正文阅读 |
|
[Java知识库]java中的整型数 |
整型数在java语言中共4种类型: byte 1个字节(最大值127) short 2个字节(最大值32367) int 4个字节(2147483647是int最大值,超了这个范围可以使用long类型) long 8个字节 1个字节=8个二进制位 1byte=8bit 在java语言中整数型字面量有4种表示形式: 十进制:int a=10; 二进制:int b=0b10;(二进制以0b开始)(JDK8的新特性) 八进制:int c=010;(八进制以0开始) 十六进制:int d=0x10;(十六进制以0x开始) 在java中有一条非常重要的结论,在任何情况下,整数型的字面量默认被当作int来处理,如果希望该整数型自变量被当中long类型来处理,需要在字面量后加L,因为小写l和1很像,容易分不清楚. long a=100; 100这个自变量被默认当作int类型来处理,b是Long类型,占8个字节,int类型占4个字节,小容量可以自动转换位大容量,这种操作被称为:自动类型转换. long b=300L; 上面的赋值不存在类型转换,在300后面添加一个L后,300L就是一个long类型的字面量,long赋给long不存在类型转换. long d=2147483647; 2147483647默认被当作int来处理,d变量是long类型,小容量可以自动赋值给大容量,自动类型转换. long e=2147483648; int类型放不下2147483648,所有编译前会报错,e是long类型,完全放得下2147483648,只不过2147483648已经超过了int的范围.解决方法就是在字面量后面加上一个L,让它看出long类型,就解决问题了. 大容量不能直接赋值给小容量,需要使用强制类型转换符进行强制转换.加了强制类型转换符后,虽然编译通过了,但是运行时可能会损失精度. 底层进行强制类型转换: long类型的100L:00000000 00000000 00000000 00000000 00000000?00000000?00000000 01100100; 以上的long类型100L强转为int类型,会自动将前面的4个字节砍掉:00000000?00000000?00000000 01100100; java中有一个语法规则,当整数型字面量没有超出byte,或者short,char的取值范围,那么这个整数型字面量可以直接赋值给byte或者short,这种语法机制是为了方便写代码而存在的.. |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:11:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |