摘要:可變參數(shù)是之后出現(xiàn)的新特性使用前提當(dāng)方法的參數(shù)列表數(shù)據(jù)類型已經(jīng)確定但是參數(shù)的個(gè)數(shù)不確定就可以使用可變參數(shù)使用格式定義方法時(shí)使用修飾符返回值類型方法名數(shù)據(jù)類型變量名可變參數(shù)的原理可變參數(shù)底層就是一個(gè)數(shù)組根據(jù)傳遞參數(shù)個(gè)數(shù)不同會創(chuàng)建不同長度的數(shù)組
package com.itheima.demo04.VarArgs;
/*
可變參數(shù):是JDK1.5之后出現(xiàn)的新特性 使用前提: 當(dāng)方法的參數(shù)列表數(shù)據(jù)類型已經(jīng)確定,但是參數(shù)的個(gè)數(shù)不確定,就可以使用可變參數(shù). 使用格式:定義方法時(shí)使用 修飾符 返回值類型 方法名(數(shù)據(jù)類型...變量名){} 可變參數(shù)的原理: 可變參數(shù)底層就是一個(gè)數(shù)組,根據(jù)傳遞參數(shù)個(gè)數(shù)不同,會創(chuàng)建不同長度的數(shù)組,來存儲這些參數(shù) 傳遞的參數(shù)個(gè)數(shù),可以是0個(gè)(不傳遞),1,2...多個(gè)
*/
public class Demo01VarArgs {
public static void main(String[] args) { //int i = add(); //int i = add(10); int i = add(10,20); //int i = add(10,20,30,40,50,60,70,80,90,100); System.out.println(i); method("abc",5.5,10,1,2,3,4); } /* 可變參數(shù)的注意事項(xiàng) 1.一個(gè)方法的參數(shù)列表,只能有一個(gè)可變參數(shù) 2.如果方法的參數(shù)有多個(gè),那么可變參數(shù)必須寫在參數(shù)列表的末尾 */ /*public static void method(int...a,String...b){ }*/ /*public static void method(String b,double c,int d,int...a){ }*/ //可變參數(shù)的特殊(終極)寫法 public static void method(Object...obj){ } /* 定義計(jì)算(0-n)整數(shù)和的方法 已知:計(jì)算整數(shù)的和,數(shù)據(jù)類型已經(jīng)確定int 但是參數(shù)的個(gè)數(shù)不確定,不知道要計(jì)算幾個(gè)整數(shù)的和,就可以使用可變參數(shù) add(); 就會創(chuàng)建一個(gè)長度為0的數(shù)組, new int[0] add(10); 就會創(chuàng)建一個(gè)長度為1的數(shù)組,存儲傳遞來過的參數(shù) new int[]{10}; add(10,20); 就會創(chuàng)建一個(gè)長度為2的數(shù)組,存儲傳遞來過的參數(shù) new int[]{10,20}; add(10,20,30,40,50,60,70,80,90,100); 就會創(chuàng)建一個(gè)長度為2的數(shù)組,存儲傳遞來過的參數(shù) new int[]{10,20,30,40,50,60,70,80,90,100}; */ public static int add(int...arr){ //System.out.println(arr);//[I@2ac1fdc4 底層是一個(gè)數(shù)組 //System.out.println(arr.length);//0,1,2,10 //定義一個(gè)初始化的變量,記錄累加求和 int sum = 0; //遍歷數(shù)組,獲取數(shù)組中的每一個(gè)元素 for (int i : arr) { //累加求和 sum += i; } //把求和結(jié)果返回 return sum; } //定義一個(gè)方法,計(jì)算三個(gè)int類型整數(shù)的和 /*public static int add(int a,int b,int c){ return a+b+c; }*/ //定義一個(gè)方法,計(jì)算兩個(gè)int類型整數(shù)的和 /*public static int add(int a,int b){ return a+b; }*/
}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75123.html
摘要:最近在寫一個(gè)功能點(diǎn),用了中的可變參數(shù),真是把我搞得夠慘。。我找到了阿里巴巴的開發(fā)手冊中關(guān)于可變參數(shù)的規(guī)約。阿里巴巴也是不建議大家合作可變參數(shù)的,可知它帶來的坑會有多坑。。 最近在寫一個(gè)功能點(diǎn),用了 Java 中的可變參數(shù),真是把我搞得夠慘。。 什么是可變參數(shù)? 就是方法參數(shù)用 Object... args 三個(gè)點(diǎn)形式,一個(gè)參數(shù)可以接收多個(gè)參數(shù)。 實(shí)際的代碼就不帖了,來看這個(gè)示例吧: 示...
摘要:所有變量的類型在編譯時(shí)已知在程序運(yùn)行之前,因此編譯器也可以推導(dǎo)出所有表達(dá)式的類型。像變量的類型一樣,這些聲明是重要的文檔,對代碼讀者很有用,并由編譯器進(jìn)行靜態(tài)檢查。對象類型的值對象類型的值是由其類型標(biāo)記的圓。 大綱 1.編程語言中的數(shù)據(jù)類型2.靜態(tài)與動態(tài)數(shù)據(jù)類型3.類型檢查4.易變性和不變性5.快照圖6.復(fù)雜的數(shù)據(jù)類型:數(shù)組和集合7.有用的不可變類型8.空引用9.總結(jié) 編程語言中的數(shù)據(jù)...
摘要:檢查參數(shù)的有效性每當(dāng)編寫方法或者構(gòu)造器時(shí),應(yīng)該考慮它的參數(shù)有哪些限制。為了保護(hù)實(shí)例的內(nèi)部信息避免受到這種攻擊,對于構(gòu)造器的每個(gè)可變參數(shù)進(jìn)行保護(hù)性拷貝是必要的,并且使用備份對象作為實(shí)例的組件,而不是使用原始的對象。 檢查參數(shù)的有效性 每當(dāng)編寫方法或者構(gòu)造器時(shí),應(yīng)該考慮它的參數(shù)有哪些限制。應(yīng)該把這些限制寫到文檔中,并且在這個(gè)方法體開頭處,通過顯示的檢查來實(shí)施這些限制。養(yǎng)成這樣的習(xí)慣非常重要...
摘要:原文出自本文總結(jié)了程序員常犯的個(gè)錯誤??梢钥纯礊槭裁丛谥斜辉O(shè)計(jì)成不可變父類和子類的構(gòu)造函數(shù)以上這段代碼出現(xiàn)編譯錯誤,因?yàn)槟J(rèn)的父類構(gòu)造函數(shù)未定義。如果程序員定義構(gòu)造函數(shù),編譯器將不插入默認(rèn)的無參數(shù)構(gòu)造函數(shù)。 原文出自:http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ 本文總結(jié)了J...
摘要:來來來,花分鐘看看的七大新特性,還有代碼樣例。本地是指方法內(nèi)的變量聲明。從開始,這個(gè)正式進(jìn)入標(biāo)準(zhǔn)庫包。同步請求會阻止當(dāng)前線程??上驳氖牵绻麌L試改變不可變集合,會通過發(fā)出警告是在中引入的,增加了三個(gè)新方法。 現(xiàn)在Java有多元化的發(fā)展趨勢,既有JS又有C++還有C#的影子,不學(xué)習(xí)那是不行滴。來來來,花5分鐘看看Java9-Java11的七大新特性,還有代碼樣例。Java11 發(fā)布了,然...
閱讀 1482·2021-09-02 13:57
閱讀 1901·2019-08-30 15:55
閱讀 2476·2019-08-30 15:54
閱讀 2289·2019-08-30 15:44
閱讀 2760·2019-08-30 13:18
閱讀 507·2019-08-30 13:02
閱讀 726·2019-08-29 18:46
閱讀 1686·2019-08-29 11:25