如何使用葫芦侠修饰符?如何使用它(请解释如何使用huluxian修饰符)

提纲:

1、方法的概念2、方法语法3、方法使用4、参数5、返回值6、方法的分类7、作业

一、方法的概念

1.1、什么是方法

Java中的方法,类似于其他语言的函数,一段用来完成特定功能的代码。这段代码可以被多次调用并执行。 函数:function方法:method

1.2、为什么使用方法/函数

如果程序中某个功能需要执行多次的时候,CV大法,代码有以下问题:1、代码过于臃肿!2、阅读性极差!3、维护性也差!

1.3、方法的作用

1、避免重复代码,增强程序的可读性。2、提高程序的可维护性。

二、方法的语法

2.1、方法的使用

step1:方法声明,只是做一个方法声明,里面写清楚方法的代码。但是这些代码并不执行。 step2:方法的调用,调用几次,方法中的代码就执行几次。

2.2、方法的语法

1.声明一个方法的语法: 比照葫芦画瓢:照main函数声明一个方法publicstaticvoidmain(String[] args){}/* public static :不要问!!! void:一个方法的返回值,void词义"空的",就表示该方法没有返回值。 返回值:一个方法执行后,返回给调用处的结果。未完待续。。。 main,方法名,满足标识符的命名规范。 (),是方法的标志。 参数:未完待续。。 {},里面的代码就是方法体(method body)。 */2.声明方法的语法格式: [修饰符1,修饰符2...] 返回值类型 方法名(形式参数){ 方法体;//方法中的代码} ​

注意点:方法在哪里声明啊?类里,其他方法外。一定不能把一个方法的声明写在另一个方法里。

示例代码:

publicclassTest1Method{ ​ ​publicstaticvoidmain(String[] args){//程序的入口,JVM/* 方法是条狗,哪里需要哪里吼!! 方法名 *///1.此处要求1-10的和//step2:调用方法getSum();//调用处​ System.out.println("此处是其他的代码。。10行。。"); ​//2.此处又需要求1-10的和getSum();//调用处​ System.out.println("helloworld..."); ​//3.又需要求1-10的和getSum();//调用处​ System.out.println("main...over..."); } ​ ​//定义一个我自己写方法-->用于求和,1-10的和publicstaticvoidgetSum(){intsum =0;for(inti=1;i <=20;i++){ sum += i; } System.out.println("1-20的和:"+sum); } ​ ​ ​ }

示例代码:

publicclassTest3Method{//定义的方法,用于打印一行分割线publicstaticvoidprintLine(){for(inti=0;i<20;i++){ System.out.print("-"); } System.out.println(); } ​ ​publicstaticvoidmain(String[] args){//打印《改良版静夜思》这首诗,每打印一句诗,来一行分割线System.out.println("窗前明月光"); printLine(); System.out.println("疑是地上霜"); printLine(); ​ System.out.println("举头望明月"); ​ printLine(); ​ System.out.println("地上鞋三双"); printLine(); } } ​

三、方法的参数

什么是参数?当前方法执行的时候所需要的外部(调用处)传入的数据。

形式参数:简称叫形参。声明方法的时候,用于接收外部传入的数据。实际参数:简称叫实参。调用方法的时候,给形参所赋值,实际的数据。

调用方法的时候,用实际参数给形式参数进行赋值,这个过程被称为传参。(参数传递:实参-->形参)

1、当我们在设计一个方法的时候,要看方法中有几个数值无法确定,需要由调用处传入,那么就设计几个参数。多个参数之间使用,分隔开。2、方法调用的时候:实参一定一定严格匹配形参:实参是按照顺序一一配给形参。个数,类型,顺序,严格匹配。

示例代码:

publicclassTest1Param{//该方法用于求1-10的和/* 将方法中,不知道具体的数值的变量,不要声明在方法里,写成参数。 ​ 参数: 形参的用途:专门用于接收,调用方法的时候,外部传入的数据 实参:在调用方法的时候,传给形参的实际的数值。 */publicstaticvoidgetSum(intn){//形式参数,简称形参intsum =0;//局部变量:必须赋值才能使用for(inti=1;i <= n;i++){ sum += i; } System.out.println("1-"+ n +"的和:"+sum); } ​ ​publicstaticvoidmain(String[] args){//JVM自动//求和,1-10的和getSum(10);//实际参数//。。。//求和,1-20的和​ getSum(20);//n=20//...//求和,1-100的和getSum(100);//n=100} }

方法调用时,实参必须严格匹配形参。示例代码:

publicclassTest2Param{//该方法用于比较2个int数的大小publicstaticvoidcompare(inta,intb){ System.out.println(a); System.out.println(b);if(a > b){ System.out.println(a +" > "+ b); }elseif(a < b){ System.out.println(a +" < "+ b); }else{ System.out.println(a +" = "+ b); } } ​//测试参数:publicstaticvoidtest1(inta,doubleb,String c){ System.out.println("a:"+a); System.out.println("b:"+b); System.out.println("c:"+c); } ​ ​publicstaticvoidtest2(){for(inti=1;i<=10;i++){ System.out.println("hello world。。"); } } ​publicstaticvoidmain(String[] args){//课堂练习:设计一个方法,用于比较2个数的大小compare(5,10); ​ test1(10,"haha",3.14); System.out.println("Hello World!"); } } ​

四、方法的返回值

1、什么叫返回值? 返回值:表示一个方法执行之后,需要返回给调用处的结果。需要在调用处声明一个变量,来接收这个结果。 返回值的注意点: A:一个方法可以有返回值,也可以没有。 如果有,那么返回值的类型,要在声明声明方法的时候写清楚,如果没有返回值就写void(空的)。publicstatic返回值类型/void方法名(形式参数){ 方法体; } B:如果一个方法有返回值,那么只能返回一个。 C:如果一个方法声明了有返回值,那么在方法中,必须使用return语句将数值返回。 ​

4.1、return语句

词义:"返回"

return语句有两个作用1、将一个方法的结果返回给调用处。2、结束该方法的执行。

示例代码:

classTest3Return{//声明方法的时候,需要写清楚该方法的返回值,是什么类型就写什么类型,//如果该方法没有返回值,就写voidpublicstaticintgetSum(){intsum =0;for(inti=1;i<=10;i++){ sum += i; }returnsum;//将sum的值,传递给方法的调用处} ​publicstaticvoidmain(String[] args){//一个方法有返回值,举例:设计一个方法,求1-10的和。需要将结果,在main中打印。intres = getSum();//相当于int res = sum​ System.out.println("1-10的和:"+ res);//55​ System.out.println(getSum());//55​ ​ ​ } } ​

return语句的注意点:

A:一个方法声明了有返回值,那么方法中必须使用return关键字将结果返回给调用处。 B:一个方法声明了有返回值,那么方法中如果有分支,循环语句等,要保证无论执行哪个分支,都要有return语句可以被执行到。 C:一个方法声明了有返回值,那么return后的数值必须和声明的数据类型一致。(自动转型) D:一个方法如果没有返回值,那么也可以使用return语句,结束方法的执行。 E:习惯上return后没有语句了。

示例代码:

classTest4Return{//1.方法声明有返回值,那么方法中必须有return语句,返回结果。publicstaticinttest1(){return1; ​ } ​//2.方法上声明的返回值类型,和实际返回的数值的类型,要匹配。//但是包含那些兼容的可以自动转型的类型//int:byte,short,char,int//double:byte,short,char,int,long,float,doublepublicstaticbytetest2(){intb1 =3;return(byte)b1; } ​publicstaticinttest3(){return1;//回传数据,结束方法//return 2;//无法访问的语句}//如果一个方法中没有返回值,使用return就是结束方法。publicstaticvoidtest4(){intage =-30;if(age <0){return; } System.out.println(age); }publicstaticinttest5(){intage =-30;if(age >0){//分支,循环--->看条件returnage; }else{return0; } } ​publicstaticvoidtest6(){for(inti=1;i<=10;i++){if(i==5){//break;//结束了这个循环,代码向下继续执行。。return;//结束这个方法的执行。。} System.out.println(i); } System.out.println("test6...over..."); } ​//思考test7代码是否有误?publicstaticinttest7(){for(inti=1;i<=10;i++){returni; } }publicstaticvoidmain(String[] args){//System.out.println(test5());​ test6(); } } ​

4.2、方法的分类

1.无参无返回值的方法:publicstaticvoidmethodName(){ ​ }2.有参无返回值的方法:publicstaticvoidmethodName(形式参数){ }3.无参有返回值的方法:publicstaticreturnTypemethodName(){ }4.有参有返回值的方法:publicstaticreturnTypemethodName(形式参数){ }

五、递归方法

递归:英文单词:Recursion

函数/方法,调用? 方法在有需要的位置调用即可。 一个方法中可以调用另一个方法。 一个方法中也可以自己调用自己。递归方法。

可能出现的问题:Exception in thread "main" java.lang.StackOverflowError,栈空间溢出异常。

方法自己调用自己要有出口,逐渐的向出口靠近

示例代码:

publicclassTest1Recursion{//递归方法publicstaticintgetSum(intn){ System.out.println("******");if(n ==1){return1; }else{returngetSum(n -1) + n; } } ​ ​publicstaticvoidmain(String[] args){/* 求1-5的和: +1+2+3+4+5 ​ ​ +1+2+3+4 +5 ​ ​ 求1-n的和:getSum(n),该方法用于表示求1-n的和。 ​ getSum(5) ​ :getSum(4) + 5 ​ :getSum(3) + 4 ​ ​ :getSum(2) + 3 ​ ​ getSum(1) + 2 ​ 1 ​ */intres = getSum(5); System.out.println(res); ​ Scanner sc =newScanner(System.in); ​intnum = sc.nextInt(); } }

六、作业

1、设计一个方法,接收2个整数作为参数,返回较大的一个数。

2、设计一个方法,求n的阶乘。并返回结果。

3、设计一个方法,使用*打印正方形。正方形的边长,由参数传入。

网络讯息

龙贝儿红外额温计怎么设置

2022-12-9 16:57:32

网络讯息

为什么要考公务员你有更好的选择(为什么还要考公务员)

2022-12-9 16:59:01

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索