android java全栈_Java全栈第三篇-方法初探

一、定义方法的基本格式

修饰符 返回值类型 方法名(参数列表){

方法体;return结果;

}

1、 修饰符:public static 固定写法 (初期仅当记忆)

2、返回值类型: 表示方法运行的结果的数据类型 (即return后的返回值所属的类型),方法执行后将结果返回到调用处 (通常为main所调用的位置)

3、 参数列表:方法在运算过程中的未知数据,由参数类型和参数名称两部分组成(即创建方法中括号中的数据,只定义不赋值,参数如果有多个,使用逗号进行分隔),调用处调用方法时传递(调用处在调用方法时,会往括号中赋值)

4、return:将方法执行后的结果带给调处,方法执行到return ,整体方法运行结束(在没有返回值数据时可以省略不写)

//要求:调用方法打印一个五行十列的星形矩阵

public classJuZhen {public static voidmain(String[] args) {

method1();

}public static voidmethod1() {for (int i = 0; i < 5; i++) {for (int j = 0; j < 10; j++) {

System.out.print("*");

}

System.out.println();

}

}

}//测试结果:

**********

**********

**********

**********

**********

二、定义方法两个明确及注意事项

1、两个明确:

(1)明确返回值类型:知道自己调用方法需要返回的结果是什么类型。(通过计算的值的类型可以推出返回值类型)

(2)明确参数列表:调用方法计算时参与计算的值的数据类型和数据个数。

2、方法调用的流程图解:

3f462921a675344fa3ac930ed3abdddb.png

3、定义方法的注意事项:

(1)方法定义的先后顺序无所谓。

(2)方法定义必须是挨着的,不能在一个方法的内部定义另外一个方法。

(3)方法定义之后,自己不会执行的;如果希望执行,一定要进行方法的调用。

三、三种调用方法格式

1、单独调用:方法名称(参数);

2、打印调用:System.out.println(方法名称(参数));

3、赋值调用:数据类型 变量名称 = 方法名称(参数);

4、注意事项:若返回值类型为void,这种方法只能单独调用,不能进行打印调用和赋值调用。

public classMethod2 {public static voidmain(String[] args) {//单独调用

sum(15, 25);//40//打印调用

System.out.println(sum(15, 25)); //40//赋值调用

int number = sum(15, 25);

number=number+100;

System.out.println("变量的值:" + number); //140

}public static int sum(int a, intb) {return (a+b);

}

}

四、有参数和无参数方法的比较

1、含参数方法:一个方法需要数据进行对比、运算时,通常采用含参数的方法(即小括号内参数列表内含有参数)。

2、不含参数方法:一个方法不需要数据进行对比、运算时,通常采用不含参数的方法(即小括号内参数列表内不含有参数)。

源代码:public classMethodCan {public static voidmain(String[] args) {

System.out.println("两个数大小是否相等" + method1(3, 4));

method2();

}//定义一个方法能够对两个数的大小是否相等

public static boolean method1(int a, intb) {return (a ==b);

}//定义一个方法能够连续输出十次I am a bird

public static voidmethod2() {for (int i = 0; i < 10; i++) {

System.out.println("I am a bird" + (i + 1));

}

}

}

运行结果:

两个数大小是否相等false

I am a bird1

I am a bird2

I am a bird3

I am a bird4

I am a bird5

I am a bird6

I am a bird7

I am a bird8

I am a bird9

I am a bird10

五、有返回值和无返回值的比较

1、有返回值:通过一系列的运算或者判断得到的结果,调用处需要调用它的值,此时需要采用(return  + 返回值)向调用处发送返回值。

2、无返回值:通过一系列的运算或者判断得到的结果,调用处不需要调用它的值,此时返回值类型采用void且不需要(return+返回值)向调用处发送返回值。(通常表现为直接采用输出语句输出数据)

3、注意事项:

(1)对于有返回值的方法,可以使用单独调用、打印调用或者赋值调用。但是对于无返回值的方法,只能使用单独调用,不能使用打印调用或者赋值调用。

(2)返回值与参数无关,有参数可能有返回值,也可能没有返回值。

(3)对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。

(4)一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。(如if-else语句中针对不同情况可能使用不同的return)

