电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

一篇文章帶你了解Java方法的使用

瀏覽:8日期:2023-12-05 11:04:48
目錄方法的基本用法 方法定義基本語法格式:為什么方法一般用public static修飾?代碼示例:注意事項: 方法調(diào)用的調(diào)試過程IDEA 的調(diào)試過程: 開始調(diào)試,點擊'甲殼蟲'注意事項: 暫停調(diào)試方法的重復(fù)調(diào)用:🔺實參和形參的關(guān)系代碼示例:原因分析:解決方法:結(jié)論: 方法的重載 (Overload) 什么是方法重載? 舉例:解決方法:🔺重載和重寫的區(qū)別是什么?方法的遞歸 什么是遞歸?遞歸代碼示例:代碼過程分析:遞歸的理解總結(jié)方法的基本用法 方法定義

方法就是一個功能

方法就是一個代碼片段,類似于 C 語言中的 “函數(shù)”

基本語法格式:

//方法定義修飾符 返回值類型 方法名稱([形式參數(shù)列表 ...]){方法體; [return 返回值];}

注意事項:

在現(xiàn)階段,方法的修飾暫時采用—> public static 固定搭配[ ]內(nèi)部的表示可有可無方法必須定義在類中方法名要采用小駝峰的形式Java中的返回值可有可無,看業(yè)務(wù)需求,若有返回值,返回值類型需要和方法的返回值類型匹配行書參數(shù)列表:形參,是實參的一份拷貝方法體:具體功能的實現(xiàn)為什么方法一般用public static修飾?

因為當(dāng)前所有方法寫完之后,若調(diào)用,都會在main方法中調(diào)用,而main方法是public static的

代碼示例:

