java方法的參數類型_Java 基礎 14 方法的重載 與 方法參數類型詳解

1.1 方法重載的概述和特點

方法重載概述

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

方法重載特點

與返回值類型無關,只看方法名和參數列表

在調用時,虛擬機通過參數列表的不同來區分同名方法

1.1.1 案例代碼

package com.itheima_03;

/*

* 方法重載:在同一個類中,出現了方法名相同的情況。

*

* 方法重載的特點:

* 方法名相同,參數列表不同。方法重載與返回值無關。

*

* 參數列表不同:

* 參數的個數不同。

* 參數對應的數據類型不同。

*

* 注意事項:

* 在調用方法的時候,java虛擬機會根據方法名及參數列表的不同來區分方法。

*/

public class MethodDemo {

public static void main(String[] args) {

//定義兩個變量

int a = 10;

int b = 20;

//求和

int result = sum(a,b);

System.out.println("result:"+result);

//定義變量

int c = 30;

//int result2 = sum2(a,b,c);

int result2 = sum(a,b,c);

System.out.println("result2:"+result2);

}

/*

public static int sum(int x,int y) {

return x + y;

}

*/

public static float sum(float a,float b) {

return a + b;

}

//求三個數據的和

/*

public static int sum2(int a,int b,int c) {

return a + b + c;

}

*/

public static int sum(int a,int b,int c) {

return a + b + c;

}

//求兩個數據的和

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

/*

int c = a + b;

return c;

*/

return a + b;

}

}

1.2 方法重載練習之比較兩個數據是否相等

1.2.1代碼案例

package com.itheima_03;

/*

* 需求:比較兩個數據是否相等。

* 參數類型分別為兩個byte類型,兩個short類型,兩個int類型,兩個long類型,

* 并在main方法中進行測試

*/

public class MethodTest {

public static void main(String[] args) {

//System.out.println(compare(10, 20));

//System.out.println(compare((byte)10, (byte)20));

//System.out.println(compare((short)10, (short)20));

System.out.println(compare(10L, 20L));

}

/*

* 兩個byte類型

*

* 兩個明確:

* 返回值類型:boolean

* 參數列表:byte a,byte b

*/

public static boolean compare(byte a,byte b){

/*

if(a == b) {

return true;

}else {

return false;

}

*/

System.out.println("byte");

return a == b;

}

//兩個short類型

public static boolean compare(short a,short b){

System.out.println("short");

return a == b;

}

//兩個int類型

public static boolean compare(int a,int b){

System.out.println("int");

return a == b;

}

//兩個long類型

public static boolean compare(long a,long b){

System.out.println("long");

return a == b;

}

}

2.1 方法中參數傳遞

2.1.1 方法參數是基本類型的情況和圖解

方法的參數是基本類型的時候:

形式參數的改變不影響實際參數。

形式參數:用于接收實際數據的變量

實際參數:實際參與運算的變量

2.1.1.1 代碼案例

public class ArgsDemo {

public static void main(String[] args) {

// 定義變量

int a = 10;

int b = 20;

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

change(a, b);

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

}

public static void change(int a, int b) { // a=10,b=20

System.out.println("a:" + a + ",b:" + b);// a:10,b:20

a = b; // a=20;

b = a + b;// b=40;

System.out.println("a:" + a + ",b:" + b);// a:20,b:40

}

}

2.1.1.2方法的形式參數是基本類型圖解

cdfd4e5caf97

Parameter_Diagram.png

2.1.2 方法參數是引用類型的情況和圖解

2.1.2.1代碼案例

package com.itheima;

/*

* 基本數據類型作為參數傳遞,形式參數的改變不影響實際參數

* 引用數據類型作為參數傳遞,形式參數的改變直接影響實際參數

*/

public class ArgsDemo2 {

public static void main(String[] args) {

int[] arr = { 1, 2, 3, 4, 5 };

for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);//1,2,3,4,5

}

change(arr);

for (int x = 0; x < arr.length; x++) {

System.out.println(arr[x]);//1,4,3,8,5

}

}

public static void change(int[] arr) {

for (int x = 0; x < arr.length; x++) {

//如果數組元素是偶數,值就變成了以前的2倍

if (arr[x] % 2 == 0) {

arr[x] *= 2;

}

}

}

}

2.1.2.2方法的形式參數是引用類型圖

cdfd4e5caf97

Parameter_Diagram01.png

2.2 方法操作數組練習

2.2.1方法練習之數組遍歷

需求:把遍歷數組改進為方法實現,并調用方法

2.2.2代碼案例

package com.itheima;

/*

* 需求:把遍歷數組改進為方法實現,并調用方法

*/

