国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Java】第三章 變量

Keven / 1822人閱讀

摘要:什么是變量用來命名一個(gè)數(shù)據(jù)的標(biāo)示符這個(gè)標(biāo)識(shí)符就是一個(gè)變量,它代表這個(gè)值是數(shù)據(jù)類型,表示是整數(shù)是一個(gè)標(biāo)識(shí)符是賦值操作符是一個(gè)數(shù)字類型的值表示該行結(jié)束基本變量類型整型如果試圖給類型的變量賦予超出其范圍的值,就會(huì)產(chǎn)生編譯錯(cuò)誤字符型類型用于存放一個(gè)

1 什么是變量

用來命名一個(gè)數(shù)據(jù)的標(biāo)示符

year這個(gè)標(biāo)識(shí)符就是一個(gè)變量,它代表1949這個(gè)值

int year = 1949;

int是數(shù)據(jù)類型,表示是整數(shù)

year是一個(gè)標(biāo)識(shí)符

=是賦值操作符

1949 是一個(gè)數(shù)字類型的值

;表示該行結(jié)束

2 基本變量類型 (1) 整型

public class HelloWorld{
    public static void main(String[] args){
        byte b = 1;
        short s = 200;
        int i = 300;
        long l = 400;
        /*如果試圖給byte類型的變量賦予超出其范圍的值,就會(huì)產(chǎn)生編譯錯(cuò)誤*/
        byte b2 = 200;
    }
}
(2) 字符型

char類型用于存放一個(gè)字符,值用單引號(hào)"表示 (雙引號(hào)表示字符串)

其長(zhǎng)度和short一樣,也是16位的

只能存放一個(gè)字符,超過一個(gè)字符就會(huì)產(chǎn)生編譯錯(cuò)誤

public class HelloWorld{
    public static void main(String[] args){
        char c = "中";
        //char 只能存放一個(gè)字符,超過一個(gè)字符就會(huì)產(chǎn)生編譯錯(cuò)誤
        char c2 = "中國(guó)"; //報(bào)錯(cuò)
        char c3 = "ab"; //報(bào)錯(cuò)
    }
}
(3) 浮點(diǎn)型

默認(rèn)的小數(shù)值是double類型的
所以float f=54.321會(huì)出現(xiàn)編譯錯(cuò)誤,因?yàn)?4.321的默認(rèn)類型是double,其類型長(zhǎng)度為64,超過了float的長(zhǎng)度32

在數(shù)字后面加一個(gè)字母f,直接把該數(shù)字聲明成float類型,float f2 = 54.321f,這樣就不會(huì)出錯(cuò)了

public class HelloWorld{
    public static void main(String[] args){
        double d = 123.45;
        //該行會(huì)出現(xiàn)編譯錯(cuò)誤,因?yàn)?4.321是double型的
        float f = 54.321;
        float f2 = 54.321f;
    }
}
(4) 布爾型

public class HelloWorld {
    public static void main(String[] args) {
        boolean b1 = true;
        boolean b2 = false;
        // 雖然布爾型真正存放的數(shù)據(jù)是0(false) 1(true)
        // 但是,不能直接使用0 1 進(jìn)行賦值
        boolean b3 = 1;
    }
}
(5) String類型

String類型其實(shí)并不是基本類型,但是它是如此廣泛的被使用,常常被誤以為是一種基本類型

String類型是Immutable,一旦創(chuàng)建就不能夠被改變

3 字面值 (1) 整數(shù)字面值

當(dāng)以L結(jié)尾的時(shí)候,一個(gè)整數(shù)字面值是long類型,否則就是int類型

byte,short,int和long的值都可以通過int類型的字面值來創(chuàng)建

