日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Java教程基礎(chǔ)——變量

 印度阿三17 2019-07-12

變量

變量(variable)可以理解為一個(gè)“有名稱的容器”,用于裝各種不同類型的數(shù)據(jù)。編程人員通過(guò)對(duì)變量的訪問(wèn)和修改,操作內(nèi)存中的數(shù)據(jù)。

對(duì)變量的理解:https://www.cnblogs.com/tigerlion/p/10665321.html

Java是一種強(qiáng)類型(strongly typed)的語(yǔ)言,在編譯時(shí)有嚴(yán)格的語(yǔ)法檢查,需要為變量指定類型。

基本類型 整 型 byte 1byte
(基本類型) (整型) short 2byte
(基本類型) (整型) int 4byte
(基本類型) (整型) long 8byte
(基本類型) 浮點(diǎn)型 float 4byte
(基本類型) (浮點(diǎn)型) double 8byte
(基本類型) 字符型 char -
(基本類型) 布爾型 boolean -
引用類型 數(shù) 組 - -
(引用類型) 接 口 - -
(引用類型) - -

byte類型的范圍是-128~127,即-2^7~2^7-1
char類型相當(dāng)于無(wú)符號(hào)整數(shù)類型,一般認(rèn)為是2字節(jié)(Unicode),但此說(shuō)法有爭(zhēng)議。
字符串不是基本類型,字符串是類,屬于引用類型。
引用類型變量就是指針,只是Java不使用指針的說(shuō)法。

標(biāo)識(shí)符

用于程序變量、類、方法命名的符號(hào)。

