Java基本数据类型默认值、取值范围及所占字节位数

红太狼 2022-01-23 09:15 334阅读 0赞

基本情况汇总如下:












































































序号

数据类型 大小/位 封装类 默认值 可表示数据范围
1 byte(位) 8 Byte 0 -128~127
2 short(短整型) 16 Short 0 -32768~32767
3 int(整数) 32 Integer 0 -2147483648~2147483647

4

long(长整数)

64

Long

 0L

-9223372036854775808~9223372036854775807

5

float(单精度)

32

Float

0.0f

1.4E-45~3.4028235E38

6

double(双精度)

64

Double

0.0

4.9E-324~1.7976931348623157E308

7

char(字符)

16

Character

‘/uoooo’(null)

0~65535

8

boolean

8

Boolean

flase

true或false

  当变量作为作为类成员使用时,java才确保给定其初始值,防止程序运行时错误。但是这些初始值对你的程序来说是不正确的。所以必须明确指定初始值。

  然而以上所诉并不适用于“局部”变量(即:非某个类的字段)。因此在某个方法中定义int i,那么变量i可能得到的是任一值。不会被初始化为0。所以使用前先付一个适当的值。如果忘记了,java会在编译时返回一个错误。告诉你此变量没有初始化。在类中定义一个对象的引用时,如果没有给定初始化值,此引用会默认为null值。也就是说在java中基本类型的默认值是0,引用类型会默认为null。

  大家注意! char类型数据作为成员变量时默认值是’ ‘(空字符)。另外’\u0000’表示的符号是空字符,’\ uxxxx’ x属于0到f可以表示很多字符,可以理解为字符编码。


测试代码:

  1. package com.test.basedatatype;
  2. public class Test {
  3. int a;
  4. double b;
  5. boolean c;
  6. char d;
  7. float f;
  8. byte e;
  9. long h;
  10. short j;
  11. public static void main(String []args){
  12. getDefault();
  13. getSize();
  14. }
  15. public static void getDefault() {
  16. Test a = new Test();
  17. System.out.println("整型的默认值是:" + a.a);
  18. System.out.println("双精度浮点型的默认值是:" + a.b);
  19. System.out.println("布尔型的默认值是:" + a.c);
  20. System.out.println("字符型的默认值是:" + a.d);
  21. System.out.println("byte的默认值是:" + a.e);
  22. System.out.println("单精度浮点型的默认值是:" + a.f);
  23. System.out.println("短整型的默认值是:" + a.j);
  24. System.out.println("长整型的默认值是:" + a.h);
  25. }
  26. public static void getSize() {
  27. System.out.println("--------------------");
  28. //byte类型所占的字节数求法
  29. System.out.println("byte的二进制位数为:" + Byte.SIZE);
  30. System.out.println("byte所占的字节数为:" + Byte.SIZE/8); //一个字节占8个二进制位
  31. System.out.println("--------------------");
  32. //short类型所占的字节数求法
  33. System.out.println("short的二进制位数为:" + Short.SIZE);
  34. System.out.println("short所占的字节数为:" + Short.SIZE/8);
  35. System.out.println("--------------------");
  36. //int类型所占的字节数求法
  37. System.out.println("int的二进制位数为:" + Integer.SIZE);
  38. System.out.println("int所占的字节数为:" + Integer.SIZE/8);
  39. System.out.println("--------------------");
  40. //long类型所占的字节数求法
  41. System.out.println("long的二进制位数为:" + Long.SIZE);
  42. System.out.println("long所占的字节数为:" + Long.SIZE/8);
  43. System.out.println("--------------------");
  44. //float类型所占的字节数求法
  45. System.out.println("float的二进制位数为:" + Float.SIZE);
  46. System.out.println("float所占的字节数为:" + Float.SIZE/8);
  47. System.out.println("--------------------");
  48. //double类型所占的字节数求法
  49. System.out.println("double的二进制位数为:" + Double.SIZE);
  50. System.out.println("double所占的字节数为:" + Double.SIZE/8);
  51. System.out.println("--------------------");
  52. //char类型所占的字节数求法
  53. System.out.println("char的二进制位数为:" + Character.SIZE);
  54. System.out.println("char所占的字节数为:" + Character.SIZE/8);
  55. }
  56. }

默认值输出结果:

20190603140033100.png

所占字节数输出结果:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lzbDE5OTEwODA2_size_16_color_FFFFFF_t_70

原贴,表示感谢

https://blog.csdn.net/strggle_bin/article/details/70194840

https://www.cnblogs.com/yjh123/p/5694341.html

https://www.cnblogs.com/aiwuzhi/p/7335111.html

发表评论

表情:
评论列表 (有 0 条评论,334人围观)

还没有评论,来说两句吧...

相关阅读