java 函数 和方法_Java基础语法(下)-函数与方法

01.方法定义格式及格式解释

packagecom.bird_01;/** 方法:其实就是完成特定功能的代码块

*

* 定义格式:

* 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){

* 方法体;

* return 返回值

* }

* 格式解释:

* A:修饰符 目前记住public static

* B:返回值类型 用于限定返回值的数据类型

* C:方法名 为了方便我们调用方法的名字

* D:参数类型 用于限定调用方法时传入的数据的类型

* E:参数名 用于接收调用方法时传入的数据的变量

* F:方法体 完成功能的代码

* G:return 结束方法,并且把返回值带给调用者

**/

public classMethodDemo {

}

02.求和方法的编写

packagecom.bird_01;/** 写一个方法有两个明确:

* A:返回值类型 明确功能结果的数据类型

* B:参数列表 明确有几个参数,以及参数的数据类型*/

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

}/** 两个明确:

* 返回值类型:int

* 参数列表:int a, int b*/

public static int sum(int a,intb){int c = a +b;returnc;

}

}

03.求和方法的调用

packagecom.bird_01;/** 方法的调用:(有明确返回值的方法调用)

* A:单独调用:没有意义

* B:输出调用,有意义,但是不够好,因为我可能需要拿结果进行进一步的操作

* C:赋值调用,推荐方式*/

public classMethodDemo2 {public static voidmain(String[] args) {//单独调用//sum(10,20);//输出调用//System.out.println(sum(10,20));//赋值调用

int result = sum(10,20);//可以对result进行操作//result += 10;

System.out.println(result);

}/** 求和方法

*

* 两个明确: 返回值类型:int 参数列表:int a,int b

**/

public static int sum(int a, intb) {int c = a +b;returnc;

}

}

04.求和方法调用图解

8ab8928c74ec9736e970f402360b9531.png

05.方法练习之获取两个数据中较大值

packagecom.bird_01;importjava.util.Scanner;/** 键盘录入两个数据,返回两个数中的较大值*/

public classMethodTest {public static voidmain(String[] args) {//创建输入对象

Scanner sc = newScanner(System.in);//接收数据

System.out.println("请输入第一个数据");int a =sc.nextInt();

System.out.println("请输入第二个数据");int b =sc.nextInt();//调用方法

int c =getMax(a, b);

System.out.println("最大的数是:" +c);

}/** 返回两个数中的较大值

*

* 两个明确: 返回值类型:int 参数列表:int a,int b*/

public static int getMax(int a, intb) {if (a >b) {returna;

}else{returnb;

}

}

}

06.方法练习之比较两个数是否相等

packagecom.bird_01;importjava.util.Scanner;/** 键盘录入两个数据,比较两个数是否相等*/

public classMethodTest2 {public static voidmain(String[] args) {//创建输入对象

Scanner sc = newScanner(System.in);//接收数据

System.out.println("请输入第一个数据");int x =sc.nextInt();

System.out.println("请输入第二个数据");int y =sc.nextInt();//调用方法

boolean b =compare(x,y);//输出结果

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

}/** 比较两个数是否相等

*

* 两个明确: 返回值类型:boolean 参数列表:int a,int b*/

public static boolean compare(int a, intb) {if (a ==b) {return true;

}else{return false;

}

}

}

07.方法练习之比较三个数的最大值

packagecom.bird_01;importjava.util.Scanner;/** 键盘录入三个数,返回其中最大值*/

public classMethodTest3 {public static voidmain(String[] args) {//创建键盘输入对象

Scanner sc = newScanner(System.in);//接收录入数据

System.out.println("请输入第一个数据");int a =sc.nextInt();

System.out.println("请输入第二个数据");int b =sc.nextInt();

System.out.println("请输入第三个数据");int c =sc.nextInt();//调用方法

int max =getMax(a,b,c);//输出结果

System.out.println("最大数是:"+max);

}/** 返回三个数的最大值

*

* 两个明确: 返回值类型:int 参数列表:int a, int b,int c*/

public static int getMax(int a, int b, intc) {int max =a;if (b >max) {

max=b;

}if (c >max) {

max=c;

}returnmax;

}

}

08.void修饰符方法的调用

packagecom.bird_02;/** 需求:写一个方法,在控制台输出10次HelloWorld案例

*

* 两个明确:

* 返回值类型:void

* 参数列表:无

*

* 如果一个方法没有明确的返回值类型,也不能把返回值类型空出来,应该写void表示无返回值类型。

*

* 方法调用:(void修饰符方法调用)

* 只能单独调用*/

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

printHelloWorld();//输出调用//System.out.println(printHelloWorld());//赋值调用//void v = printHelloWorld();

}/** 在控制台输出10次HelloWorld

*

* 两个明确:

* 返回值类型:void

* 参数列表:没有参数*/

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

System.out.println("HelloWorld");

}

}

}

09.方法练习之打印1~n之间的数

packagecom.bird_02;/** 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值*/

