最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 方法與數(shù)組基礎(chǔ)使用詳解

 更新時間:2022年04月02日 11:54:14   作者:Pretend..  
Java語言中的“方法”(Method)在其他語言當中也可能被稱為“函數(shù)”(Function),數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同。Java 語言中提供的數(shù)組是用來存儲固定大小的同類型元素

一、方法的使用

1、方法的定義

java中的方法就相當于C語言中的函數(shù)

方法的語法格式

//方法的定義

修飾符  返回值類型  方法的名稱(【參數(shù)類型 參數(shù)】){

              方法體代碼;

             【return 返回值】;

}

【注意事項】

  • 修飾符:現(xiàn)階段直接使用public static 固定搭配
  • 返回值類型:如果方法有返回值,返回值類型必須要與返回的實體類型一致,如果沒有返回值,必須寫成void
  • 方法名字:采用小駝峰命名
  • 參數(shù)列表:如果方法沒有參數(shù),()中什么都不寫,如果有參數(shù),需指定參數(shù)類型,多個參數(shù)之間使用逗號隔開
  • 方法體:方法內(nèi)部要執(zhí)行的語句 
  • 在java當中,方法必須寫在類當中 
  • 在java當中,方法不能嵌套定義 
  • 在java當中,沒有方法聲明一說

2、方法重載

如果多個方法的名字相同,參數(shù)列表不同,則稱該方法被重載。

public class TestMethod {
    public static void main(String[] args) {
        add(1, 2);    //調(diào)用函數(shù)add(int,int)
        add(1.5, 2.5);//調(diào)用函數(shù)add(double,double)
        add(1, 3, 5);//調(diào)用函數(shù)add(int,int,int)
    }
    public static int add(int x, int y) {
        return x + y;
    }
    public static double add(double x, double y) {
        return x + y;
    }
    public static double add(int x, int y, int z) {
        return x + y + z;
    }
}

【注】

  • 方法名必須相同
  • 參數(shù)列表必須不同(參數(shù)的個數(shù)不同、參數(shù)的類型不同、類型的次序必須不同)
  • 與返回值類型是否相同無關(guān)

二、數(shù)組的定義和使用

1、數(shù)組的基本概念

(1)數(shù)組的創(chuàng)建

T[ ] 數(shù)組名 = new T[N];

T:表示數(shù)組中元素的類型

N:表示數(shù)組的大小

int[] array1 = new int[10]; // 創(chuàng)建一個可以容納10個int類型元素的數(shù)組
double[] array2 = new double[5]; // 創(chuàng)建一個可以容納5個double類型元素的數(shù)組
String[] array3 = new double[3]; // 創(chuàng)建一個可以容納3個字符串元素的數(shù)組

(2)數(shù)組的初始化

動態(tài)初始化:在創(chuàng)建數(shù)組時,直接指定書中元素的個數(shù)

int[] array = new int[10];  //默認值為0

靜態(tài)初始化:在創(chuàng)建時不直接指定數(shù)據(jù)元素個數(shù),直接將元素內(nèi)容指定。

語法格式:T[ ] 數(shù)組名 = {data1,……,datan};

int[] array1 = new int[]{0,1,2,3,4,5,6,7,8,9};
double[] array2 = new double[]{1.0, 2.0, 3.0, 4.0, 5.0};
String[] array3 = new String[]{"hell", "Java", "!!!"};

【注意】

  • 靜態(tài)初始化雖然沒有指定數(shù)組的長度,編譯器在編譯時會根據(jù){}中元素個數(shù)來確定數(shù)組的長度。
  • 靜態(tài)初始化時, {}中數(shù)據(jù)類型必須與[]前數(shù)據(jù)類型一致。
  • 靜態(tài)初始化可以簡寫,省去后面的new T[]。
  • 數(shù)組也可以按照如下C語言個數(shù)創(chuàng)建,不推薦。
  • 如果不確定數(shù)組當中內(nèi)容時,使用動態(tài)初始化,否則建議使用靜態(tài)態(tài)初始化。
  • 如果沒有對數(shù)組進行初始化,數(shù)組中元素有其默認值。

