Java基礎_04

 

1:基本類型的包裝類型的功能:

                1:表示引用

               2:工具類。

1:數據轉換-主要是將String類型轉成各類不一樣的基本類型或是引用類型。

基於類型,能夠強轉成基本類型。  java

引用類型能夠強轉成引用類型。    數組

可是:oracle

  交互轉換是不可行的,就是說反之不能夠。函數

 

Int轉換:工具

    String age ="45";//聲明一個String字符串類型的變量加密

        int age2 = Integer.parseInt(age);//String類型轉成int的基本類型spa

        Integer age3 =Integer.valueOf(age);//String類型轉成Integer的引用類型.net

Integer對象

不但能夠可將String 轉成 int,Integer還能夠在各類進制之間進行轉換:內存

二進制:

    @Test

    public void test1() {

        int a = 15;// 1111

        // 將它轉成二進制

        String bin = Integer.toBinaryString(a);

        System.err.println(bin);

        //轉成8進制

        String otc = Integer.toOctalString(a);

        System.err.println(otc);

        //轉成16進制

        String hex = Integer.toHexString(a);//f

        System.err.println(hex);

    }

Md5加密。

註冊:

   姓名:Jack

   密碼:1234   -   >   Jack  1234 – 數據  - 》  SHA RAS MD5

   <登陸>

    int a = 15;// 1111

        // 將它轉成二進制

        String bin = Integer.toBinaryString(a);

        System.err.println(bin);

        //轉成8進制

        String otc = Integer.toOctalString(a);

        System.err.println(otc);

        //轉成16進制

        String hex = Integer.toHexString(a);//f

        System.err.println(hex);

 

 

2:數據類型的默認值

1:變量的分類:

   按聲明的位置爲爲:

成員變量

局部變量。

 

package cn.oracle;

 

public class Demo02_Var {

    //在類裏面聲明的變量叫成員變量   //有默認值,使用前不必定要賦值

    String name;

   

    //在方法裏面聲明的變量叫局部變量  //沒有默認值,使用前必須賦值

    public void hi(){

        String name;

    }

}

 

2只有成員變量纔會有默認值,局部變量必需要賦值之後纔可使用

 

3:數據類型的默認值-只能是成員變量

類型

默認值

Byte,short,int,long

0

Float

0.0F

Double

0.0D

char

‘’

boolean

false

引用類型

null

 

package cn.oracle;

 

import org.junit.Test;

 

public class Demo02_Var {

    byte a1;

    char c1;//'' \??

    short s1;

    int a2;

    long a3;

    float f1;

    double d1;

    boolean boo;

//以上全爲成員變量,因此在沒有賦值的狀況下,是有默認值的。

    @Test

    public void test() {

        System.err.println(a1);// 0

        System.err.println(c1);//??

        System.err.println(s1);//0

        System.err.println(a2);//0

        System.err.println(a3);//0

        System.err.println(f1);//0.0

        System.err.println(d1);//0.0

        System.err.println(boo);//false

    }

}

 

package cn.oracle;

 

import org.junit.Test;

 

public class Demo02_Var {

    byte a1;

    char c1;// '' \??

    short s1;

    int a2;

    long a3;

    float f1;

    double d1;

    boolean boo;

 

    String name;

    int[] aa1;// 引用類型

    int[] aa2 = new int[1];// 聲明一個數組,實例化它即有地址了,裏面最多放一個數,即下標爲[0]

    Integer[] aa3 = new Integer[1];// 引用類型的數組類型

 

    boolean[] bs1 = new boolean[1];

    Boolean[] bs2 = new Boolean[1];

 

    @Test

    public void test() {

       

        System.err.println(bs1);//

        System.err.println(bs1[0]);//false

        System.err.println(bs2);//

        System.err.println(bs2[0]);//null

       

        System.err.println(a1);// 0

        System.err.println(c1);//

        System.err.println(s1);// 0

        System.err.println(a2);// 0

        System.err.println(a3);// 0

        System.err.println(f1);// 0.0

        System.err.println(d1);// 0.0

        System.err.println(boo);// false

        System.err.println(name);// null - > name變量沒有指向任意內存地址

        System.err.println(aa1);// null

        System.err.println(aa2);// 地址值[I@999999

        System.err.println(aa2[0]);// 查看這個數組的第一個值即下標爲0的值是 - >

                                    // 由於int[]裏面放的都是int基本類型它的默認值是0

        System.err.println(aa3);// 有內存[java.lang.Integer@9999

        System.err.println(aa3[0]);// null

    }

}

3: 視圖模式

4:成員變量的修飾符號 – static

靜態的修飾符號:

   在內存裏面只一份copy的對象-static

 

定義兩個成員變量在main方法中調用它們:

變量:

   1:根據聲明的位置

       成員變量

           根據是否添加Static關鍵字

                靜態的變量

                實例變量- 非靜態的變量。

       局部變量。