源代码(同上,仅加上分析):public classMethodCan {public static voidmain(String[] args) {

System.out.println("两个数大小是否相等" + method1(3, 4));

method2();

}//定义一个方法能够对两个数的大小是否相等,需要返回一个boolean值

public static boolean method1(int a, intb) {return (a ==b);

}//定义一个方法能够连续输出十次I am a bird,不需要返回值,只需要输出即可

public static voidmethod2() {for (int i = 0; i < 10; i++) {

System.out.println("I am a bird" + (i + 1));

}

}

}

运行结果:

两个数大小是否相等false

I am a bird1

I am a bird2

I am a bird3

I am a bird4

I am a bird5

I am a bird6

I am a bird7

I am a bird8

I am a bird9

I am a bird10

六、关于定义方法的三个小练习

1、题目:定义一个方法,用来判断两个数字是否相同。

源代码:

public classMethodTest1 {public static voidmain(String[] args) {

System.out.println("这两个数字是否相等:"+mathod1(25,25));

}public static boolean mathod1(int a,intb){boolean result = (a==b);returnresult;

}

}

运行结果:

这两个数字是否相等:true

2、题目:求出1到100之间的所有的和

源代码:

public classMethodTest2 {public static voidmain(String[] args) {

System.out.println("结果是:"+getSum());

}public static intgetSum(){int sum= 0;for (int i = 1; i <= 100; i++) {

sum=sum+i;

}returnsum;

}

}

运行结果:

结果是:5050

3、题目:实现不定次数打印

源代码:public classMethodTest3 {public static voidmain(String[] args) {

Scanner sc= newScanner(System.in);

getNumber(sc.nextInt());

}public static void getNumber(intnum){for (int i = 0; i < num; i++) {

System.out.println("Hello World!"+(i+1));

}

}

}

测试数据:8

运行结果:

Hello World!1Hello World!2Hello World!3Hello World!4Hello World!5Hello World!6Hello World!7Hello World!8

七、方法的重载(Overload)

1、背景:为什么会想到采用重载

答:重复的进行相同形式的运算时,会用到很多的方法名称,而这一系列方法的作用又近乎相同,所以采用方法的重载。

2、定义:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。(只需要记住唯一一个方法名称,就可以实现类似的多个功能。)

3、因素:

(1)相关因素:参数列表:个数不同,数据类型不同,多类型顺序不同。

(2)无关因素:与参数名称无关,与方法返回值类型无关

4、重载方法的调用:根据参数列表中参数的个数、类型、多类型顺序的不同,调用不同的方法。

源代码:public classMethodTest4 {public static voidmain(String[] args) {

System.out.println("结果是:" + method(3));

System.out.println("结果是:" + method(3, 4));

System.out.println("结果是:" + method(3, 4, 5));

}//定义一个只有一个参数的method方法

public static int method(inta) {returna;

}//定义一个有两个参数的method方法

public static int method(int a, intb) {return (a +b);

}//定义一个有三个参数的method方法

public static int method(int a, int b, intc) {return (a + b +c);

}

}

运行结果:

结果是:3结果是:7结果是:12

八、方法的重载两个练习

1、题目:比较两个数据是否相等,参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,并在main方法中进行测试。

源代码:public classMethodSum {public static voidmain(String[] args) {byte a = 10;byte b = 20;

System.out.println(isSame(a, b));

System.out.println(isSame((short) 20, (short) 20));

System.out.println(isSame(11, 12));

System.out.println(isSame(10L, 10L));

}public static boolean same(byte a, byteb) {booleansame;if (a ==b) {

same= true;

}else{

same= false;

}returnsame;

}public static boolean same(short a, shortb) {boolean same = a == b ? true : false;returnsame;

}public static boolean same(int a, intb) {return a ==b;

}public static boolean same(long a, longb) {if (a ==b) {return true;

}else{return false;

}

}

}

运行结果:false

true

false

true

2、题目:模拟输出语句中的println方法效果,传递什么类型的数据就输出什么类型的数据,只允许定义一个方法名println。

源代码:public classMethodTest5 {public static voidmain(String[] args) {

println(10);

}public static void println(bytea) {

System.out.println(a);

}public static void println(shorta) {

System.out.println(a);

}public static void println(inta) {

System.out.println(a);

}public static void println(longa) {

System.out.println(a);

}public static void println(floata) {

System.out.println(a);

}public static void println(doublea) {

System.out.println(a);

}public static void println(chara) {

System.out.println(a);

}public static void println(booleana) {

System.out.println(a);

}

}

运行结果:10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值