(3)數(shù)組的遍歷

  • 通過for循環(huán)來遍歷,在數(shù)組中可以通過length來獲取數(shù)組長
  • 使用for-each遍歷數(shù)組
int[] array={1,2,3};
for(int x:array){
    System.out.println(x);
};
//遍歷array中元素,將元素放在x中進行打印
  • 將數(shù)組以字符串的形式進行打印
Array.toString(array);//將數(shù)組以字符串的形式進行輸出

2、數(shù)組是引用類型(JVM的內(nèi)存分布)

方法區(qū)(Method Area)和堆(Heap)為所有線程所共享,每個線程擁有獨立的虛擬機棧(JVM Stack)、本地方法棧(Native Method Stack)以及程序計數(shù)器。

  • 程序計數(shù)器 (PC Register): 用來保存下一條執(zhí)行的指令的地址
  • 虛擬機棧(JVM Stack): 用來保存方法執(zhí)行相關(guān)的一些信息:局部變量、操作數(shù)棧、動態(tài)鏈接、返回地址以及其他的一些信息。當方法運行結(jié)束后,棧幀就被銷毀了,即棧幀中保存的數(shù)據(jù)也被銷毀了。
  • 本地方法棧(Native Method Stack): 虛擬機棧的作用類似. 只不過保存的內(nèi)容是Native方法的局部變量。
  • 堆(Heap):使用 new 創(chuàng)建的對象都是在堆上保存。堆是隨著程序開始運行時而創(chuàng)建,隨著程序的退出而銷毀,堆中的數(shù)據(jù)只要還有在使用,就不會被銷毀。
  • 方法區(qū)(Method Area): 用于存儲已被虛擬機加載的類信息、常量、靜態(tài)變量、即時編譯器編譯后的代碼等數(shù)據(jù). 方法編譯出的的字節(jié)碼就是保存在這個區(qū)域 。

3、引用變量

  • 引用變量的0值為null,引用為空值時,不指向任何對象
  • 引用變量虛擬機棧中存儲的是其在堆中空間的起始地址,通過改地址可以去操作對象。

舉例如下:

public static void func() {
   int[] array1 = new int[3];
   array1[0] = 10;
   array1[1] = 20;
   array1[2] = 30;
   int[] array2 = new int[]{1,2,3,4,5};
   array2[0] = 100;
   array2[1] = 200;
   array1 = array2;
   array1[2] = 300;
   array1[3] = 400;
   array2[4] = 500;
   for (int i = 0; i < array2.length; i++) {
       System.out.println(array2[i]);
   }
}
  • 創(chuàng)建數(shù)組array1,沒有設(shè)置初始值,因此其為0;
  • 通過下標修改數(shù)組array1中元素為10、20、30;
  • 創(chuàng)建數(shù)組array2,初始值為1、2、3、4、5;
  • 通過下標方式將數(shù)組array2中前兩個元素設(shè)置為100、200;
  • array1=array2,既讓array1去引用array2引用的數(shù)組的空間,此時array1和array2其實是一個數(shù)組;
  • 通過array1將2、3號元素修改為300、400;通過array2修改4號元素為500;
  • 此時打印array2的結(jié)果應(yīng)為:100、200、300、400、500

4、數(shù)組拷貝函數(shù)

完全拷貝(Array.copyof)

int[] arr={1,2,3,4,5};
int[] newarr=Array.copyof(arr,arr.length);
  • copyof方法在進行數(shù)組拷貝時,創(chuàng)建了新的數(shù)組
  • 此時arr和newarr引用的不是同一個數(shù)組

范圍拷貝(Array.copyofRange)

int[] newarr1=Array.copyofRange(arr,int i,int j);

拷貝從 i 下標的 j -1 下標的數(shù)組元素;