1:如下調用方式

package cn.oracle;

 

/**

 * 靜態的成員變量與非靜態的成員變量

 */

public class Demo03_StaticVar {

    /// 聲明一個靜態的的

    static String name = "Jack";

    // 聲明一個非靜態的實例的成員變量

    String addr = "山東濟南";

 

    // main必須是static

    public static void main(String[] args) {

        // 因爲main方法與name成員變量,具備相同的static修飾符號

        // 因此,在main方法中,能夠直接訪問name變量

        System.err.println(name);

        //因爲main方法是靜態的,在靜態的方法裏面,不能直接訪問非靜態的任意內容

        //System.err.println(addr);//不能夠直接訪問

        //若是要訪問一個非靜態的實例的成員變量,則必需要先實例化當前包含成員變量的類

        Demo03_StaticVar demo03 = new Demo03_StaticVar();

        //經過Demo03的實例來訪問實例成員變量

        System.err.println(demo03.addr);//能夠訪問

    }

}

 

2:static成員變量在內存中只有一份copy

 

3:非靜態的的在內存中有多份copy

 

5:控制語句

1:分支

  1if

     If(Boolean 或是 boolean的表達式){

       若是爲true執行裏面的代碼

     }

 

     If(..){

 

     }else if(….){

 

}

 

 If(..){

 

 } eslse if(…){  } else if(..) {}  else{….}

 

示例:

 

輸入成績,顯示結果:

    @Test

    public void test1(){

        int score = 49;

        if(score>80){

            System.err.println("很好");

        }else if(score>60){

            System.err.println("合格");

        }else{

            System.err.println("不合格");

        }

    }

2switch

變量判斷的分支:

 

Switch接收的變量類型是 int及兼容[小於int]類型

    @Test

    public void test2() {

        int age = 80;

        switch (age) {

        case 100:

            System.err.println("你是100");

            break;

        case 90:

            System.err.println("你是90");

            break;

        default:

            System.err.println("都是否是");

            break;

        }

    }

JDK.17之後,就支持String:

@Test

    public void test2() {

        String age = "90";

        switch (age) {

        case "100":

            System.err.println("你是100");

            break;

        case "90":

            System.err.println("你是90");

            break;

        default:

            System.err.println("都是否是");

            break;

        }

    }

Case裏,接收的必須是一個常量不能修改的值:



 

關於break

建議每個case後面都有一個break,程序只有見到break纔會中止

@Test

    public void test2() {

        int age = 189;

        switch (age) {

        default:

            System.err.println("都是否是");

        case 100:

            System.err.println("你是100");

        case 89:

            System.err.println("你是90");

        }

    }

都是否是

你是100

你是90

2:循環語句

1while – 可能一次都不執行  _do…….while至少會執行一次  (二者區別)         

    @Test

    public void test3() {

        int sum = 0;

        int i = 1;// 定義增量1.100

        while (i <= 100) {// 若是i小於100就進入執行

            sum += i;

            // i增長1

            i++;

        }

        System.err.println(sum+","+i);

    }

對於while來講,若是while(true){…}死循環

2:do ..while(條件)至少 會執行一次

@Test

    public void test4() {

        int sum = 0;

        int i = 1;// 定義增量1.100

        do {

            System.err.println("Hello");

            sum += i;

            i++;

        } while (i <= 100);

        System.err.println(sum + "," + i);

    }

}

3for循環

For( 1定義變量只執行一次 2  5  8判斷條件 執行屢次    4  7  10增量++ ) {

  

   3   6   9 執行的代碼

}

@Test

    public void test5() {

        int sum = 0;

        for (int i = 1; i <= 100; i++) {//i是局部一,且只能在for裏面使用

            sum+=i;

        }

        System.err.println(sum);

    }

}

 

3:退出語句

 Break

  只能放到while,do..while, for裏面。

  用於中止最內層的循環。

@Test

    public void test6() {

        abc:for (int i = 1; i <= 5; i++) {

            for (int j = 1; j <= 5; j++) {

                System.err.println(i + "," + j);

                if (j == 1) {

                    break abc;//中止帶有標號的循環 11

                }

            }

        }

    }

 

4continue繼續

@Test

    public void test6() {

        abc: for (int i = 1; i <= 5; i++) {

            for (int j = 1; j <= 5; j++) {

                if (j == 3) {

                    continue ;//跳過3不輸出,可是還有執行下一次的循環

                }

                System.err.println(i + "," + j);

            }

        }

    }

5return  - 直接中止方法,方法就中止

    @Test

    public void test6() {

        for (int i = 1; i <= 5; i++) {

            for (int j = 1; j <= 5; j++) {

                if (j == 3) {

                    return;//test6方法函數,中止方法的執行

                }

                System.err.println(i + "," + j);

            }

        }

    }

相關文章
相關標籤/搜索