public class DemoOne { // 實現(xiàn)一個兩個整數(shù)相加的方法 public static int add(int x,int y){return x+y; } public static void main(String[] args) {int a = 212;int b = 454;//方法調(diào)用int ret = add(a,b);System.out.println(ret); }}注意事項: 方法定義時,參數(shù)可以沒有,若有參數(shù),每個參數(shù)要指定類型 方法定義時,返回值也可以沒有,比如main方法,如果沒有返回值,則返回值類型必須寫成 void 方法定義不能嵌套 Java 中沒有 “函數(shù)聲明” 這個概念 方法必須定義在類之中,方法定義的位置在調(diào)用位置的上方或者下方均可 方法調(diào)用的調(diào)試過程

一個程序猿最厲害的不在于能寫出多牛X的代碼,而是能夠解決代碼的問題!!

IDEA 的調(diào)試過程:

打斷點

一篇文章帶你了解Java方法的使用

開始調(diào)試,點擊'甲殼蟲'

一篇文章帶你了解Java方法的使用

點擊后,會出現(xiàn)下邊這個框

一篇文章帶你了解Java方法的使用

注意事項: 參數(shù)傳遞完畢后,就會執(zhí)行到方法代碼體 定義方法的時候, 不會執(zhí)行方法的代碼. 只有調(diào)用的時候才會執(zhí)行 一個方法可以被多次調(diào)用 (遇到 return ) 方法執(zhí)行完畢后,回到方法調(diào)用位置繼續(xù)執(zhí)行 當(dāng)方法被調(diào)用時,會將實參賦值給形參 Java中只有按值傳遞 暫停調(diào)試

一篇文章帶你了解Java方法的使用

方法的重復(fù)調(diào)用:

//求三個數(shù)的最大值public static int maxThreeNum(int num1,int num2,int num3){return maxNum(maxNum(num1,num2),num3); //方法的重復(fù)調(diào)用}//兩個數(shù)的最大值public static int maxNum(int x,int y){ return x>y ? x : y;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int num1 = scan.nextInt();int num2 = scan.nextInt();int num3 = scan.nextInt();int max = maxThreeNum(num1,num2,num3);System.out.println('max='+max);}🔺實參和形參的關(guān)系

形參只是方法在定義時需要借助的一個變量,用來保存方法在調(diào)用時傳遞過來的值

代碼示例:

交換兩個整型變量public static void swap(int x,int y){int tmp = x;x = y; y = tmp;}public static void main(String[] args) { //交換兩個整數(shù) int a = 10; int b = 20; swap(a,b); System.out.println(a + ' ' + b);}

運行后會發(fā)現(xiàn),這個方法不能實現(xiàn)交換兩個整型變量的功能

可用類和對象 / 數(shù)組 來實現(xiàn),后邊會講到

原因分析:

方法里交換的是形參 x 和 y 的值,而main方法中打印的是實參 a 和 b 的值

一篇文章帶你了解Java方法的使用

實參a和b是main方法中的兩個變量,其空間在main方法的棧(一塊特殊的內(nèi)存空間)中,而形參x和y是swap方法中的兩個變量,x和y的空間在swap方法運行時的棧中,因此:實參a和b 與 形參x和y是兩個沒有任何關(guān)聯(lián)性的變量,在swap方法調(diào)用時,只是將實參a和b中的值拷貝了一份傳遞給了形參x和y,因此對形參x和y操作不會對實參a和b產(chǎn)生任何影響。

解決方法:

這里不過多解釋,之后寫數(shù)組章節(jié)再作解釋

public static void main(String[] args) {int[] arr = {10, 20}; swap(arr); System.out.println('arr[0] = ' + arr[0] + ' arr[1] = ' + arr[1]);}public static void swap(int[] arr) { int tmp = arr[0]; arr[0] = arr[1]; arr[1] = tmp;}結(jié)論: 在Java中,實參的值永遠都是拷貝到形參中,形參和實參本質(zhì)是兩個實體 對于基礎(chǔ)類型來說,形參相當(dāng)于實參的拷貝,即:傳值調(diào)用 方法的重載 (Overload) 什么是方法重載? 舉例:

在方法sumInt中,若要求兩小數(shù)之和,就不能實現(xiàn),必須再寫一個sumDouble方法,這樣使用很不靈活

兩整數(shù)之和public static int sumInt(int x,int y){ return x+y;}兩小數(shù)之和public static double sumDouble(double x,double y){ return x+y;}解決方法:

方法1 兩整數(shù)之和 public static int sum(int x,int y){ return x+y;}方法2 兩小數(shù)之和 public static double sum(double x,double y){ return x+y;}public static void main(String[] args) { double a = 19.9; double b = 18.8; double ret = sum(a,b); //直接使用 sum System.out.println(ret);}

上述方法1 和方法2 的關(guān)系就是重載

構(gòu)成重載的 3 個條件:

方法名必須相同 返回值可以不同 參數(shù)列表必須不同(參數(shù)的個數(shù)不同 / 參數(shù)的類型不同) (注意事項) 同一個類當(dāng)中🔺重載和重寫的區(qū)別是什么?

方法的重載和重寫都是實現(xiàn)多態(tài)的方式,區(qū)別:重載實現(xiàn)的是編譯時的多態(tài)性,而重寫實現(xiàn)的是運行時的多態(tài)性

①.重載發(fā)生在一個類中,同名的方法如果有不同的參數(shù)列表(參數(shù)類型不同 / 參數(shù)個數(shù)不同)則視為重載②.重寫發(fā)生在子類與父類之間,重寫要求子類被重寫方法與父類被重寫方法有相同的參數(shù)列表,有兼容的返回類型,比父類被重寫方法更好訪問,不能比父類被重寫方法聲明更多的異常。

重載對返回類型沒有特殊的要求,不能根據(jù)返回類型進行區(qū)分。

方法的遞歸 什么是遞歸?

一個方法在執(zhí)行過程中對自身的調(diào)用,稱為'遞歸'

方法要調(diào)用自己本身 要有一個趨近于終止的條件 想辦法推導(dǎo)出'遞歸'的公式 遞歸代碼示例:

求n的階乘:

public static int factor(int n){if(n == 1){ return 1;}return n * factor(n-1);}代碼過程分析:

一篇文章帶你了解Java方法的使用

遞歸的理解

'遞' '歸'理解:

一篇文章帶你了解Java方法的使用

棧的角度理解:

方法的調(diào)用是要在棧上開辟內(nèi)存的,給這個方法開辟棧幀

一篇文章帶你了解Java方法的使用

思考遞歸,要橫向思考,不要試圖去走進遞歸的代碼,代碼執(zhí)行,是縱向執(zhí)行

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注好吧啦網(wǎng)的更多內(nèi)容!

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 喷砂机厂家_自动除锈抛丸机价格-成都泰盛吉自动化喷砂设备 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 圆盘鞋底注塑机_连帮鞋底成型注塑机-温州天钢机械有限公司 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 企小优-企业数字化转型服务商_网络推广_网络推广公司 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 河南凯邦机械制造有限公司| 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | 仓储笼_金属箱租赁_循环包装_铁网箱_蝴蝶笼租赁_酷龙仓储笼租赁 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 气动球阀_衬氟蝶阀_调节阀_电动截止阀_上海沃托阀门有限公司 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 面粉仓_储酒罐_不锈钢储酒罐厂家-泰安鑫佳机械制造有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 涡轮流量计_LWGY智能气体液体电池供电计量表-金湖凯铭仪表有限公司 |