public classMethodTest {public static voidmain(String[] args) {//调用方法

printNumber(10);

}/** 写一个方法,传递一个整数(大于1),在控制台打印1到该数据的值

*

* 两个明确:

* 返回值类型:void

* 参数列表:int n*/

public static void printNumber(intn){for(int i=1;i<=n;i++){

System.out.print(i+" ");

}

}

}

10.方法练习之打印所有的水仙花数

packagecom.bird_02;/** 写一个方法,使用打印所有水仙花数在控制台*/

public classMethodTest1 {public static voidmain(String[] args) {//调用

printFlower();

}/** 写一个方法,使用打印所有水仙花数在控制台

*

* 两个明确:

* 返回值类型:void

* 参数列表:没有参数*/

public static voidprintFlower(){for(int i=100;i<1000;i++){int ge = i%10;int shi = i/10%10;int bai = i/100%10;if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==i){

System.out.println(i);

}

}

}

}

11.方法重载的概述和基本使用

packagecom.bird_03;/** 方法重载:在同一个类中,出现了方法名相同的情况

* 方法重载特点:

* 方法名相同,参数列表不同。与返回值无关

* 参数列表不同:

* 参数的个数不同

* 参数对应的类型不同

*

* 注意:

* 在调用方法的时候,java虚拟机会通过参数列表的不同来区分同名的方法*/

public classMethodDemo {public static voidmain(String[] args) {//定义变量

int a = 10;int b = 20;//求和方法

int ruselt =sum(a, b);

System.out.println("ruselt:" +ruselt);//定义变量

int x = 10;int y = 20;int z = 30;//求和方法

int ruselt2 =sum(x, y, z);

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

}//不能出现方法名相同,参数类型相同的情况//public static int sum(int x,int y){//

//}//求三个数据的和

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

}//求两个数据的和

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

}

}

12.方法重载练习之比较两个数据是否相等

packagecom.itheima_03;/** 比较两个数据是否相等。参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,并在main方法中进行测试*/

public classMethodTest {public static voidmain(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

public static boolean compare(byte a,byteb) {

System.out.println("byte");return a ==b;

}//short

public static boolean compare(short a,shortb) {

System.out.println("short");return a ==b;

}//int

public static boolean compare(int a,intb) {

System.out.println("int");return a ==b;

}//long

public static boolean compare(long a,longb) {

System.out.println("long");return a ==b;

}

}

13.方法的形式参数是基本类型

packagecom.bird_04;/** 方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。

*

* 形式参数:用于接收实际参数的变量

* 实际参数:实际参与运算的变量*/

public classArgsDemo {public static voidmain(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

}

}

14.方法的形式参数是基本类型图解

204203dd006606d8961fcdcfea8b5c38.png

15.方法的形式参数是引用类型

packagecom.bird_04;/** 如果参数是引用数据类型:

* 形式参数的改变直接影响实际参数*/

public classArgsDemo2 {public static voidmain(String[] args) {int[] arr = {1,2,3,4,5};for(int x=0; x

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

}

change(arr);for(int x=0; x

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

}

}public static void change(int[] arr) {for(int x=0; x

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

{

arr[x]*=2;

}

}

}

}

16.方法的形式参数是引用类型图解

5595cfde8ef9213c8281cabf795edee4.png

17.方法练习之数组遍历

packagecom.bird_05;/** 把遍历数组改进为方法实现,并调用方法*/

public classMethodTest {public static voidmain(String[] args) {//声明数组

int[] arr = { 11, 22, 33, 44, 55};//调用方法

printArray(arr);

}/** 两个明确: 返回值类型:void 参数列表:int[] arr*/

public static void printArray(int[] arr) {

System.out.print("[");for (int i = 0; i < arr.length; i++) {if (i == arr.length - 1) {

System.out.print(i+ "]");

}else{

System.out.print(i+",");

}

}

}

}

18.方法练习之获取数组最值

packagecom.bird_05;/** 把获取数组最值用方法实现,并调用*/

public classMethodTest2 {public static voidmain(String[] args) {//定义数组

int[] arr = {22,88,61,72,10};

//调用方法int max =getMax(arr);

System.out.println("数组最大数max="+max);

}/** 两个明确:

* 返回值类型:int

* 参数列表:int[] arr*/

public static int getMax(int[] arr){//定义参照数

int max = arr[0];//循环比较

for(int i=1;imax){

max=arr[i];

}

}returnmax;

}

}

19.方法练习之数组元素求和

packagecom.bird_05;/** 写一个方法,用于对数组进行求和,并调用方法。*/

public classMethodTest3 {public static voidmain(String[] args) {//定义数组

int[] arr = {1,2,3,4,5};//调用方法

int sum =sum(arr);

System.out.println("数组的总和是"+sum);

}/** 两个明确:

* 返回值类型:int

* 参数列表:int[] arr*/

public static int sum(int[] arr){//定义求和参数

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

sum+=arr[i];

}returnsum;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值