public class HelloWorld {
    public static void main(String[] args) {
        long val = 26L; //以L結(jié)尾的字面值表示long型
        int decVal = 26; //默認(rèn)就是int型
        int hexVal = 0x1a; //16進(jìn)制
        int oxVal = 032; //8進(jìn)制
        int binVal = 0b11010; //2進(jìn)制
        System.out.println(oxVal);
    }
}
(2) 浮點(diǎn)數(shù)字面值

當(dāng)以F結(jié)尾的時(shí)候,就表示一個(gè)float類型的浮點(diǎn)數(shù),否則就是double類型

浮點(diǎn)數(shù)還可以用E或者e表示(科學(xué)計(jì)數(shù)法)
e2表示10的二次方,即100,1.234e2 = 1.234x100

(3) 字符和字符串字面值

字符的字面值放在單引號(hào)中

字符串的字面值放在雙引號(hào)中

表示轉(zhuǎn)義,比如需要表示制表符,回車換行,雙引號(hào)等就需要用 " 的方式進(jìn)行

public class HelloWorld {
    public static void main(String[] args) {
        String name = "蓋倫";
        char a= "c";
 
        //以下是轉(zhuǎn)義字符
        char tab = "	"; //制表符
        char carriageReturn = "
"; //回車
        char newLine = "
"; //換行
        char doubleQuote = """; //雙引號(hào)
        char singleQuote = """; //單引號(hào)
        char backslash = ""; //反斜杠
         
    }
}
4 類型轉(zhuǎn)換 (1) 轉(zhuǎn)換規(guī)則

精度高的數(shù)據(jù)類型就像容量大的杯子,可以放更大的數(shù)據(jù)

精度低的數(shù)據(jù)類型就像容量小的杯子,只能放更小的數(shù)據(jù)

小杯子往大杯子里倒東西,大杯子怎么都放得下

大杯子往小杯子里倒東西,有的時(shí)候放的下,有的時(shí)候就會(huì)有溢出

public class HelloWorld {
    public static void main(String[] args) {

        char c = "A";
        short s = 80;
         
        //雖然short和char都是16位的,長(zhǎng)度是一樣的
        //但是彼此之間,依然需要進(jìn)行強(qiáng)制轉(zhuǎn)換
        c = (char) s;
        //直接進(jìn)行轉(zhuǎn)換,會(huì)出現(xiàn)編譯錯(cuò)誤
        s = c;
         
    }
}
(2) 低精度向高精度轉(zhuǎn)換

把i的值賦給l,首先l和i彼此的類型是不一樣的,那么能否轉(zhuǎn)換就取決于彼此的精度

L的精度,比i的精度要高

低精度向高精度轉(zhuǎn)換,正常

public class HelloWorld {
  
    public static void main(String[] args) {
  
        long l = 50;
        int i = 50;
        //int比較小,要放進(jìn)比較大的long,隨便怎么樣,都放的進(jìn)去
        l = i;
    }
}
(3) 高精度向低精度轉(zhuǎn)換

把int類型的數(shù)據(jù)轉(zhuǎn)成為byte類型的數(shù)據(jù),是有風(fēng)險(xiǎn)的

有的時(shí)候是可以轉(zhuǎn)換的,比如 b = i1 (i1=10);

有的時(shí)候不可以轉(zhuǎn)換 比如 b= i2 (i2=300) 因?yàn)榉挪幌铝?/p>

強(qiáng)制轉(zhuǎn)換的意思就是,轉(zhuǎn)是可以轉(zhuǎn)的,但是不對(duì)轉(zhuǎn)換之后的值負(fù)責(zé)

public class HelloWorld {
  
