1. 程式人生 > >Java SE基礎部分--02.Java資料型別轉換、運算子、方法入門

Java SE基礎部分--02.Java資料型別轉換、運算子、方法入門

學習目標:

1、資料型別轉換、

2、算數運算子、

3、賦值運算子、

4、比較運算子、

5、邏輯運算子、

6、三元運算子、

7、方法定義和呼叫

一、資料型別轉換:

1、資料型別轉換分為:隱式型別轉換、強制型別轉換。

隱式轉換:是將容量小的型別自動轉成容量大的資料型別、

順序為:byte shortcharintlongfloatdouble

例:       // 定義一個byte型別的資料

byte b = 123;

          // 定義一個int型別的空間,然後將byte空間中的值賦值給int空間中

          int i = b;

          System.out.println(i);

強制轉換:可以將大的資料型別儲存到小的資料型別空間裡

轉換格式:需轉換的資料型別 變數名 = (需要轉成的資料型別)(被轉的資料);

例:Int a = 20;

Byte b = (byte)(a);

轉換原理:如下圖

2ASCII 編碼表:ASCII碼錶:它是採用一個位元組表示一個字元資料(標點符號,英文字母,其他的特殊符號,數字等)

張表中規定了生活中所有的字元和二進位制之間的對應關係

事例:

public static void main(String[] args) {   

    //字元型別變數賦值整型資料   

    char c = 97;   

    System.out.println(c);   //顯示a

    //整型型別遍歷賦值字元資料   

    int i = 'a';   

    System.out.println(i);  //顯示97

  }

、算數運算子:

例:

public static void main(String[] args) {

              // 定義兩個變數

              int a = 9;

              int b = 4;

              // 列印各類運算的運算結果

              System.out.println(a + b); //

顯示:13

              System.out.println(a - b); //顯示:5

              System.out.println(a * b); //顯示:36

              System.out.println(a / b); //顯示:2

              System.out.println(a % b); //顯示:1

/*

    演示java中的算數運算的規律:

      1、運算子號兩側的資料型別一致時,最終的運算結果依然是當前的資料型別。

      2、運算子號兩側的資料型別不一致時,最終的運算結果為較大的資料型別。

          */

              System.out.println( 4321 / 1000 * 1000 );// 4000

              System.out.println( 4321 / 1000.0 * 1000 );// 4321.0

}

前置++++a 先運算再賦值。

後置++a++先賦值在運算

變數a++ :變數a 先把值1 賦值給變數b,然後變數a 再加1。先使用,後計算

變數++c :變數c 先自己加1,然後將結果賦值給變數空間d。先計算,後使用

例:

public static void main(String[] args){

       // 定義變數,演示後置自增獨立運算結果

      int a = 10;

      a++;

      System.out.println(a); // 11 如果為--運算則結果為 9

      // 定義變數,演示後置自增獨立運算結果

      int b = 10;

      ++b;

      System.out.println(a); // 11 如果為--運算則結果為 9

}

重要:和其他運算子混合運算:

如果++或者--在變數的後置位置,先拿變數參與操作,然後變數 做++或者--運算;

如果++或者--在變數的前置位置,變數先做++或者--運算,然後拿變數參與操作;

變數a++ :變數a先把值1賦值給變數b,然後變數a再加1。先使用,後計算

變數++c :變數c先自己加1,然後將結果賦值給變數空間d。先計算,後使用

例:

public static void main(String[] args) {

    int a = 1;

    int b = a++;

    System.out.println(a);//計算結果是2

    System.out.println(b);//計算結果是1

       int c = 1;

       int d = ++c;

       System.out.println(c);//計算結果是2

    System.out.println(d);//計算結果是2

       // 先口算i 和 y的結果,然後執行程式看結果是否和自己計算的一致。

       int i = 5;

       int y = (i++)+(i++)+(++i)+(++i)+(i++);

         //     5     6    8    9    9

       System.out.println(i);//10

       System.out.println(y);//37

}

+ 符號在字串中的操作:

+ 符號在遇到字串的時候,表示連線、拼接的含義。字串資料可以和任何的資料型別進行拼接的運算。拼接完成後會產生一個新的更長的字串。

"a"+"b"的結果是“ab”,連線含義,表示將兩個字串連線到一起成為一個新的字串。

例:

public static void main(String[] args){

      System.out.println("5+5="+5+5);//輸出5+5=55

      System.out.println("abc" + 123);// 輸出abc123

}

、賦值運算子:

