zoukankan      html  css  js  c++  java
  • Java核心技术之基本数据类型

          这篇文章。我们讨论一些java的最主要的东西。这些东西我们一般刚刚学java的时候就学过,可是不一定真正明确。

    正好,我在做一个读取内存的值,涉及到bit位的值的读取和写。那就能够讨论一个java的基本数据类型的值在机器的具体情况:

          Java基本数据类型共同拥有八种三类:字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。

    数值类型又能够分为整数类型byte、short、int、long和浮点数类型float、double。

        Java决定了每种简单类型的大小。这些大小并不随着机器结构的变化而变化。这样的大小的不可更改正是Java程序具有非常强移植能力的原因之中的一个。

        以下,我们就是要分析java基本数据类型的取值范围和占多少字节多少bit(1字节 = 8 bit)。


    代码例如以下:


    public class BaseDataInfo{ 
    	
    public static void main(String[] args) {  
    	
    	System.out.println("Boolean.FALSE:"+Boolean.FALSE);
    	System.out.println("Boolean.TRUE:"+Boolean.TRUE);
      
    	int maxByte = Byte.MAX_VALUE;
    	int minByte = Byte.MIN_VALUE;
    	int sizeByte = Byte.SIZE;
    	System.out.println("Byte.MAX_VALUE:"+maxByte);
    	System.out.println("Byte.MIN_VALUE:"+minByte);
    	System.out.println("Byte.SIZE:"+sizeByte);
    	
    	int maxChar = Character.MAX_VALUE;
    	int minChar = Character.MIN_VALUE;
    	int sizeChar = Character.SIZE;
    	System.out.println("Character.MAX_VALUE:"+maxChar);
    	System.out.println("Character.MIN_VALUE:"+minChar);
    	System.out.println("Character.SIZE:"+sizeChar);
    	
    	int maxShort = Short.MAX_VALUE;
    	int minShort = Short.MIN_VALUE;
    	int sizeShort = Short.SIZE;	
    	System.out.println("Short.MAX_VALUE:"+maxShort);
    	System.out.println("Short.MIN_VALUE:"+minShort);
    	System.out.println("Short.SIZE:"+sizeShort);
    
    	
    	int maxInt = Integer.MAX_VALUE;
    	int minInt = Integer.MIN_VALUE;
    	int sizeInt = Integer.SIZE;
    	int bitCount = Integer.bitCount(10);
    	System.out.println("Integer.MAX_VALUE:"+maxInt);
    	System.out.println("Integer.MIN_VALUE:"+minInt);
    	System.out.println("Integer.SIZE:"+sizeInt);
    	System.out.println("Integer.bitCount(1):"+bitCount);
    	
    	long maxLong = Long.MAX_VALUE;
    	long minLong = Long.MIN_VALUE;
    	int sizeLong = Long.SIZE;
    	System.out.println("Long.MAX_VALUE:"+maxLong);
    	System.out.println("Long.MIN_VALUE:"+minLong);
    	System.out.println("Long.SIZE:"+sizeLong);
    	
    		
    	float maxFloat =  Float.MAX_VALUE;
    	float minFloat =  Float.MIN_VALUE;
    	int sizeFloat = Float.SIZE;
    	System.out.println("Float.MAX_VALUE:"+maxFloat);
    	System.out.println("Float.MIN_VALUE:"+minFloat);
    	System.out.println("Float.SIZE:"+sizeFloat);	
    	
    	Double maxDouble =  Double.MAX_VALUE;
    	Double minDouble =  Double.MIN_VALUE;
    	int sizeDouble = Double.SIZE;
    	System.out.println("Double.MAX_VALUE:"+maxDouble);
    	System.out.println("Double.MIN_VALUE:"+minDouble);
    	System.out.println("Double.SIZE:"+sizeDouble);	
    	
      }
    }

    输出结果:

    Boolean.FALSE:false
    Boolean.TRUE:true
    Byte.MAX_VALUE:127
    Byte.MIN_VALUE:-128
    Byte.SIZE:8
    Character.MAX_VALUE:65535
    Character.MIN_VALUE:0
    Character.SIZE:16
    Short.MAX_VALUE:32767
    Short.MIN_VALUE:-32768
    Short.SIZE:16
    Integer.MAX_VALUE:2147483647
    Integer.MIN_VALUE:-2147483648
    Integer.SIZE:32
    Integer.bitCount(1):2
    Long.MAX_VALUE:9223372036854775807
    Long.MIN_VALUE:-9223372036854775808
    Long.SIZE:64
    Float.MAX_VALUE:3.4028235E38
    Float.MIN_VALUE:1.4E-45
    Float.SIZE:32
    Double.MAX_VALUE:1.7976931348623157E308
    Double.MIN_VALUE:4.9E-324
    Double.SIZE:64

    从输出结果能够看出:

    boolean

    仅仅有true和false两个取值

    byte

    8位,最大存储数据量是255,存放的数据范围是-128~127之间

    short

    16位,最大数据存储量是65536,数据范围是-32768~32767之间

    int

    32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1(也就是-2147483648~2147483647)。从int取值范围能够看。int适合20亿级别的整形数据。

    long

    64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2 的63次方减1(也就是-9223372036854775808~9223372036854775807)。

    从long的取值范围能够看出。long适合海量级(亿亿级)的整形数据。

    float

    32位,数据范围在3.4e-45~1.4e38。直接赋值时必须在数字后加上f或F。从float的取值范围能够看出,float适合e38级的float数据。

    double

    64位,数据范围在4.9e-324~1.8e308,赋值时能够加d或D也能够不加。从double的取值范围能够看出,double适合e308的double数据。

    char

    16位。存储Unicode码,用单引號赋值



    基本数据类型

    boolean

    byte

    char

    short

    int

    long

    float

    double

    bit位数

    1

    8

    16

    16

    32

    64

    32

    64

    字节位数

    0.125

    1

    2

    2

    4

    8

    4

    8

    封装类

    Boolean

    Byte

    Character

    Short

    Integer

    Long

    Float

    Double

    參考资料:

    Java基本数据类型总结
    http://www.cnblogs.com/doit8791/archive/2012/05/25/2517448.html

  • 相关阅读:
    vue router replace
    html transition 标签
    transformorigin
    动态设置class名称
    oracle中trim,ltrim,rtrim函数用法
    blob字段存储文件并读取
    分区表的本地索引竟然失效了——ORA01502
    powerdesigner使用细节
    PLS00231错误:function name may not be used in SQL
    sqlplus命令说明
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6885650.html
Copyright © 2011-2022 走看看