【116天】尚學堂高琪Java300集視頻精華筆記(9-12)

第9集:char、字符串入門、boolean

char、字符串入門

  1. 單引號用來表示字符常量。例如‘A’是一個字符,它與「A」是不一樣的,「A」表示含有一個字符的字符串。程序員

  2. char 類型用來表示在Unicode編碼表中的字符。測試

  3. Unicode編碼被設計用來處理各類語言的全部文字,它佔2個字節,可容許有65536個字符;ASCII碼佔1個字節,可容許有128個字符,是Unicode編碼表中前128個字符。編碼

    char eChar = 'a'; 
    char cChar ='中'; 
  4. Unicode具備從0到65535之間的編碼,他們一般用從’u0000’到’uFFFF’之間的十六進制值來表示(前綴爲u表示Unicode)spa

    char c = '\u0061';
  5. Java 語言中還容許使用轉義字符 ‘’ 來將其後的字符轉變爲其它的含義。設計

    char c2 = '\n';  //表明換行符 

boolean

if ( is == true && done == false ) 只有新手才那麼寫。
對於任何程序員if ( whether && !done )都不難理解吧。因此去掉全部的==fasle 和 ==truecode

package test009;

public class test009 {
    public static void main(String[] args){
        /*
        char c1 = 'a';
        char c3 = '是';
        char c2 = '\n';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        */
        
        char c4 = 'a';
        int i = c4 + 2;
        char c5 = (char)i;
        System.out.println(c5);
        
        
        for(int j=0;j<26;j++){
            char temp = (char)(c4+j);
            System.out.println(temp);
        }
        
        String str = "abcdefghijklmnopqrstuvwxyz";
        System.out.println(str);
        
        boolean b = false;
        if(b){
            System.out.print("true");
        }else{
            System.out.println("false");
        }    
    }
}

第10集:基本數據類型自動轉換、強制轉型、類型提高問題

基本數據類型自動轉換

  1. 通常規律:表數範圍小的數據類型可自動轉換爲表數範圍大的數據類型。對象

  2. 記住下圖便可
    生命週期

int能夠自動轉換成float,爲啥?主要由於能不能轉換看的是表數範圍,而不是看佔用存儲空間多少字節(int存儲空間8字節、float存儲空間4字節)。ci

  1. 特例:整型常量可直接賦值給byte、short、char等類型變量,不須要進行強制類型轉換,只要不超過其表數範圍便可。作用域

    //注意1:
    int i = 100;
    char a = 100;//正確,這是將整型常量賦值給a
    char a = i;//錯誤,這是將整型變量賦值給a
    char a = (char)i;//正確,這是將整型變量強制類型轉換。
    
    //注意2:
    short b = 12;//OK
    short b = 12345678;//NO

強制轉型

  1. 強制類型轉換,又被稱爲造型,用於顯式的轉換一個數值的類型. 在有可能丟失信息的狀況下進行的轉換是經過造型來完成的,但可能形成精度下降或溢出。

  2. 當將一種類型強制轉換成另外一種類型,而又超出了目標類型的表示範圍,就會被截斷成爲一個徹底不一樣的值。

  3. 強制類型轉換的語法格式:「(type)var」,運算符「()」中的type表示將值var想要轉換成的目標數據類型。

    double x = 3.14;
    int nx = (int)x;//值爲3
    char c = 'a';
    int d = c+1;
    System.out.println(d);
    System.out.println((char)d);

類型提高問題

  1. 全部二元運算符都有類型提高問題(+-*/%)

  2. 提高方向爲更大的容器。

    int a=3;
    long b=4;//則a+b以後將變成long。
  3. int a=20億;int b=10;這時候long c = long(a*b)沒用,a*b結果出來的時候已是int型了,應該是long c = (long)a*b,這樣的寫法是先將a變成long,再提高a*b結果的類型爲long。

  4. 在結果溢出前提高類型,等計算出來就晚了

    byte a=10
    byte b=10
    byte c=10
    byte d=10
    short e = 10*10*10*10s與
    short e = 10s*10*10*10結果不一樣
    前者還沒提高類型就已經溢出,後者先提高類型再溢出。
    
    //下面是本集代碼
    
    package test010;
    
    public class test010 {
        public static void main(String[] args){
            /*
            byte b = 123;
            //byte b2 = 300;//超過表數範圍
            //char c = -3;//超過表數範圍
            char c2 = 'a';
            int i = c2;
            long d01 = 123213;
            float f = d01;
            */
            
            //測試強制轉換
            int i2 = -100;
            char c3 = (char)i2;
            System.out.println(c3);//超過表數範圍,因此轉換爲徹底不一樣的值,無心義的值
            
            //類型提高問題
            int a = 3;
            long b = 4;
            double d = 5.3;
            int c = (int)(a+b);
            float f = (float)(a+d);
            
            int money = 1000000000;
            int years = 20;
            //long total = money*years;//返回負數
            long total = (long)money*years;
            System.out.println(total);
            
        }
    }

