java基本类型(内置类型)取值范围
例1:
- public class PrimitiveTypeTest {
- public static void main(String[] args) {
- // byte
- System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
- System.out.println("包装类:java.lang.Byte");
- System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
- System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
运行结果:
- 基本类型:byte 二进制位数:8
- 包装类:java.lang.Byte
- 最小值:Byte.MIN_VALUE=-128
- 最大值:Byte.MAX_VALUE=127
- (补充)基本类型:short 二进制位数:16
- 包装类:java.lang.Short
- 最小值:Short.MIN_VALUE=-32768
- 最大值:Short.MAX_VALUE=32767
- 基本类型:int 二进制位数:32
- 包装类:java.lang.Integer
- 最小值:Integer.MIN_VALUE=-2147483648
- 最大值:Integer.MAX_VALUE=2147483647
- 基本类型:long 二进制位数:64
- 包装类:java.lang.Long
- 最小值:Long.MIN_VALUE=-9223372036854775808
- 最大值:Long.MAX_VALUE=9223372036854775807
- 基本类型:float 二进制位数:32
- 包装类:java.lang.Float
- 最小值:Float.MIN_VALUE=1.4E-45
- 最大值:Float.MAX_VALUE=3.4028235E38
- 基本类型:double 二进制位数:64
- 包装类:java.lang.Double
- 最小值:Double.MIN_VALUE=4.9E-324
- 最大值:Double.MAX_VALUE=1.7976931348623157E308
- 基本类型:char 二进制位数:16
- 包装类:java.lang.Character
- 最小值:Character.MIN_VALUE=0
- 最大值:Character.MAX_VALUE=65535
例2:
- public class PrimitiveTypeTest {
- public static void main(String[] args) {
- // 给byte类型变量赋值时,数字后无需后缀标识
- byte byte_a = 1;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // byte byte_b = 1000;
- // 把一个long型值赋值给byte型变量,编译时会报错,即使这个值没有超出byte类型的取值范围
- // byte byte_c = 1L;
- // 给short类型变量赋值时,数字后无需后缀标识
- short short_a = 1;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // short short_b = 70000;
- // 把一个long型值赋值给short型变量,编译时会报错,即使这个值没有超出short类型的取值范围
- // byte short_c = 1L;
- // 给short类型变量赋值时,数字后无需后缀标识
- int int_a = 1;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // int int_b = 2200000000;
- // 把一个long型值赋值给int型变量,编译时会报错,即使这个值没有超出int类型的取值范围
- // int int_c = 1L;
- // 可以把一个int型值直接赋值给long型变量,数字后无需后缀标识
- long long_a = 1;
- // 如果给long型变量赋予的值超出了int型值的范围,数字后必须加L(不区分大小写)标识
- long long_b = 2200000000L;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // long long_c = 9300000000000000000L;
- // 可以把一个int型值直接赋值给float型变量
- float float_a = 1;
- // 可以把一个long型值直接赋值给float型变量
- float float_b = 1L;
- // 没有F(不区分大小写)后缀标识的浮点数默认为double型的,不能将它直接赋值给float型变量
- // float float_c = 1.0;
- // float型数值需要有一个F(不区分大小写)后缀标识
- float float_d = 1.0F;
- // 把一个double型值赋值给float型变量,编译时会报错,即使这个值没有超出float类型的取值范围
- // float float_e = 1.0D;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // float float_f = 3.5000000E38F;
- // 可以把一个int型值直接赋值给double型变量
- double double_a = 1;
- // 可以把一个long型值直接赋值给double型变量
- double double_b = 1L;
- // 可以把一个float型值直接赋值给double型变量
- double double_c = 1F;
- // 不带后缀标识的浮点数默认为double类型的,可以直接赋值
- double double_d = 1.0;
- // 也可以给数字增加一个D(不区分大小写)后缀标识,明确标出它是double类型的
- double double_e = 1.0D;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // double double_f = 1.8000000000000000E308D;
- // 把一个double型值赋值给一个byte类型变量,编译时会报错,即使这个值没有超出byte类型的取值范围
- // byte byte_d = 1.0D;
- // 把一个double型值赋值给一个short类型变量,编译时会报错,即使这个值没有超出short类型的取值范围
- // short short_d = 1.0D;
- // 把一个double型值赋值给一个int类型变量,编译时会报错,即使这个值没有超出int类型的取值范围
- // int int_d = 1.0D;
- // 把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
- // long long_d = 1.0D;
- // 可以用字符初始化一个char型变量
- char char_a = 'a';
- // 也可以用一个int型数值初始化char型变量
- char char_b = 1;
- // 把一个long型值赋值给一个char类型变量,编译时会报错,即使这个值没有超出char类型的取值范围
- // char char_c = 1L;
- // 把一个float型值赋值给一个char类型变量,编译时会报错,即使这个值没有超出char类型的取值范围
- // char char_d = 1.0F;
- // 把一个double型值赋值给一个char类型变量,编译时会报错,即使这个值没有超出char类型的取值范围
- // char char_e = 1.0D;
- // 编译器会做范围检查,如果赋予的值超出了范围就会报错
- // char char_f = 70000;
- }
- }
- public class PrimitiveTypeTest {
- public static void main(String[] args) {
- short s1 = 1;
- // 这一行代码会报编译错误
- // s1 = s1 + 1;
- // 这一行代码没有报错
- s1 = 1 + 1;
- // 这一行代码也没有报错
- s1 += 1;
- }
- }
例4:
- public class EqualsTest {
- public static void main(String[] args) {
- // int类型用int类型初始化
- int int_int = 0;
- // int类型用Integer类型初始化
- int int_Integer = new Integer(0);
- // Integer类型用Integer类型初始化
- Integer Integer_Integer = new Integer(0);
- // Integer类型用int类型初始化
- Integer Integer_int = 0;
- System.out.println("int_int == int_Integer结果是:"
- + (int_int == int_Integer));
- System.out.println("Integer_Integer == Integer_int结果是:"
- + (Integer_Integer == Integer_int));
- }
- }
运行结果:
- int_int == int_Integer结果是:true
- Integer_Integer == Integer_int结果是:false
java基本类型(内置类型)取值范围的更多相关文章
- Java进阶(十一)部分数据类型取值范围
java整型byte,short,int,long取值范围大小 在项目开发中,需要用到随机数的生成方法,代码如下: public static String randomizeNumber(int n ...
- poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...
- js 定义像java一样的map方便取值【转】
js 定义像java一样的map方便取值. 百度有位大神说"js对象本身就是一种Map结构",这真是一段让人欢天喜地的代码. <script> //定义一个全局map ...
- set类型没有单独取值功能 通过循环取值
set类型没有单独取值功能 通过循环取值
- VC++内置数据类型存储及取值范围
亲测,基于win7 32位,vs2012编译 结果: 代码: #include "stdafx.h" #include <iostream> #include < ...
- java中为什么byte的取值范围是-128到+127
概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数.正数补码为其本身:负数补码为其绝对值各位取反加1:例如:+21,其二进制表示形式是000101 ...
- JAVA与c#中byte取值范围的差异
C#中分有符号类型的sbyte和无符号类型的byte Console.WriteLine("byte.min:{0},byte.max:{1},{2}byte", byte.Min ...
- Salesforce中所有常用类型字段的取值与赋值
Salesforce中所有常用字段类型的定义以及如何用代码进行取值和赋值: Field Type的定义: http://www.salesforce.com/us/developer/docs/api ...
- JAVA中的变量及取值范围
字节是二进制数据的单位.一个字节通常8位长.但是,一些老型号计算机结构使用不同的长度.为了避免混乱,在大多数国际文献中,使用词代替byte.变量: 变量的数据类型:变量名=变量值 数据类型 基本型 数 ...
- Sql狗血的Bit类型赋值与取值
Bit 数据类型在 SQL Server 数据库中以存储 1.0 进行存储. 往数据库中添加,修改 bit 类型的字段时,只能用 0 或者 1. 关于修改 Bit 类型的字段 1.若使用 SQL 语句 ...
随机推荐
- Zabbix 监控搭建
Zabbix官网地址:https://www.zabbix.com/download 1.服务端 1.操作前安装好Mysql数据库 配置yum源,安装部署Zabbix rpm -i http://re ...
- diff命令具体解释
diff命令參数: diff - 找出两个文件的不同点 总览 diff [选项] 源文件 目标文件 以下是 GNU所接受的 diff 的全部选项的概要. 大多数的选项有两个同样的名字,一个是单个的跟在 ...
- drawable-实现图片旋转
今天因为需要,所以要让一个图片随着某种需要进行旋转.但是,又不能一张张的做动态图片.所以就在网上找了这么个方法.但是,这个方法有个问题,就是虽然能实现图片的旋转.但是,图片旋转以后会进行缩放.具体原因 ...
- Android时间戳与字符串相互转换
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public cl ...
- Redis原理(二)
运维 快照使用子进程是通过一个子进程完成, 它会比较的浪费资源的操作. 1.遍历整个内存,会增加系统负担. 2.io操作,降低redis性能. 一般都是主备,备用的进行持久化. Redis 4.0混合 ...
- node.js服务器核心http和文件读写
使用htpp给客服端的数据,把数据交给浏览器渲染.利用 http创建服务器,如客户端请求为:127.0.0.1:3000或127.0.0.1:3000/xxx.html时 ,判断www文件夹中,文件 ...
- vue-cli打包项目后,可以修改配置文件
问题: 前端需要修改后台服务器地址url,写好的配置文件会在npm run build 后压缩在一起,传到运行的前端服务器上后,需要到前端打包的源码,找到url地址进行修改.如果不在打包的源码修改,则 ...
- POJ 1852 Ants || UVA 10881 - Piotr's Ants 经典的蚂蚁问题
两题很有趣挺经典的蚂蚁问题. 1.n只蚂蚁以1cm/s的速度在长为L的竿上爬行,当蚂蚁爬到竿子的端点就会掉落.当两只蚂蚁相撞时,只能各自反向爬回去.对于每只蚂蚁,给出距离左端的距离xi,但不知道它的朝 ...
- POJ 2886 Who Gets the Most Candies?(线段树·约瑟夫环)
题意 n个人顺时针围成一圈玩约瑟夫游戏 每一个人手上有一个数val[i] 開始第k个人出队 若val[k] < 0 下一个出队的为在剩余的人中向右数 -val[k]个人 val[k ...
- [RxJS] Subject: an Observable and Observer hybrid
This lesson teaches you how a Subject is simply a hybrid of Observable and Observer which can act as ...