例1:

  1. public class PrimitiveTypeTest {
  2. public static void main(String[] args) {
  3. // byte
  4. System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
  5. System.out.println("包装类:java.lang.Byte");
  6. System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
  7. System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);

运行结果:

  1. 基本类型:byte 二进制位数:8
  2. 包装类:java.lang.Byte
  3. 最小值:Byte.MIN_VALUE=-128
  4. 最大值:Byte.MAX_VALUE=127
  5. (补充)基本类型:short 二进制位数:16
  6. 包装类:java.lang.Short
  7. 最小值:Short.MIN_VALUE=-32768
  8. 最大值:Short.MAX_VALUE=32767
  9. 基本类型:int 二进制位数:32
  10. 包装类:java.lang.Integer
  11. 最小值:Integer.MIN_VALUE=-2147483648
  12. 最大值:Integer.MAX_VALUE=2147483647
  13. 基本类型:long 二进制位数:64
  14. 包装类:java.lang.Long
  15. 最小值:Long.MIN_VALUE=-9223372036854775808
  16. 最大值:Long.MAX_VALUE=9223372036854775807
  17. 基本类型:float 二进制位数:32
  18. 包装类:java.lang.Float
  19. 最小值:Float.MIN_VALUE=1.4E-45
  20. 最大值:Float.MAX_VALUE=3.4028235E38
  21. 基本类型:double 二进制位数:64
  22. 包装类:java.lang.Double
  23. 最小值:Double.MIN_VALUE=4.9E-324
  24. 最大值:Double.MAX_VALUE=1.7976931348623157E308
  25. 基本类型:char 二进制位数:16
  26. 包装类:java.lang.Character
  27. 最小值:Character.MIN_VALUE=0
  28. 最大值:Character.MAX_VALUE=65535

例2:

  1. public class PrimitiveTypeTest {
  2. public static void main(String[] args) {
  3. // 给byte类型变量赋值时,数字后无需后缀标识
  4. byte byte_a = 1;
  5. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  6. // byte byte_b = 1000;
  7. // 把一个long型值赋值给byte型变量,编译时会报错,即使这个值没有超出byte类型的取值范围
  8. // byte byte_c = 1L;
  9. // 给short类型变量赋值时,数字后无需后缀标识
  10. short short_a = 1;
  11. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  12. // short short_b = 70000;
  13. // 把一个long型值赋值给short型变量,编译时会报错,即使这个值没有超出short类型的取值范围
  14. // byte short_c = 1L;
  15. // 给short类型变量赋值时,数字后无需后缀标识
  16. int int_a = 1;
  17. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  18. // int int_b = 2200000000;
  19. // 把一个long型值赋值给int型变量,编译时会报错,即使这个值没有超出int类型的取值范围
  20. // int int_c = 1L;
  21. // 可以把一个int型值直接赋值给long型变量,数字后无需后缀标识
  22. long long_a = 1;
  23. // 如果给long型变量赋予的值超出了int型值的范围,数字后必须加L(不区分大小写)标识
  24. long long_b = 2200000000L;
  25. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  26. // long long_c = 9300000000000000000L;
  27. // 可以把一个int型值直接赋值给float型变量
  28. float float_a = 1;
  29. // 可以把一个long型值直接赋值给float型变量
  30. float float_b = 1L;
  31. // 没有F(不区分大小写)后缀标识的浮点数默认为double型的,不能将它直接赋值给float型变量
  32. // float float_c = 1.0;
  33. // float型数值需要有一个F(不区分大小写)后缀标识
  34. float float_d = 1.0F;
  35. // 把一个double型值赋值给float型变量,编译时会报错,即使这个值没有超出float类型的取值范围
  36. // float float_e = 1.0D;
  37. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  38. // float float_f = 3.5000000E38F;
  39. // 可以把一个int型值直接赋值给double型变量
  40. double double_a = 1;
  41. // 可以把一个long型值直接赋值给double型变量
  42. double double_b = 1L;
  43. // 可以把一个float型值直接赋值给double型变量
  44. double double_c = 1F;
  45. // 不带后缀标识的浮点数默认为double类型的,可以直接赋值
  46. double double_d = 1.0;
  47. // 也可以给数字增加一个D(不区分大小写)后缀标识,明确标出它是double类型的
  48. double double_e = 1.0D;
  49. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  50. // double double_f = 1.8000000000000000E308D;
  51. // 把一个double型值赋值给一个byte类型变量,编译时会报错,即使这个值没有超出byte类型的取值范围
  52. // byte byte_d = 1.0D;
  53. // 把一个double型值赋值给一个short类型变量,编译时会报错,即使这个值没有超出short类型的取值范围
  54. // short short_d = 1.0D;
  55. // 把一个double型值赋值给一个int类型变量,编译时会报错,即使这个值没有超出int类型的取值范围
  56. // int int_d = 1.0D;
  57. // 把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
  58. // long long_d = 1.0D;
  59. // 可以用字符初始化一个char型变量
  60. char char_a = 'a';
  61. // 也可以用一个int型数值初始化char型变量
  62. char char_b = 1;
  63. // 把一个long型值赋值给一个char类型变量,编译时会报错,即使这个值没有超出char类型的取值范围
  64. // char char_c = 1L;
  65. // 把一个float型值赋值给一个char类型变量,编译时会报错,即使这个值没有超出char类型的取值范围
  66. // char char_d = 1.0F;
  67. // 把一个double型值赋值给一个char类型变量,编译时会报错,即使这个值没有超出char类型的取值范围
  68. // char char_e = 1.0D;
  69. // 编译器会做范围检查,如果赋予的值超出了范围就会报错
  70. // char char_f = 70000;
  71. }
  72. }
  1. public class PrimitiveTypeTest {
  2. public static void main(String[] args) {
  3. short s1 = 1;
  4. // 这一行代码会报编译错误
  5. // s1 = s1 + 1;
  6. // 这一行代码没有报错
  7. s1 = 1 + 1;
  8. // 这一行代码也没有报错
  9. s1 += 1;
  10. }
  11. }

例4:

  1. public class EqualsTest {
  2. public static void main(String[] args) {
  3. // int类型用int类型初始化
  4. int int_int = 0;
  5. // int类型用Integer类型初始化
  6. int int_Integer = new Integer(0);
  7. // Integer类型用Integer类型初始化
  8. Integer Integer_Integer = new Integer(0);
  9. // Integer类型用int类型初始化
  10. Integer Integer_int = 0;
  11. System.out.println("int_int == int_Integer结果是:"
  12. + (int_int == int_Integer));
  13. System.out.println("Integer_Integer == Integer_int结果是:"
  14. + (Integer_Integer == Integer_int));
  15. }
  16. }

运行结果:

  1. int_int == int_Integer结果是:true
  2. Integer_Integer == Integer_int结果是:false

java基本类型(内置类型)取值范围的更多相关文章

  1. Java进阶(十一)部分数据类型取值范围

    java整型byte,short,int,long取值范围大小 在项目开发中,需要用到随机数的生成方法,代码如下: public static String randomizeNumber(int n ...

  2. poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)

    POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...

  3. js 定义像java一样的map方便取值【转】

    js 定义像java一样的map方便取值.  百度有位大神说"js对象本身就是一种Map结构",这真是一段让人欢天喜地的代码. <script> //定义一个全局map ...

  4. set类型没有单独取值功能 通过循环取值

    set类型没有单独取值功能 通过循环取值

  5. VC++内置数据类型存储及取值范围

    亲测,基于win7 32位,vs2012编译 结果: 代码: #include "stdafx.h" #include <iostream> #include < ...

  6. java中为什么byte的取值范围是-128到+127

    概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数.正数补码为其本身:负数补码为其绝对值各位取反加1:例如:+21,其二进制表示形式是000101 ...

  7. JAVA与c#中byte取值范围的差异

    C#中分有符号类型的sbyte和无符号类型的byte Console.WriteLine("byte.min:{0},byte.max:{1},{2}byte", byte.Min ...

  8. Salesforce中所有常用类型字段的取值与赋值

    Salesforce中所有常用字段类型的定义以及如何用代码进行取值和赋值: Field Type的定义: http://www.salesforce.com/us/developer/docs/api ...

  9. JAVA中的变量及取值范围

    字节是二进制数据的单位.一个字节通常8位长.但是,一些老型号计算机结构使用不同的长度.为了避免混乱,在大多数国际文献中,使用词代替byte.变量: 变量的数据类型:变量名=变量值 数据类型 基本型 数 ...

  10. Sql狗血的Bit类型赋值与取值

    Bit 数据类型在 SQL Server 数据库中以存储 1.0 进行存储. 往数据库中添加,修改 bit 类型的字段时,只能用 0 或者 1. 关于修改 Bit 类型的字段 1.若使用 SQL 语句 ...

随机推荐

  1. 5.Node.js 安装配置

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js安装包及源码下载地址为:https://nodejs.org/en/downlo ...

  2. BZOJ3160: 万径人踪灭(FFT,回文自动机)

    BZOJ传送门: 解题思路: FFT在处理卷积时可以将自己与自己卷,在某一种字母上标1其他标0,做字符集次就好了. (回文就是直接对称可以联系偶函数定义理解,根据这个性质就可以将字符串反向实现字符串匹 ...

  3. 洛谷 P3669 [USACO17OPEN]Paired Up 牛牛配对

    P3669 [USACO17OPEN]Paired Up 牛牛配对 题目描述 Farmer John finds that his cows are each easier to milk when ...

  4. unity3d 改动gui label颜色,定义颜色需除以256

    GUIStyle titleStyle2 = new GUIStyle(); titleStyle2.fontSize = 20; titleStyle2.normal.textColor = new ...

  5. JavaScript 倒计时器,闹钟功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 对于学习apache软件基金会顶级项目源码的一点思路(转)

    ASF的开源项目,为软件行业贡献了太多好的产品和软件思维.学习ASF的项目源码能很大的提升自身的能力.程序运行在服务器上的流程:执行启动脚本(start.sh) -> 指向程序的主方法 -> ...

  7. 硬件——nrf51822第二篇,如何设置keil用来下载程序

    转自电子发烧友论坛 未完,待续...... 这里就是根据自己的项目了,并不一定是按照下面的图片去做.

  8. C++的模板template

    模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数.返回值取得任意类型. 模板是一种对类型进行参数化的工具: 因此,使用模板的目 ...

  9. 学习redis--安装(二)

    安装前准备,我是在虚拟机中安装centos,然后安装redis. 安装 1.安装VMware,并安转centos系统 2.将redis的压缩包,上传到linux系统中(将下载到pc中的文件,拖到cen ...

  10. 《Springboot极简教程》问题解决:Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping for(转)

    13.2 Spring Boot启动报错:Whitelabel Error Page 13.2 Spring Boot启动报错:Whitelabel Error Page 问题描述 Whitelabe ...