java入門 | 八大基礎類型

首發於:java入門 | 八大基礎類型
java入門系列,從零開始!!!

1、基礎類型

1.1 介紹

1.2 練習1:測試最大值最小值

創建Basic工程
創建cn.qile.basic包
創建Test1_Scope.java

package cn.qile.basic;

//這個類用來測試取值範圍
public class Test1_Scope {
    public static void main(String[] args) {
        //測試整型數據範圍 byte short int long
        //創建變量保存byte取值 -- 變量類型 變量名=變量值
        byte min = Byte.MIN_VALUE;
        byte max = Byte.MAX_VALUE;
        System.out.println(min);//-128,打印變量的值
        System.out.println(max);//127

        short smin = Short.MIN_VALUE;
        short smax = Short.MAX_VALUE;
        System.out.println(smin);//-32768
        System.out.println(smax);//32767

        //long -- Long
        long lmin = Long.MIN_VALUE;
        long lmax = Long.MAX_VALUE;
        System.out.println(lmin);//-9223372036854775808
        System.out.println(lmax);//9223372036854775807


        //TODO int -- Integer
        int imin = Integer.MIN_VALUE;
        int imax = Integer.MAX_VALUE;
        System.out.println(imin);//-2147483648
        System.out.println(imax);//2147483647


        //TODO  浮點型float--Float  double--Double
        float fmin = Float.MIN_VALUE;
        float fmax = Float.MAX_VALUE;
        System.out.println(fmin);//1.4E-45
        System.out.println(fmax);//3.4028235E38

        double dmin = Double.MIN_VALUE;
        double dmax = Double.MAX_VALUE;
        System.out.println(dmin);//4.9E-324
        System.out.println(dmax);//1.7976931348623157E308


        //布爾類型
        boolean b = true;//真,通常用1表示真
        boolean b2 = false;//假,通常用0表示假


        //字符類型
        char c = 'a';
        char c2 = '中';//char類型可以存儲一箇中文漢字
        char c3 = 97;
        System.out.println(c);
        System.out.println(c2);


        //char類型數據可以保存數字,但是在使用時,並不是使用數字本身,而是,
//拿着數字去查了ascii碼錶,把數字對應着的字符,拿出來使用
        System.out.println(c3);//a,就是因爲ascii碼錶數字97對應着的是a字符

    }
}

1.3 練習2:圓形面積

圓的面積:πrr
圓的周長:2πr

import java.util.Scanner;//自動導包

//求圓面積
public class Test2_Area {
    
    public static void main(String[] args) {
        //1、定義變量記錄半徑
//           double r = 10.1;//寫死了
        
        //動態接收鍵盤輸入的值
        double r = new Scanner(System.in).nextDouble();
        
        //2、帶入公式算結果
        double result = 3.14*r*r;
        
        //動態拼接字符串:+
        System.out.println("圓的面積是"+result);
        
    }
    
}

1.4 練習3:變量交換

接收用戶輸入的值a和b。
假設a=1,b=2將a和b的值做交換。

package cn.qile.basic;

import java.util.Scanner;

//測試變量交換
public class Test3_Exchange {

    public static void main(String[] args) {
        //1、接收鍵盤輸入的兩個整數a和b
        System.out.print("a = ");
        int a = new Scanner(System.in).nextInt();
        System.out.print("b = ");
        int b = new Scanner(System.in).nextInt();

        //2、交換
        int c = a ;//定義c,記錄a的值
        a = b ;//b的值給a
        b = c ;//把c的值給b

        //3、打印a和b的值
        System.out.println("a = "+a);
        System.out.println("b = "+b);

    }
}

2、基礎類型的字面值

2.1 整數字面值是int類型

int a = 999999999999999; //超出了int的取值範圍

2.2 byte、short、char 三種比int小的整數可以用範圍內的值直接賦值

byte b = 127;//可以的,因爲127在byte的取值範圍內
byte b2 = 128; //錯誤,因爲128的字面值是int類型,是4字節,byte是1字節,放不開

2.3 浮點數的字面值是double類型

double b = 1.5;

2.4 字面值的後綴LFD

long a = 999999999999L;// 999999999999字面值是int類型,但是超出int取值範圍就報錯了,只能擴大數據範圍,加後綴L,從int轉成long
float b = 3.0F;//3.0字面值是double類型,加後綴L,從double轉成float
double d = 3D;//3字面值是int類型,加後綴D,從int轉成double

2.5進制前綴

0b    -2進制   如: 0b0010
0     -8進制   如:076
0x    -16進制  如: 0x0986
\u    -char類型,16進制  如: \u0000

3、基礎類型的類型轉換

3.1 小轉大/隱式轉換

3.2 大轉小/顯示轉換

需要強制類型轉換

package cn.qile.basic;

public class Test {
    
    public static void main(String[] args) {
        //小轉大--隱式轉換
        short a = 10;
//小轉大,右側的a是小類型,左側b是大類型,詳單與拿着小類型給大類型,可以直接賦值
        long b = a;
        
        //大轉小--顯式轉換--強制轉換--(小類型)
        double m = 10.8;
        //右側m是大類型,左側n是小類型,拿着大類型直接給小類型賦值--不行
        int n = (int)m;
        
    }
}

3.3 浮點數轉成整數,小數直接捨棄

不管0.1還是0.9全都捨棄。

4、運算規則

4.1 計算結果的數據類型,最大類型一致

System.out.println(3/2);//1

4.2 byte,short,char三種比int小的整數,運算時會先自動轉換成int

byte a = 1;
byte b = 2;
//byte c = a+b;
//錯誤,因爲a+b運算時自動變成int類型,大類型,給小類型byte類型賦值,---不能直接賦值--強轉
byte c = (byte)(a+b);

4.3 整數運算符溢出

整數運算,類似於一個鐘錶,轉到最大時,再轉會回到最小。

計算:光速運行一年的長度是多少米。3億m/s
System.out.println(300000000L*60*60*24*365);
//整數運算溢出解決方案:超出int範圍的整數運算會溢出,可以擴大數據範圍,加L,變成long類型

4.4 浮點數運算不精確

System.out.println(1-0.8);
//0.19999999999999996

4.5 浮點數的特殊值

Infinity 無窮大  3.14/0
NaN  not a number   0/0.0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章