Java基礎文法(三)

來源:互聯網
上載者:User

標籤:嵌套   數組的數組   []   訪問   並且   個數   scanner   src   多個   

七、方法  定義:

    方法就是完成特定功能的代碼塊
      在很多語言裡面都有函數的定義
      函數在Java中被稱為方法

  格式:

    修飾符 傳回值類型 方法名(參數類型 參數名1,參數類型 參數名2…) {
        函數體;
        return 傳回值;
    }

  說明:

    修飾符       比較多,public static等
    傳回值類型     用於限定傳回值的資料類型
    方法名       一個名稱,為了方便我們調用方法
    參數類型      限定調用方法時傳入參數的資料類型
    參數名       是一個變數,接收調用方法時傳入的參數
    方法體       完成功能的代碼
    return        結束方法以及返回方法指定類型的值
    傳回值       程式被return帶回的結果,返回給調用者

  注意事項:

    方法不調用不執行
    方法與方法是平級關係,不能嵌套定義
    方法定義的時候參數之間用逗號隔開
    方法調用的時候直接傳遞變數或者常量值
    如果方法有明確的傳回值,一定要有return帶回一個值

  方法調用:

    有明確傳回值的方法調用:
      單獨調用,沒有意義
      輸出調用,有意義,但是不一定要把結果輸出
      賦值調用,推薦方式

    沒有明確傳回值的函數調用:
      其實就是void類型方法的調用
      只能單獨調用

  方法重載    概述

      在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可。

    特點

      與傳回值類型無關,只看方法名和參數列表
      JVM在調用時通過參數列表的不同來區分同名方法

八、數組  概述:

    數組是儲存同一種資料類型多個元素的集合。也可以看成是一個容器。
    數組既可以儲存基礎資料型別 (Elementary Data Type),也可以儲存引用資料類型。

  格式:

    格式1:資料類型[] 數組名;
    格式2:資料類型 數組名[];
    注意:這兩種定義做完了,數組中是沒有元素值的。

  初始化:    概述

      Java中的數組必須先初始化,然後才能使用。
      所謂初始化:就是為數組中的數組元素分配記憶體空間,並為每個數組元素賦值。

    初始化方式

      動態初始化:初始化時只指定數組長度,由系統為數組分配初始值。

        格式:資料類型[] 數組名 = new 資料類型[數組長度];
        數組長度其實就是數組中元素的個數。
        舉例:
          int[] arr = new int[3];
        解釋:定義了一個int類型的數組,這個數組中可以存放3個int類型的值。


      靜態初始化:初始化時指定每個數組元素的初始值,由系統決定數組長度

        格式:
          資料類型[] 數組名 = new 資料類型[]{元素1,元素2,…};
        舉例:
          int[] arr = new int[]{1,2,3};
        解釋:定義了一個int類型的數組,這個數組中可以存放3個int類型的值,並且值分別是1,2,3。
           其實這種寫法還有一個簡化的寫法
           int[] arr = {1,2,3};

  Java中的記憶體配置

     Java 程式在運行時,需要在記憶體中的分配空間。為了提高運算效率,就對空間進行了不同地區的劃分,因為每一片地區都有特定的處理資料方式和記憶體管理方式。
     棧 儲存局部變數
     堆 儲存new出來的東西
     方法區 
     本地方法區 (和系統相關)
     寄存器 (給CPU使用)

    圖解:

    

  數組操作常見的兩個小問題    數組索引越界

      ArrayIndexOutOfBoundsException
      訪問到了數組中的不存在的索引時發生。

    null 指標異常

      NullPointerException
      數組引用沒有指向實體,卻在操作實體中的元素時。

  二維數組    概述

      二維數組就是一個元素為一維數組的數組。

    格式        格式1:

        資料類型[][] 變數名 = new 資料類型[m][n];
        m表示這個二維數組有多少個一維數組
        n表示每一個一維數組的元素個數
        舉例:
          int[][] arr = new int[3][2];
          定義了一個二維數組arr
          這個二維數組有3個一維數組,名稱是arr[0],arr[1],arr[2]
          每個一維數組有2個元素,可以通過arr[m][n]來擷取
          表示擷取第m+1個一維數組的第n+1個元素

        格式2:

          資料類型[][] 變數名 = new 資料類型[m][];
          m表示這個二維數組有多少個一維數組
          這一次沒有直接給出一維數組的元素個數,可以動態給出。
          舉例:
            int[][] arr = new int[3][];
            arr[0] = new int[2];
            arr[1] = new int[3]
            arr[2] = new int[1];

        格式3:

          資料類型[][] 變數名 = new 資料類型[][]{{元素…},{元素…},{元素…}};
          簡化格式:
            資料類型[][] 變數名 = {{元素…},{元素…},{元素…}};
          舉例:
            int[][] arr = {{1,2,3},{4,6},{6}};

九、鍵盤錄入資料  概述

    我們目前在寫程式的時候,資料值都是固定的,但是實際開發中,資料值肯定是變化的,所以,我準備把資料改進為鍵盤錄入,提高程式的靈活性。

  鍵盤錄入資料

    導包(位置放到class定義的上面)
      import java.util.Scanner;
    建立對象
      Scanner sc = new Scanner(System.in);
    接收資料
      int x = sc.nextInt();

Java基礎文法(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.