Java学习day05——方法及其调用重载
生活随笔
收集整理的這篇文章主要介紹了
Java学习day05——方法及其调用重载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這幾天忙于置辦年貨,準備過年用的東西,只能斷斷續續的學,接下來估計也是這樣了,只能盡量有時間就更一些
01_1方法
1.方法就是用來完成解決某件事情或者實現某個功能的辦法
01_2方法的定義格式
修飾符 返回值類型 方法的名字 (參數列表…){
方法的功能主體
循環,判斷,變量,比較,運算
return 返回值 ;
}
- 實際參數:就是實際參與運算的。
- 形式參數;就是方法定義上的,用于接收實際參數的。
01_03定義方法計算面積
public class MethodDemo{public static void main(String[] args){//調用方法, 方法執行起來// 在方法main中,調用方法 getAreaint area = getArea(5,6);System.out.println("面積是: "+area);}/*要求: 計算一個長方形的面積定義方法解決這個要求分析方法定義過程:1.明確方法計算后的結果的數據類型 int 定義格式對應的就是返回值類型2.方法計算過程中,有沒有未知的數據, 寬和長, 未知數據的數據類型 int未知數的變量,定義在方法的小括號內*/public static int getArea(int w, int h){//實現方法的功能主體//int area = w * h;return w * h;} }01_4調用方法
1.在main函數中調用方法,讓方法執行起來
2. 方法的形參
方法要什么參數我們就給什么類型的參數。
3. 方法的返回值
方法返回什么類型的值我們就用對應的數據類型的變量來接收
01_5調用方法執行流程
1.方法的定義是沒有順序的,寫在main函數的上邊或者下邊都可以。
2.方法的執行,是把實參傳遞給形參,從而來執行的。
3.方法只有被調用才會執行。
01_6方法調用的內存圖
01_7方法調用的練習
import java.util.Scanner; public class MethodDemo_1{public static void main(String[] args){//printRect();//int number = getNumber();//System.out.println(getNumber());//printRect2(3,5);double avg = getAvg(2,2,3);System.out.println(avg);}/*定義有返回值有參數方法,如求三個數的平均值明確方法計算后的數據類型, 返回值類型 double明確方法未知數, 三個未知的整數*/public static double getAvg(double a, double b,double c){return (a+b+c)/3;}/*定義無返回值有參數方法,如打印指定M行,每行N個*號的矩形明確方法計算后結果,控制臺輸出圖形,沒有返回值的方法中有沒有未知數,圖形行數,和列數,是未知的, 數據類型整數int*/public static void printRect2(int m,int n){for(int i = 0 ; i < m ; i++){for(int j = 0 ; j < n ; j++){System.out.print("*");}System.out.println();}}/*定義有返回值無參數方法,如鍵盤錄入得到一個整數明確方法計算后結果的數據類型 int明確有沒有未知數,沒*/public static int getNumber(){Scanner sc = new Scanner(System.in);//int number = sc.nextInt();return sc.nextInt();}/*定義無返回值無參數方法,如打印3行,每行3個*號的矩形為什么沒有返回值:打印矩形 ,輸出效果,不需要將結果返回明確未知數: 不需要未知數*/public static void printRect(){for(int i = 0 ; i < 3 ; i++){for(int j = 0 ; j < 3 ;j++){System.out.print("*");}System.out.println();}} }01_8方法的定義和使用的注意事項
return 下面不能有代碼
01_9方法的重載
在同一個類中,方法名相同,參數列表不同。與返回值類型無關。
參數列表不同:
* A:參數個數不同
* B:參數類型不同
* C:參數的順序不同(算重載,但是在開發中不用)
案例代碼
01_10方法重載注意事項
1.參數列表必須不同
2.重載和參數變量名無關
3.重載和返回值類型無關
4.重載和修飾符無關
5.技巧: 重載看方法名和參數列表
01_11方法參數是基本數據類型
1.方法參數是基本類型時,傳遞的是值。
01_12方法參數是引用數據類型
01_13隨機點名器
/*實現隨機點名器1.存儲所有學生姓名2.預覽所有學生姓名,遍歷數組3.隨機數作為索引,到數組中找元素將功能獨立出來, 作成方法,調用方法即可定義三個功能, 用到同一個姓名數據姓名存儲到數組中,三個方法,使用一個數組中的數據, 方法傳遞參數*/import java.util.Random;public class CallName{public static void main(String[] args){//定義數組,存儲學生姓名String[] names = new String[8];//調用添加姓名方法addStudent(names);//調用遍歷數組方法printStudentName(names);//調用隨機姓名的方法String name = randomStudentName(names);System.out.println(name);}/*定義方法,隨機數,做索引,數組中找到學生姓名返回值? 學生姓名參數? 數組*/public static String randomStudentName(String[] names){Random ran = new Random();int index = ran.nextInt(names.length);return names[index];}/*定義方法,遍歷數組返回值? 沒有參數? 數組*/public static void printStudentName(String[] names){for(int i = 0 ; i < names.length ;i++){System.out.println(names[i]);}}/*定義方法,實現向數組中添加學生姓名返回值? 沒有,參數? 參數就是數組*/public static void addStudent(String[] names){names[0] = "張三";names[1] = "李四";names[2] = "王五";names[3] = "李蕾";names[4] = "韓梅梅";names[5] = "小名";names[6] = "老王";names[7] = "小華";}}01_14庫存案例代碼實現
/*實現商品的庫存管理功能:1.展示用戶選擇功能清單2.根據選擇的功能編號,進行不同的操作A. 展示所有庫存B. 修改庫存數量分析:1.展示用戶清單:輸出語句, 用戶輸入, 選擇功能序號2.根據選擇,調用不同的方法switch語句case 1 2 3A 展示庫存將存儲商品的數組,遍歷B 修改庫存修改所有的庫存數量*/import java.util.Scanner;public class Shopp{public static void main(String[] args){//使用數組,保存商品的信息//品名,尺寸,價格,庫存數, 定義5個數組String[] brand = {"MacBookAir","ThinkpadT450"};double[] size = {13.3,15.6};double[] price = {9998.97,6789.56};int[] count = {0,0};while(true){int choose = chooseFunction();switch(choose){case 1://調用查看庫存清單方法printStore(brand,size,price,count);break;case 2://調用修改庫存的方法update(brand,count);break;case 3:return ;default:System.out.println("沒有這個功能");break;}}}/*定義方法,修改所有商品的庫存用戶輸入1個,修改1個返回值,沒有參數, 庫存數的數組, 品名數組*/public static void update(String[] brand, int[] count){//遍歷數組,遍歷到一個,修改一個//接受鍵盤輸入Scanner sc = new Scanner(System.in);//遍歷數組for(int i = 0; i < brand.length ; i++){System.out.println("請輸入"+brand[i]+"的庫存數");//鍵盤輸入,錄入庫存, 存儲到庫存的數組中int newCount = sc.nextInt();count[i] = newCount;}//int chooseNumber = sc.nextInt();}/*定義方法,展示所有的庫存清單,遍歷返回值,沒有參數, 數組*/public static void printStore(String[] brand,double[] size,double[] price,int[] count){System.out.println("----------商場庫存清單----------");System.out.println("品牌型號 尺寸 價格 庫存數");//定義變量,計算總庫存數,和總價格int totalCount = 0;int totalMoney = 0;//遍歷數組,將數組中所有的商品信息打印出來for(int i = 0 ; i < brand.length ; i++){System.out.println(brand[i]+" "+size[i]+" "+price[i]+" "+count[i]);totalCount += count[i];totalMoney += count[i]*price[i];}System.out.println("總庫存數: "+totalCount);System.out.println("商品庫存總金額: "+totalMoney);}/*定義方法,實現用戶的選擇功能,功能的需要返回來返回值, int參數, 沒有*/public static int chooseFunction(){System.out.println("-------------庫存管理------------");System.out.println("1.查看庫存清單");System.out.println("2.修改商品庫存數量");System.out.println("3.退出");System.out.println("請輸入要執行的操作序號:");//接受鍵盤輸入Scanner sc = new Scanner(System.in);int chooseNumber = sc.nextInt();return chooseNumber;}}總結
以上是生活随笔為你收集整理的Java学习day05——方法及其调用重载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7.volatile怎么通过内存屏障保证
- 下一篇: 建议直接收藏,阿里巴巴开源15个顶级Ja