|-包括字母、0-9、_、$(美元符號(hào))組成
|-字母包括A-Z、a-z、中文、日文等
|-數(shù)字不打頭
|-不能含有空格和特殊字符(@、#等)
|-不能和關(guān)鍵字重復(fù)

※關(guān)于?$符號(hào)作為變量名
int $n=1;

Java 8 VS2012(C#.Net Framework 4.5) Dev C (5.11@2015)
OK(有的Eclipse不支持) Err OK

命名規(guī)范

Java的命名一般遵循“駝峰標(biāo)識(shí)”:每個(gè)單詞首字母大寫(xiě),另外——
|-類:首字符大寫(xiě)
|-變量:首字母小寫(xiě)
|-方法:首字母小寫(xiě)
命名要求:見(jiàn)名知意

整型和字符型

public class Test整型 {
    public static void main(String[] args) {
        // -------------------------------------------------
        // ---進(jìn) 制-------------------------------------------
        // -------------------------------------------------
        int n2 = 0B10;// 0B二進(jìn)制(binary)(JAVA 7新增)
        System.out.println("n1="   n2);
        int n8 = 010;// 0八進(jìn)制(octal)
        System.out.println("n8="   n8);
        int n10 = 10;
        System.out.println("n10="   n10);
        int n16 = 0XF;// 0X十六進(jìn)制(hexadecimal)
        System.out.println("n16="   n16);
        // -------------------------------------------------
        // ---真正的長(zhǎng)整形,需要加L-------------------------------
        // -------------------------------------------------
        // 即使聲明long類型,系統(tǒng)也是轉(zhuǎn)換為int類型
        // int類型的最大值是2147483647,當(dāng)超過(guò)這個(gè)值時(shí),系統(tǒng)不會(huì)自動(dòng)轉(zhuǎn)換,編譯無(wú)法通過(guò)。
        // 需要在數(shù)字末尾加L,以示其為long類型
        long lo1 = 2147483648L;
        System.out.println("lo1="   lo1);
        // -------------------------------------------------
        long lo2 = 10_0000_0000L;// Java7開(kāi)始,數(shù)值可以加下劃線以看清位數(shù)
        System.out.println("lo2="   lo2);
        // -------------------------------------------------
        // ---字符類型-------------------------------------------
        // -------------------------------------------------
        char c1 = 97;// 可直接賦值A(chǔ)SCII碼對(duì)應(yīng)的數(shù)值
        System.out.println("c1 = "   c1);
        char c2 = '字';// 字符用單引號(hào),不分中英文
        System.out.println("c2 = "   c2);
        char c3 = '\'';// 單引號(hào)、雙引號(hào)、反斜線(\)等特殊符號(hào)前面加轉(zhuǎn)移符【\】
        System.out.println("c3 = "   c3);
    }
}

n1=2
n8=8
n10=10
n16=15
lo1=2147483648
lo2=1000000000
c1 = a
c2 = 字
c3 = '

浮點(diǎn)數(shù)

public class TestVar {
    public static void main(String[] args) {
        // ------------------------------------------------------------------
        double d1 = 100.1;// double是默認(rèn)浮點(diǎn)類型
        float f1 = 100.1F;// float就必須加F
        // ------------------------------------------------------------------
        double d2 = .123;// 整數(shù)位可以不寫(xiě)
        System.out.println(d2);
        double d3 = 321E2;// 科學(xué)計(jì)數(shù)法形式(只有浮點(diǎn)數(shù)可以使用)
        System.out.println(d3);
        // ------------------------------------------------------------------
        // 浮點(diǎn)數(shù)遵循IEEE 754標(biāo)準(zhǔn),并不能精確表示一個(gè)數(shù)
        double d4 = 19.9;
        System.out.println(d4 * 3);
        // 一般算錢的時(shí)候可以轉(zhuǎn)為整數(shù)再算,或者使用BigDecimal類型計(jì)算
        int n4 = (int) (d4 * 100);
        int calc = n4 * 3;
        double d5 = calc / 100;
        System.out.println(d5);
        // ------------------------------------------------------------------
        System.out.println("浮點(diǎn)數(shù)可以除0:"   10_0000.0 / 0);// Infinity:無(wú)窮大
        System.out.println("整數(shù)不行:"   10_0000 / 0);
    }
}

0.123
32100.0
59.699999999999996
59.0
浮點(diǎn)數(shù)可以除0:Infinity
Exception in thread "main" java.lang.ArithmeticException: / by zero
at TestVar.main(TestVar.java:22)


類型轉(zhuǎn)換

自動(dòng)轉(zhuǎn)換

轉(zhuǎn)換條件
|--類型兼容
|--目標(biāo)類型大于源類型

byte→ short→ int→ long→ float→ double
↑c(diǎn)har

下圖是合法的數(shù)據(jù)類型之間的轉(zhuǎn)換,
6個(gè)實(shí)心箭頭代表無(wú)損轉(zhuǎn)換,3個(gè)虛線代表有可能丟失精度

public class 自動(dòng)轉(zhuǎn)換 {
    public static void main(String[] args) {
        byte _byte = 1;
        char _char = 2;
        short _short = _byte;
        int _int = _short;
        _int = _char;
        long _long = _int;
        float _float = _long;
        double _double = _float;
    }
}

強(qiáng)制類型轉(zhuǎn)換:目標(biāo)類型加括號(hào),可能造成數(shù)據(jù)丟失,稱為“縮小轉(zhuǎn)換”。

        double d = 9.9;
        int n = (int)d;

編譯器自動(dòng)強(qiáng)轉(zhuǎn):

對(duì)于byte/short/char三種類型,如果等號(hào)右側(cè)數(shù)值沒(méi)有超過(guò)范圍,編譯器自動(dòng)補(bǔ)上(xxx)。
int及更長(zhǎng)的類型無(wú)需轉(zhuǎn)換,因?yàn)橛抑的J(rèn)是int型。

public class 編譯器優(yōu)化 {
    public static void main(String[] args) {
        System.out.println(" = "   System.getenv("JAVA_HOME"));
        byte b1 = 127;// 右側(cè)整數(shù)沒(méi)有超過(guò)左側(cè)類型范圍,編譯通過(guò)
        byte b2 = 128;// 超過(guò)范圍,編譯失?。篶annot convert from int to byte
        byte b3 = 128 - 1;// 編譯通過(guò)
        byte b4 = b1 - 1;// 如果變量參與計(jì)算,編譯器拒絕優(yōu)化:cannot convert from int to byte
    }
}
來(lái)源:https://www./content-1-321801.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多