亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【Java】第三章 變量

Keven / 1867人閱讀

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

1 什么是變量

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

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

int year = 1949;

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

year是一個標(biāo)識符

=是賦值操作符

1949 是一個數(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類型的變量賦予超出其范圍的值,就會產(chǎn)生編譯錯誤*/
        byte b2 = 200;
    }
}
(2) 字符型

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

其長度和short一樣,也是16位的

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

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

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

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

public class HelloWorld{
    public static void main(String[] args){
        double d = 123.45;
        //該行會出現(xiàn)編譯錯誤,因為54.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 進行賦值
        boolean b3 = 1;
    }
}
(5) String類型

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

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

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

當(dāng)以L結(jié)尾的時候,一個整數(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進制
        int oxVal = 032; //8進制
        int binVal = 0b11010; //2進制
        System.out.println(oxVal);
    }
}
(2) 浮點數(shù)字面值

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

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

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

字符的字面值放在單引號中

字符串的字面值放在雙引號中

表示轉(zhuǎ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 = """; //雙引號
        char singleQuote = """; //單引號
        char backslash = ""; //反斜杠
         
    }
}
4 類型轉(zhuǎn)換 (1) 轉(zhuǎn)換規(guī)則

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

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

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

大杯子往小杯子里倒東西,有的時候放的下,有的時候就會有溢出

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

        char c = "A";
        short s = 80;
         
        //雖然short和char都是16位的,長度是一樣的
        //但是彼此之間,依然需要進行強制轉(zhuǎn)換
        c = (char) s;
        //直接進行轉(zhuǎn)換,會出現(xiàn)編譯錯誤
        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比較小,要放進比較大的long,隨便怎么樣,都放的進去
        l = i;
    }
}
(3) 高精度向低精度轉(zhuǎn)換

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

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

有的時候不可以轉(zhuǎn)換 比如 b= i2 (i2=300) 因為放不下了

強制轉(zhuǎn)換的意思就是,轉(zhuǎn)是可以轉(zhuǎn)的,但是不對轉(zhuǎn)換之后的值負責(zé)

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

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

變量第一個字符 只能使用 字母 $ _

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

_ 是下劃線,不是-減號或者—— 破折號

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

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

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

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

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

比如變量i,就是一個屬性

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

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ù)

如果一個變量,是聲明在一個方法上的,就叫做參數(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,因為其作用域到第10行就結(jié)束了
    }
 
}
7 final

當(dāng)一個變量被final修飾的時候,該變量只有一次賦值的機會

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

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

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

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

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

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/67726.html

相關(guān)文章

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

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

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

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

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

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

    zhangrxiang 評論0 收藏0
  • 插入排序就這么簡單

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

    Forest10 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<