Java教程

Java 学习:数据类型

本文主要是介绍Java 学习:数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言:Java属于强类型语言
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
优势就是安全性高,但劣势速度慢


数据类型

Java的数据类型分为两大类:

  • 基本类型(primitive type)

  • 引用类型(reference type)

    Java中定义了3类8种基本数据类型

    • 数值型- byte、 short、int、 long、float、 double

    • 字符型- char

    • 布尔型-boolean


基本数据类型字典表:

基本数据类型 占字节数 占位数 最小值 最大值 包装类型 默认值
boolean 1字节 8位 Boolean false
byte 1字节 8位 -128 127 Byte 0
char 2字节 16位 \u0000 \uffff Character \u0000
short 2字节 16位 -2^15 2^15-1 Short 0
int 4字节 32位 -2^31 2^31-1 Integer 0
float 4字节 32位 Float 0.0f
long 8字节 64位 -2^63 2^63-1 Long 0L
double 8字节 64位 Double 0.0d

实例:

public class Test {  
    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);  
        System.out.println();  
  
        // short  
        System.out.println("基本类型:short 二进制位数:" + Short.SIZE);  
        System.out.println("包装类:java.lang.Short");  
        System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);  
        System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);  
        System.out.println();  
  
        // int  
        System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);  
        System.out.println("包装类:java.lang.Integer");  
        System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
        System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);  
        System.out.println();  
  
        // long  
        System.out.println("基本类型:long 二进制位数:" + Long.SIZE);  
        System.out.println("包装类:java.lang.Long");  
        System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);  
        System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);  
        System.out.println();  
  
        // float  
        System.out.println("基本类型:float 二进制位数:" + Float.SIZE);  
        System.out.println("包装类:java.lang.Float");  
        System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);  
        System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);  
        System.out.println();  
  
        // double  
        System.out.println("基本类型:double 二进制位数:" + Double.SIZE);  
        System.out.println("包装类:java.lang.Double");  
        System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);  
        System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);  
        System.out.println();  
  
        // char  
        System.out.println("基本类型:char 二进制位数:" + Character.SIZE);  
        System.out.println("包装类:java.lang.Character");  
        // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台  
        System.out.println("最小值:Character.MIN_VALUE="  
                + (int) Character.MIN_VALUE);  
        // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台  
        System.out.println("最大值:Character.MAX_VALUE="  
                + (int) Character.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


备注:

Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的"E+数字"表示E之前的数字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。

实际上,JAVA中还存在另外一种基本类型 void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。




引用数据类型:

  • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型。变量一旦声明后,类型就不能被改变了。

  • 对象、数组都是引用数据类型。

  • 所有引用类型的默认值都是null。

  • 一个引用变量可以用来引用任何与之兼容的类型。


学习笔记:

  1. Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析
  1. 在Java的世界里,如果比int类型小的类型做运算,Java在编译的时候就会将它们统一强转成int类型。当是比int类型大的类型做运算,就会自动转换成它们中最大类型那个。
  1. Java默认有小数部分的数为double类型,所以要将一个有小数部分的常量赋值给float类型的变量时,需要在常量后方写上“f”、“F”,系统才将之认为是一个float类型的值。
  1. 【内存溢出】:在 Java 中,只有数字类型才能参与运算。但是每个数据类型都有他的取值范围。
    例如 byte 数据类型,它的取值范围为 -128 - 127 。
    当我们使用 byte b = 128; 时,肯定会报错。
    但是使用 byte b = 127+1; 并不会报错。
    而且运算的结果为 -128。
    我们可以向数据类型的取值范围看作是一个圆,每多一个数据向前移动一个,当数据达到最大值时,我们再加 1,可以就会变成最小值,这就是数据的溢出。
  1. 【类型转换】:整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换是从低级到高级。
    注意:1.不能对布尔值进行转换
    2.不能把对象类型转换为不相干的类型
    3.在把大容量转换到小容量的时候,要强制转换
    4.转换的时候可能存在内存溢出,或者精度问题
  1. byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。
    当使用字面量的时候,前缀 0 表示 8 进制,而前缀 0x 代表 16 进制, 而前缀 0b 便是二进制。
    例如:
    int a1 = 10; //十进制 => 输出结果10
    int a2 = 010; //八进制 => 输出结果8
    int a3 = 0x10; //十六进制 => 输出结果16
    int a4 = 0b10; //二进制 => 输出结果2
 int a1 = 10; //十进制 => 输出结果10
 int a2 = 010; //八进制 => 输出结果8
 int a3 = 0x10; //十六进制 => 输出结果16
 int a4 = 0b10; //二进制 => 输出结果2



这篇关于Java 学习:数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!