5、二維數(shù)組的for.each遍歷

int[][]arr={{1,2,3,4},{5,6,7,8},{3,6,2,3}};
for(int[] tmp:arr){
   for(int x:tmp){
       System.out.println(x);
   }
}

二位數(shù)組就是特殊的一維數(shù)組

到此這篇關(guān)于java 方法與數(shù)組基礎(chǔ)使用詳解的文章就介紹到這了,更多相關(guān)java 方法與數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javaCV開發(fā)詳解之推流器和錄制器的實現(xiàn)

    javaCV開發(fā)詳解之推流器和錄制器的實現(xiàn)

    這篇文章主要介紹了javaCV開發(fā)詳解之推流器和錄制器實現(xiàn),對JavaCV感興趣的同學(xué),可以參考下
    2021-04-04
  • MyBatis中$和#的深入講解

    MyBatis中$和#的深入講解

    這篇文章主要給大家介紹了關(guān)于MyBatis中$和#的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java日常練習(xí)題,每天進步一點點(6)

    Java日常練習(xí)題,每天進步一點點(6)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java如何讀取resources目錄和同級目錄文件

    java如何讀取resources目錄和同級目錄文件

    介紹了Java中讀取resources目錄和同級目錄文件的方法,并討論了在IDE和發(fā)布環(huán)境中可能遇到的問題,通過測試發(fā)現(xiàn),執(zhí)行目錄可能會影響文件讀取,建議在使用`user.dir`時注意jar包的運行目錄問題
    2024-12-12
  • Springboot的maven間接依賴的實現(xiàn)

    Springboot的maven間接依賴的實現(xiàn)

    這篇文章主要介紹了Springboot的maven間接依賴的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Java中的泛型

    Java中的泛型

    這篇文章主要介紹為何要泛型,如何使用泛型,自定義泛型的方法,泛型類的子類等多方面介紹了JAVA中的泛型,需要的小伙伴請看下文
    2021-08-08
  • 淺談Spring Data Redis讀不到設(shè)進去的值

    淺談Spring Data Redis讀不到設(shè)進去的值

    本文主要介紹了Spring Data Redis怎么讀不到我剛才設(shè)進去的值,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java中判斷對象是否相等的equals()方法使用教程

    Java中判斷對象是否相等的equals()方法使用教程

    與==運算符響應(yīng),equals()方法也是Java中對對象進行比較的一大方式,要特別注意二者的不同點,這個我們在下文中即將講到,接下來我們就來看一下Java中判斷對象是否相等的equals()方法使用教程
    2016-05-05
  • Java開發(fā)環(huán)境配置教程(win7 64bit)

    Java開發(fā)環(huán)境配置教程(win7 64bit)

    這篇文章主要為大家詳細介紹了win7 64bit下Java開發(fā)環(huán)境的配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • SpringBoot整合JWT Token的完整步驟

    SpringBoot整合JWT Token的完整步驟

    JSON Web Token是目前最流行的跨域認證解決方案,適合前后端分離項目通過Restful API進行數(shù)據(jù)交互時進行身份認證,這篇文章主要給大家介紹了關(guān)于SpringBoot整合JWT Token的相關(guān)資料,需要的朋友可以參考下
    2021-09-09

最新評論

瑞昌市| 集贤县| 鹿泉市| 睢宁县| 舞阳县| 东至县| 贵州省| 南溪县| 松江区| 电白县| 三门峡市| 高陵县| 荥经县| 高陵县| 辽阳县| 泸西县| 梅河口市| 休宁县| 津市市| 崇信县| 郎溪县| 石狮市| 宁海县| 湘潭县| 自治县| 仲巴县| 阿坝| 湖口县| 鄂托克旗| 晋江市| 安西县| 龙里县| 沅陵县| 安庆市| 垣曲县| 岳普湖县| 疏附县| 秦安县| 筠连县| 五家渠市| 安化县|