java学习笔记(一) -- 数据类型

一、数据类型

        

基本数据类型:

字符类型(char)

        布尔类型(boolean)

        数值类型:整数类型     (byte、short、int、long)

                            浮点数类型 (float、double) 

                            浮点型默认是double类型。


引用数据类型:

类(class)

接口(interface)

数组


1)基本数据类型:基本类型存储在栈中,因此它们的存取速度要快于存储在堆中的对应包装类的实例对象。

2)引用数据类型

注:void也是一种数据类型。它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。

下记代码是转载的

public class PrimitiveTypeTest {  
    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);  
    }  
}  
运行结果
1、基本类型:byte 二进制位数:8
2、包装类:java.lang.Byte
3、最小值:Byte.MIN_VALUE=-128
4、最大值:Byte.MAX_VALUE=127
5、
6、基本类型:short 二进制位数:16
7、包装类:java.lang.Short
8、最小值:Short.MIN_VALUE=-32768
9、最大值:Short.MAX_VALUE=32767
10、
11、基本类型:int 二进制位数:32
12、包装类:java.lang.Integer
13、最小值:Integer.MIN_VALUE=-2147483648
14、最大值:Integer.MAX_VALUE=2147483647
15、
16、基本类型:long 二进制位数:64
17、包装类:java.lang.Long
18、最小值:Long.MIN_VALUE=-9223372036854775808
19、最大值:Long.MAX_VALUE=9223372036854775807
20、
21、基本类型:float 二进制位数:32
22、包装类:java.lang.Float
23、最小值:Float.MIN_VALUE=1.4E-45
24、最大值:Float.MAX_VALUE=3.4028235E38
25、
26、基本类型:double 二进制位数:64
27、包装类:java.lang.Double
28、最小值:Double.MIN_VALUE=4.9E-324
29、最大值:Double.MAX_VALUE=1.7976931348623157E308
30、
31、基本类型:char 二进制位数:16
32、包装类:java.lang.Character
33、最小值:Character.MIN_VALUE=0
34、最大值:Character.MAX_VALUE=65535


 

基本数据类型

内存占用

取值范围

包装类

byte

1 字节(8 位)

-128 ~ 127(2^7 ~ 2^7-1)

Byte

short

2 字节(16 位)

-2^15 ~ 2^15-1

Short

int

4 字节(32 位)

-2^31 ~ 2^31-1

Integer

long

8 字节(64 位)

-2^63 ~ 2^63-1

Long

boolean

1 字节(8 位)

true 或 false

Boolean

char

2 字节(16 位)

Unicode 0 ~ Unicode 2^16-1

Character

float

4 字节(32 位)

-3.403E38~3.403E38

Float

double

8 字节(64 位)

-1.798E308~1.798E308

Double



注:Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。


二) 基本数据类型之间的相互转换

1)布尔型不可以和其他数据类型转换。

2)数值类型有2种转换方法

a)自动转换

当把一个取值范围小的数据向取值范围大的数据转换时,会自动转换。

public class Lesson03_1{

  public static void main(String[] args){

      byte byte1=100;
      short short1=10000;
      char char1= 23002;
      int int1= 1000000;
      long long1= 9876543210L;
      float float1= 9876543210.12345f;
      double double1= 9876543210.123456789;

      short short2=byte1;
  //  byte byte2=short1;
  }
}
short向byte转化时,则会精度损失报错。

b)强制转换

强制转换时,会出现精度损失,short1是250转化成byte时,结果是-6.

public class Lesson03_2{

    public static void main(String[] args){

        short short1=100;
        byte byte1=(byte)short1;
        System.out.print(byte1);

    }
}


三)字符串

public class Lesson03_4{
    public static void main(String[] args){
        String name1="nebulayao";
        String name2=null;
        name2=name1;
        System.out.println("name2="+name2);
    }
}





你可能感兴趣的:(java,编程语言,java,编程语言)