    public static void main(String[] args) {
  
        byte b = 5;
        int i1 = 10;
        int i2 = 300;
          
        b = (byte) i1;
        //因?yàn)閕1的值是在byte范圍之內(nèi),所以即便進(jìn)行強(qiáng)制轉(zhuǎn)換
        //最后得到的值,也是10
        System.out.println(b);
          
        //因?yàn)閕2的值是在byte范圍之外,所以就會(huì)按照byte的長(zhǎng)度進(jìn)行截取
        //i2的值是300,其對(duì)應(yīng)的二進(jìn)制數(shù)是 100101100
        //按照byte的長(zhǎng)度8位進(jìn)行截取后,其值為 00101100 即44
        b =(byte) i2;
        System.out.println(b);
         
        //查看一個(gè)整數(shù)對(duì)應(yīng)的二進(jìn)制的方法:
        System.out.println(Integer.toBinaryString(i2));
         
    }
}
5 命名規(guī)則 (1) 命名規(guī)則

變量命名只能使用字母 數(shù)字 $ _

變量第一個(gè)字符 只能使用 字母 $ _

變量第一個(gè)字符 不能使用數(shù)字

_ 是下劃線,不是-減號(hào)或者—— 破折號(hào)

(2) 使用完整的單詞命名,而非縮寫

在命名的時(shí)候,盡量使用完整的單詞進(jìn)行命名,比如name,moveSpeed,而不是使用縮寫 n,m

(3) 關(guān)鍵字列表

(4) 不能只使用關(guān)鍵字,但是可以包含關(guān)鍵字 (5) 中文也是可以用來命名變量的 6 作用域 (1) 字段,屬性,F(xiàn)ield

當(dāng)一個(gè)變量被聲明在類下面,變量就叫做字段者屬性成員變量Field

比如變量i,就是一個(gè)屬性

從變量聲明的位置開始,整個(gè)類都可以訪問得到,所以其作用域就是從其聲明的位置開始的整個(gè)類

public class HelloWorld {
    int i = 1;
    int j = i;  //其他的屬性可以訪問i
    public void method1(){
        System.out.println(i); //方法1里可以訪問i
    }
    public void method2(){
        System.out.println(i); //方法2里可以訪問i
    }
}
(2) 參數(shù)

如果一個(gè)變量,是聲明在一個(gè)方法上的,就叫做參數(shù)

參數(shù)的作用域即為該方法內(nèi)的所有代碼

其他方法不能訪問該參數(shù)

里面也不能訪問該參數(shù)

public class HelloWorld {
 
    public void method1(int i){ //參數(shù)i的作用域即方法method1
        System.out.println(i);
    }
    public void method2(){ 
        System.out.println(i); //method2 不能訪問參數(shù)i
    }
    int j = i;  //類里面也不能訪問參數(shù)i
}
(3) 局部變量

聲明在方法內(nèi)的變量,叫做局部變量

作用域在聲明開始的位置,到其所處于的塊結(jié)束位置

public class HelloWorld {
 
    public void method1() {
        int i  = 5;  //其作用范圍是從聲明的第4行,到其所處于的塊結(jié)束12行位置
        System.out.println(i);
        {            //子塊
            System.out.println(i); //可以訪問i
            int j = 6;
            System.out.println(j); //可以訪問j
        }
        System.out.println(j); //不能訪問j,因?yàn)槠渥饔糜虻降?0行就結(jié)束了
    }
 
}
7 final

當(dāng)一個(gè)變量被final修飾的時(shí)候,該變量只有一次賦值的機(jī)會(huì)

(1) 在聲明的時(shí)候賦值
public class HelloWorld {
 
    public void method1() {
        final int i = 5;
        i = 10; //i在第4行已經(jīng)被賦值過了,所以這里會(huì)出現(xiàn)編譯錯(cuò)誤
    }

}
(2) 在聲明的時(shí)候沒有賦值
public class HelloWorld {
 
    public void method1() {
        final int i;
        i = 10; //i在第4行,只是被聲明,但是沒有被賦值,所以在這里可以進(jìn)行第一次賦值
        i = 11; //i在第6行已經(jīng)被賦值過了,所以這里會(huì)出現(xiàn)編譯錯(cuò)誤
    }
}
(3) final 修飾其他

final 除了修飾變量,還可以修飾類,修飾方法