“=”賦值運算子,就是將符號右邊的值,賦給左邊的變數。

“==” 這個是判斷二個值是否相等、注意區分。

類似“+=” 運算子自帶轉換

例:

public static void main(String[] args) { // 演示普通賦值運算         int x = 5; // 將=號右側的資料5賦值給=號左側的x變數空間中         System.out.println("x=" + x); // 結果為5         int y = 5 + 5; // 將=號右側表示式的運算結果賦值給=號左側的y變數空間中。         System.out.println("y=" + y);         // 演示混合賦值運算         int a = 5;         a += 5; // 相等於 a = a + 5;         System.out.println("a=" + a);// 拼接列印資料 a的結果為10     /*         因為加或乘兩種運算方式不管是左側和右側還是右側和左側運算,最終都不會改變運算的結果。因此               上述程式碼並不能完成驗證出混合運算的結論是否正確,我們使用減或除法運算再次驗證一次   */         int b = 10;         b -= 5; // 相等於 b = b - 5;         System.out.println("b=" + b);// 拼接列印結果為5。驗證出混合賦值運算的運算規律。         // 驗證混合運算中的強制型別轉換         byte by = 5;         // by = by + 5; // 程式報錯,因為運算結果為int型別,不能賦值給byte型別         by += 5; // by = (byte)(by + 5); 因為混合運算有強制型別轉換,所以OK         System.out.println("by = " + by);         }

、比較運算子:

比較運算就是指數學中的資料的大小關係比較。比較的結果只能是true 或 `false`

例:

public static void main(String[] args) {

      // 定義變數,驗證比較運算的運算規律

      int a = 3;

      int b = 5;

    System.out.println( a > b );// false

    System.out.println( a < b );// true

    System.out.println( a = b );// 5 =號表示的賦值,不是比較運算

    System.out.println( a >= b );// true

    System.out.println( a <= b );// true

    System.out.println( a != b );// false

      System.out.println( a == b );// true ==號表示比較運算

}

、邏輯運算子:

邏輯運算子,也叫做布林運算。是用來連線兩個布林型別結果的運算子,邏輯運算的結果並不表示數值大小,運算結果都是布林值true或者false。也就是數學中的 || && ! 運算。

、三元運算子:

三元遠算符格式:資料型別 變數名 = 布林型別表示式 ? 結果1 : 結果2;

三元運算子計算方式:

布林型別表示式結果為true時,將結果1賦值給變數。

布林型別表示式結果為false時,將結果2賦值給變數。

例:

public static void main(String[] args) { // 定義兩個變數。使用三元運算求出兩個數值中較大的值         int a = 3;         int b = 5;         int max = a > b ? a : b;  // 使用三元運算求出較大的值         System.out.println("max = " + max ); // 輸出列印較大的值5         // 思考,如何使用三元運算求出3個數中較大的值         int c = 7; // 提供第三個變數         //先比較出兩個數中較大的,然後和第三個數進行比較         int max1 = max > c ? max : c;         System.out.println("max1 = " + max1 );// 輸出列印較大的值7         // 另外一種方式,不建議使用         int max2 = ( a > b ? a : b ) > c ? ( a > b ? a : b ) : c;         System.out.println("max2 = " + max2);// 輸出列印較大的值7         }

、方法的建立與呼叫:

方法定義:也叫函式、指的是一個獨立封裝起來能夠獨立執行並且某些功能的程式碼。定義在

類內main 外。和main 平級。

方法的好處:提高程式碼複用性、提高開發效率、後期維護升級方便

定義格式:

方法修飾符  方法返回值型別  方法名(引數列表){

方法體程式碼;

return 返回值;

}

方法的呼叫:方法定義完後、在主方法main 呼叫:方法名();

return 返回值是方法的返回值。 return;結束方法、return 後面不能直接書寫其他程式碼。

注:後面會學到方法的過載(同一個類、同名不同參)和方法的重寫(繼承類、同名同參同返回值、重寫方法體)<瞭解>

例:

public static void main(String[] args) {

      // 定義兩個變數,用來比較大小關係

      int a = 3;

      int b = 5;

    //呼叫定義的方法 , 並將資料傳遞給方法

    getMax( a , b );

}

//定義方法,使用三元運算求出兩個資料中較大的一個

public static int getMax( int a , int b ) {

  // 使用三元運算求出兩個資料中較大的一個

  int max = a > b ? a : b;

  // 將求出的較大的資料返回給呼叫者

  return max;

}