public class MethodTest {

public static void main(String[] args) {

//定義數組

int[] arr = {11,22,33,44,55};

//調用方法

//printArray(arr);

//我們已經實現了需求,但是我覺得這個效果不好看,我想要如下的效果可以嗎

//[元素1, 元素2, 元素3, ...]

//我們的結果應該是這樣的:[11, 22, 33, 44, 55]

printArray(arr);

}

/*

* 遍歷數組的方法。

*

* 兩個明確:

* 返回值類型:void

* 參數列表:int[] arr

*/

/*

public static void printArray(int[] arr) {

for(int x=0; x

System.out.println(arr[x]);

}

}

*/

public static void printArray(int[] arr) {

System.out.print("[");

for(int x=0; x

if(x == arr.length-1) {

//判斷是否是最后一個元素

System.out.print(arr[x]);

}else {

System.out.print(arr[x]+", ");

}

}

System.out.println("]");

}

}

2.2.3方法練習之數組獲取最值

需求:把獲取數組最值改進為方法實現,并調用方法.

2.2.4 代碼案例

package com.itheima;

/*

* 需求:把獲取數組最值改進為方法實現,并調用方法

*/

public class MethodTest2 {

public static void main(String[] args) {

//定義數組

int[] arr = {24,36,90,75,81};

//調用方法

int max = getMax(arr);

//輸出結果

System.out.println("max:"+max);

}

/*

* 數組獲取最值的方法

*

* 兩個明確:

* 返回值類型:int

* 參數列表:int[] arr

*/

public static int getMax(int[] arr) {

//定義參照物

int max = arr[0];

//遍歷,獲取元素,進行比較

for(int x=1; x

if(arr[x] > max) {

max = arr[x];

}

}

return max;

}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533952.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

crv儀表上的i是什么指示燈_汽車打不著火是怎么回事,儀表盤汽車發動機故障燈亮是什么情況故障指示燈圖解大全集...

如果打不著火&#xff0c;那有可能是起動機壞了&#xff0c;有可能是電池沒電了&#xff0c;有可能是電路出現了問題&#xff0c;還有可能是點火系統出現了問題。汽車發動機的點火系統主要部件是火花塞和點火線圈&#xff0c;火花塞是一個需要定期更換的易損件。如果火花塞長時…

python極簡教程_Python 極簡教程(六)運算符

運算符&#xff0c;我們日常生活中使用的加減乘除&#xff0c;都是運算符的一種。當然這種一般我們稱為算術運算符&#xff0c;用于處理數字運算的。但是在計算機語言中&#xff0c;還有很多的運算符。用于處理不用的情況。主要有以下幾類&#xff1a;算術運算符比較運算符邏輯…

python函數可變長參數_day14 Python函數之可變長參數

函數參數1.形參變量只有在被調用時才分配內存單元&#xff0c;在調用結束時&#xff0c;即刻釋放所分配的內存單元。因此&#xff0c;形參只在函數內部有效。函數調用結束返回主調用函數后則不能再使用該形參變量2.實參可以是常量、變量、表達式、函數等&#xff0c;無論實參是…

ubuntu 安裝java jdk_「ubuntu安裝jdk」Ubuntu安裝jdk8的兩種方式 - seo實驗室

ubuntu安裝jdk安裝方式&#xff1a;1)&#xff1a;通過ppa(源) 方式安裝.2)&#xff1a;通過官網安裝包安裝.JDK官網下載地址一&#xff1a;使用ppa(源)方式安裝&#xff1a;1)&#xff1a;添加ppa源sudo add-apt-repository ppa:webupd8team/javasudo apt-get update2)&#x…

restful風格_什么是RESTful風格的API設計?

隨著移動互聯網的興起&#xff0c;RESTful風格的API設計也隨之流行起來&#xff0c;但我們說了那么多RESTful設計&#xff0c;它到底是什么&#xff1f;本篇文章帶大家來了解一下它的真實面目。RESTful概念首先&#xff0c;我們需要明確的是RESTful&#xff0c;它是一個理念&am…

java jdbc 增刪改封裝_JAVA JDBC 常規增刪改查簡單封裝

JAVA JDBC 常規增刪改查簡單封裝,可滿足大多基本要求作用&#xff1a;1&#xff0c; 查詢列表是直接返回List對象&#xff0c;不必再遍歷&#xff1b;2&#xff0c; 單條查詢直接返回對象&#xff1b;3&#xff0c; 執行sql僅需一個方法搞定&#xff1b;package com.Main.Tools…

python wget安裝_Macbook系統環境安裝wget的2個方法 - 傳統包及Homebrew安裝

考慮到自身項目的拓展需要&#xff0c;朋友建議學習Python爬蟲這樣對于做大數據采集有較大的幫助&#xff0c;老蔣雖然每天也都接觸一些腳本和程序的修改&#xff0c;但是并沒有專業和系統的學習某一項編程。所以還是準備陸續的學習Python語言&#xff0c;無論有沒有基礎&#…

java 程序找錯_java代碼找錯

展開全部你試一下這個行不行&#xff0c;輸入的時候是數字e69da5e6ba903231313335323631343130323136353331333335313138,數字,數字;數字,數字。。。。。的格式&#xff0c;你把我注釋的那個輸入行(String stInput input.next();)的注釋去掉&#xff0c;把我字符串寫死的那行(…

zookeeper 分布式鎖_關于redis分布式鎖,zookeeper分布式鎖原理的一些學習與思考

編輯&#xff1a;業余草來源&#xff1a;https://www.xttblog.com/?p4946首先分布式鎖和我們平常講到的鎖原理基本一樣&#xff0c;目的就是確保&#xff0c;在多個線程并發時&#xff0c;只有一個線程在同一刻操作這個業務或者說方法、變量。在一個進程中&#xff0c;也就是一…

Java線程怎么發送消息_Java客戶端Socket如何能在阻塞線程下收到服務端發送來的消息?...

最近在寫Socket客戶端的時候遇到點問題客戶端在創建時創建了2個線程一個監聽鍵盤輸入事件&#xff0c;使用的是buffered&#xff0c;當檢測到輸入完成時寫入流發送給服務端。String content "";while (!(content bufferedReader.readLine()).equals("exit&quo…

python函數參數傳遞機制_Python 學習筆記(一) 理解Python的函數傳參機制

對于剛接觸Python不久的新手&#xff0c;Python的函數傳參機制往往會讓人迷惑。學過C的同學都知道函數參數可以傳值或者傳地址。比如下面這段代碼點擊(此處)折疊或打開void func(int input) {input 100;}int a 0;func(a);printf("%d", a);結果應該是打印0&#xff…

網頁無法調用java9_JAVA 9 (內部類,異常,包)

內部類&#xff1a;將一個類定義在另一個類里面&#xff0c;稱里面那個類為內部類。舉例&#xff1a;class Zx{public static void main(String []arr){Outer o new Outer();o.method();}}class Outer{class Inner //內部類&#xff0c;可以定義多個內部類{void function(){S…

python renamer模塊_Python - 批量文件重命名

兩個目標兩個&#xff1a;1. 輸入一組文件名&#xff0c;進行批量重命名&#xff1b;2. 輸入一組目錄名&#xff0c;批量重命名各個目錄下的文件。附加功能&#xff1a;1. 可根據文件的創建日期對文件重新排序&#xff1b;2. 重命名方式為遞增數列&#xff0c;可帶前后綴&#…

spark算子_Spark篇之持久化算子

一、前述Spark中控制算子也是懶執行的&#xff0c;需要Action算子觸發才能執行&#xff0c;主要是為了對數據進行緩存。控制算子有三種&#xff0c;cache,persist,checkpoint&#xff0c;以上算子都可以將RDD持久化&#xff0c;持久化的單位是partition。cache和persist都是懶執…

java g1 gc ref proc_深入理解垃圾收集器的G1及日志分析

盡管Hotspot 最新的垃圾回收器G1是在2006年推出的。但是G1從推行至今的市場反響來看&#xff0c;但現在足以證明這款垃圾收集器是經得起考驗的&#xff0c;從java9開始&#xff0c;就默認為G1垃圾收集器。G1是一款面向服務端應用的垃圾收集器。HotSpot開發團隊賦予它的使命是(在…

python爬取嗶哩嗶哩視頻_Python實現視頻爬取下載

注&#xff1a;源內容來自公眾號【python學習開發】一般情況下我們使用爬蟲更多的是對數據或者圖片進行爬取,今天在這里和大家分享一下關于使用爬蟲技術來進行視頻下載的方法,不僅可以方便的下載一些體積小的視頻,針對大容量的視頻下載同樣試用。接下來我們來介紹此次爬取視頻過…

java約瑟夫環pta上_cdoj525-猴子選大王 (約瑟夫環)

約瑟夫斯問題問題有時候也被描述成猴子選大王問題,題目如下.(最后會貼上約瑟夫問題的來歷) 一群猴子排成一圈,按1,2,…,n依次編號. 然后從第1只開始數,數到第m只,把它踢出圈,從它后面再開始數,再數到第m只,在把它踢出去…,如此不停的進行下去,直到最后只剩下一只猴子為止,那只猴…

java++記錄+運行_記錄java+testng運行selenium(三)---xml、ini、excel、日志等配置

一&#xff1a; ini文件ini目前只用處存儲瀏覽類型及需要打開的url&#xff0c;ini文件放在configs文件夾下面。讀取ini代碼如下&#xff1a;1 packagetoolskit.documents;23 import java.io.*;4 import java.util.*;56 /**7 * ClassName: ReadIni8 * Author: DingDong9 * D…

python字符串前面加f什么意思_Python 字符串前面加u,r,b,f的含義

1、字符串前加 u例&#xff1a;u"我是含有中文字符組成的字符串。"作用&#xff1a;后面字符串以 Unicode 格式 進行編碼&#xff0c;一般用在中文字符串前面&#xff0c;防止因為源碼儲存格式問題&#xff0c;導致再次使用時出現亂碼。2、字符串前加 r例&#xff1a…

mysql居左查詢abcd_MySql速查手冊

索引定義索引用來快速地尋找那些具有特定值的記錄&#xff0c;所有MySQL索引都以B樹的形式保存。就像是數據的目錄。索引類型唯一索引主鍵索引B-Tree普通索引R-Tree聯合索引Hash全文索引FullText在mysql中fulltext索引只針對myisam生效。符合索引對于創建的多列索引(復合索引)&…