java基础之 数据类型

 数据类型表示要存储在变量中的不同类型的值。

一、Java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。


 

1、 byte

  • byte 数据类型是8位、有符号的,以二进制补码表示的整数;
  • byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
  • 默认值 0,最小值  -128(-2^7),最大值 127(2^7-1);
  • 对应封装类为 Byte;

 

2、short

  • short 数据类型是 16 位、有符号的以二进制补码表示的整数;
  • short数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
  • 默认值 0,最小值  -32,768(-2^15),最大值 32,767(2^15 - 1);
  • 对应封装类为 Short;

 

3、int  

  • int 数据类型是32位、有符号的以二进制补码表示的整数;
  • 一般地整型变量默认为 int 类型;
  • 默认值 0,最小值  -2,147,483,648(-2^31),最大值 2,147,483,647(2^31 - 1);
  • 对应封装类为 Integer;

 

4、long

  • long 数据类型是 64 位、有符号的以二进制补码表示的整数;
  • 这种类型主要使用在需要比较大整数的系统上;
  • 默认值 0L,最小值 -9,223,372,036,854,775,808(-2^63),最大值 9,223,372,036,854,775,807(2^63 -1);
  • 对应封装类为 Long;

 

5、float

  • float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
  • 直接赋值时必须在数字后加上f或F。
  • 默认值  0.0f;
  • 对应封装类为 Float;

 

6、double

  • double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
  • 浮点数的默认类型为double类型;
  • 默认值 0.0d;
  • 对应封装类为 Double;

 

7、boolean

  • boolean数据类型表示一位的信息;
  • 只有两个取值:true 和 false;
  • 默认值 false;
  • 对应封装类为 Boolean;

 

8、char

  • char类型是一个单一的 16 位 Unicode 字符;
  • 默认为 \u0000;
  • 对应的封装类型为 Character;

 

其中我们可以使用对应的封装类来获取对应的信息:

(1)基本类型的二进制位数:xxx.SIZE;

(2)最小值:xxx.MIN_VALUE;

(3)最大值:xxx.MAX_VALUE;


 

二、常量 ,我们在程序运行中不会改变的值。

常量使用 final 关键字来定义,例如:

final duble PI=3.1415926;

 定义的常量PI在程序运行中将不能被任何操作改变它的值。

 

 测试代码

package test;

/**
 * 数据类型
 *
 * @author lixin
 */
public class DataType {
    public static void main(String[] args) {
        // type name = value;
        String a = "string";

        // 1.整数
        // 1.1 byte 占8位,范围:-2^7~ 2^7-1
        byte bt = 127;
        System.out.println("byte 最小值=" + Byte.MIN_VALUE);
        System.out.println("byte 最大值=" + Byte.MAX_VALUE);
        System.out.println("byte 占位=" + Byte.SIZE);
        System.out.println("byte 占字节=" + Byte.BYTES);

        // 1.2 short 占16位,范围 -2^15 ~ 2^15 - 1
        short sh = -32768;
        System.out.println("short 最小值=" + Short.MIN_VALUE);
        System.out.println("short 最大值=" + Short.MAX_VALUE);
        System.out.println("short 占位=" + Short.SIZE);
        System.out.println("short 占字节=" + Short.BYTES);

        // 1.3 int 占32位,范围 -2^31 ~ 2^31 - 1
        int in = -2147483648;
        System.out.println("int 最小值=" + Integer.MIN_VALUE);
        System.out.println("int 最大值=" + Integer.MAX_VALUE);
        System.out.println("int 占位=" + Integer.SIZE);
        System.out.println("int 占字节=" + Integer.BYTES);

        // 1.4 long 占64位,范围 -2^63 ~ 2^63 - 1
        long lo = -9223372036854775808L;
        System.out.println("long 最小值=" + Long.MIN_VALUE);
        System.out.println("long 最大值=" + Long.MAX_VALUE);
        System.out.println("long 占位=" + Long.SIZE);
        System.out.println("long 占字节=" + Long.BYTES);

        // 2.浮点
        // 2.1 float 单精度、32位
        float fl = 10.1F;
        System.out.println("float 最小值=" + Float.MIN_VALUE);
        System.out.println("float 最大值=" + Float.MAX_VALUE);
        System.out.println("float 占位=" + Float.SIZE);
        System.out.println("float 占字节=" + Float.BYTES);

        // 2.2 double 双精度、64位
        double dou = 3.1415926;
        System.out.println("double 最小值=" + Double.MIN_VALUE);
        System.out.println("double 最大值=" + Double.MAX_VALUE);
        System.out.println("double 占位=" + Double.SIZE);
        System.out.println("double 占字节=" + Double.BYTES);

        // 3.字符 char 16位
        char ch = 'A';
        System.out.println("char 最小值=" + Character.MIN_VALUE);
        System.out.println("char 最大值=" + Character.MAX_VALUE);
        System.out.println("char 占位=" + Character.SIZE);
        System.out.println("char 占字节=" + Character.BYTES);

        // 4.布尔 boolean 1位
        boolean flag = true;
        boolean flag2 = false;
    }
}

// 输出
byte 最小值=-128
byte 最大值=127
byte 占位=8
byte 占字节=1
short 最小值=-32768
short 最大值=32767
short 占位=16
short 占字节=2
int 最小值=-2147483648
int 最大值=2147483647
int 占位=32
int 占字节=4
long 最小值=-9223372036854775808
long 最大值=9223372036854775807
long 占位=64
long 占字节=8
float 最小值=1.4E-45
float 最大值=3.4028235E38
float 占位=32
float 占字节=4
double 最小值=4.9E-324
double 最大值=1.7976931348623157E308
double 占位=64
double 占字节=8
char 最小值=\u0000
char 最大值=\uFFFF
char 占位=16 char 占字节=2

 

posted @ 2018-06-17 00:45  喵喵扑  阅读(178)  评论(0编辑  收藏  举报