8 表達(dá)式 (1) 以;結(jié)尾的一段代碼,即為一個(gè)表達(dá)式

表達(dá)式是由變量、操作符以及方法調(diào)用所構(gòu)成的結(jié)構(gòu)

public class HelloWorld {
    public static void main(String[] args) {
        //每一句話都是一個(gè)表達(dá)式
        int i = 5;  
        System.out.println(5);
    }
}
(2) ;
public class HelloWorld {
    public static void main(String[] args) {
        //一個(gè)空;也是一個(gè)表達(dá)式
        ;
        ;
        ;       
        ;
    }
}
9 塊

從{開始到對(duì)應(yīng)的}結(jié)束,即一個(gè)塊

public class HelloWorld { //類對(duì)應(yīng)的塊
    public static void main(String[] args) { //主方法對(duì)應(yīng)的塊
        System.out.println("abc");
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/67726.html

相關(guān)文章

  • Java8實(shí)戰(zhàn)》-三章讀書筆記(Lambda表達(dá)式-02)

    摘要:上下文比如,接受它傳遞的方法的參數(shù),或者接受它的值得局部變量中表達(dá)式需要類型稱為目標(biāo)類型。但局部變量必須顯示的聲明,或?qū)嶋H上就算。換句話說,表達(dá)式只能捕獲指派給它們的局部變量一次。注捕獲實(shí)例變量可以被看作捕獲最終局部變量。 由于第三章的內(nèi)容比較多,而且為了讓大家更好的了解Lambda表達(dá)式的使用,也寫了一些相關(guān)的實(shí)例,可以在Github或者碼云上拉取讀書筆記的代碼進(jìn)行參考。 類型檢查、...

    iflove 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java第三天,選擇結(jié)構(gòu)

    摘要:選擇結(jié)構(gòu)變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z言提供的公用包上一節(jié)介紹了的算術(shù)運(yùn)算,如加減乘除等,的運(yùn)算規(guī)則跟四則運(yùn)算一樣。 選擇結(jié)構(gòu) 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) = 60) { System.out.println(You have passed the exam...

    Java_oldboy 評(píng)論0 收藏0
  • 《Head First Java》的思考總結(jié):第三

    摘要:一旦線程執(zhí)行線程會(huì)進(jìn)入可執(zhí)行狀態(tài),它會(huì)在可執(zhí)行與執(zhí)行中兩種狀態(tài)中來來去去,同時(shí)也有另外一種狀態(tài)暫時(shí)不可執(zhí)行又稱為被堵塞狀態(tài)。當(dāng)對(duì)象有一個(gè)或多個(gè)同步化的方法時(shí),線程只有在取得對(duì)象鎖的鑰匙時(shí)才能進(jìn)入同步化的方法。 前言: 今天要分享的是關(guān)于 《Head First Java》這本書的讀后感,這本書有點(diǎn)小厚差不多有七百頁左右,所以我花了幾乎整個(gè)國(guó)慶的時(shí)間去閱讀,學(xué)習(xí)。讀完之后發(fā)現(xiàn),受益頗多。...

    zhangrxiang 評(píng)論0 收藏0
  • 插入排序就這么簡(jiǎn)單

    摘要:插入排序就這么簡(jiǎn)單從上面已經(jīng)講解了冒泡和選擇排序了,本章主要講解的是插入排序,希望大家看完能夠理解并手寫出插入排序的代碼,然后就通過面試了如果我寫得有錯(cuò)誤的地方也請(qǐng)大家在評(píng)論下指出。 插入排序就這么簡(jiǎn)單 從上面已經(jīng)講解了冒泡和選擇排序了,本章主要講解的是插入排序,希望大家看完能夠理解并手寫出插入排序的代碼,然后就通過面試了!如果我寫得有錯(cuò)誤的地方也請(qǐng)大家在評(píng)論下指出。 插入排序介紹 來...

    Forest10 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<