第11集:【補充】JDK7特性:二進制整數/下劃線分隔符

二進制整數

JDK7提供了二進制整數的類型,只要以0b開頭便可。int a = 0b0101;

下劃線分隔符

針對特別長的數字,讀懂它使人頭疼,這時候用下劃線分割數字,可增長代碼可讀性。long a = 2222_2222_2222;

package test011;

public class test011 {
    public static void main(String[] args){
        int a = 0b0000_0000_0000_0000;
        int b = 1_2312_3131;
        System.out.println(a);
        System.out.println(b);
    }
}

第12集:變量、成員變量、局部變量、常量的命名規範

變量(variable)

  1. 咱們經過變量來操縱存儲空間中的數據,變量就是指代這個存儲空間!空間位置是肯定的,可是裏面放置什麼值不肯定! 

  2. Java是一種強類型語言,每一個變量都必須聲明其類型。

  3. 類型能夠是8種基本類型,也能夠是引用類型。

  4. 變量名必須是合法的標識符。

  5. 變量聲明是一條完整的語句,所以每個聲明必須以分號結束。

  6. Java變量是程序中最基本的存儲單元,其要素包括變量名,變量類型和做用域。

  7. 變量在使用前必須對其聲明, 只有在變量聲明之後,才能爲其分配相應長度的存儲單元,聲明格式爲:

    type  varName  [=value] [{,varName[=value]}] ;
    //[]表明可選
  8. 變量可劃分爲局部變量、實例變量(成員變量member variable)、靜態變量(類變量static variable)

    1. 局部變量(local  variable):方法或語句塊內部定義的變量。生命週期是從聲明位置開始到」}」爲止。在使用前必須先聲明和初始化(賦初值)。

      public void incorrectLocalVariable(){
          int i;
          i = 10;
          int j = i+5;//編譯報錯,變量i還未被初始化
      }
    2. 實例變量():方法外部、類的內部定義的變量。從屬於對象,生命週期伴隨對象始終。若是不自行初始化,他會自動初始化成該類型的默認初始值(數值型變量初始化成0或0.0,字符型變量的初始化值是16位的0,布爾型默認是false)

    3.  靜態變量(類變量 static variable):使用static定義。 從屬於類,生命週期伴隨類始終,從類加載到卸載。若是不自行初始化,他會自動初始化成該類型的默認初始值(數值型變量初始化成0或0.0,字符型變量的初始化值是16位的0,布爾型默認是false)

變量命名規則(規範)

  1. 全部變量、方法、類名:見名知意

  2. 類成員變量:首字母小寫和駝峯原則  :  monthSalary

  3. 局部變量:首字母小寫和駝峯原則

  4. 常量:大寫字母和下劃線:MAX_VALUE

  5. 類名:首字母大寫和駝峯原則:  Man, GoodMan

  6. 方法名:首字母小寫和駝峯原則: run(), runRun()

package test012;

public class test012_1 {
    public static void main(String[] args){
        boolean flag = true;
        char c1,c2;
        c1 = '\u0041';
        c2 = 'B';
        int x;
        x = 9;
        int y = x;
        float f = 3.15f;
        double d = 3.1415926;
    }
}

package test012;

public class test012_2 {
    public static void main(String[] args){
        final double PI = 3.14;
        //PI = 3.15; //error
        double r = 4;
        double area = PI * r * r;
        double circle = 2 * PI * r;
        System.out.println("area = " + area);
        System.out.println("circle = " + circle);
    }
}
相關文章
相關標籤/搜索