Java基础(十一)---- 方法的详细介绍
一、定义方法的格式详解
1.方法的含义
方法就是若干语句组成一个功能
2.方法介绍
方法就像一个工厂:有进去的东西也有出来的东西
例如:
面粉工厂 原料:小麦
产品:面粉
钢铁工厂 原料:铁矿石、煤炭
产品:钢铁
方法的
参数
:进入方法的数据(相当于进入工厂的原料)
方法的返回值
:从方法出来的数据(相当于工厂生产的产品)
3.完整定义格式
修饰符 返回值类型 方法名称(参数类型 参数名称,参数类型 参数名称,……){
方法体;
return 返回值;
}
各部分解释
修饰符:现阶段固定写法,public static
返回值类型:方法最终产生的数据结果是是什么类型
方法名称:方法的名字,命名规则和变量一样,小驼峰
参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
PS:参数
如果有多个
,使用逗号
进行分隔
方法体:方法需要做的事情,若干行代码
return:两个作用①第一停止当前方法②将后面返回值还给调用处
注意:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应
二、方法定义的两个明确,三个要素
1.三要素:返回值类型
、方法名称
、参数列表
2.两明确:有参数无参数
、有返回值无返回值
代码实例
(1)有参数无参数
/*
有参数:小括号内有内容,当一个方法需要一些数据餐能完成任务时,就是有参数
例:两个数相加
无参数:小括号当中留空,一个方法不需要任何数据条件,自己能独立完成,就是无参数
例:打印10次helloworld
*/
public class MethodParam {
public static void main(String[] args) {
method01(23,17);
//System.out.println(method01(12,10));
method02();
}
/*
两个数相乘,必须知道两个数据体是多少,否则无法进行计算
有参数:
*/
public static void method01(int a, int b){
int result = a*b;
System.out.println("结果是"+result);
}
public static void method02(){
for (int a = 0; a < 10; a++) {
System.out.println("HelloWorld"+(a+1));
}
}
}
(2)有返回值无返回值
/*
题目要求:定义一个方法,【求出】两个数字之和
题目变形:定义一个方法,【打印】两个数字之和
*/
/*
返回值类型为void,只能进行单独调用、不能进行打印和赋值调用
*/
public class MethodReturn {
public static void main(String[] args) {
//==========有返回值=============
//单独
System.out.println("返回值是:");
getSum(13,56);
//打印
System.out.println("返回值是:" + getSum(12,25));
//赋值
int c = getSum(15,46);
System.out.println("返回值是:" + c);
System.out.println();
//===========无返回值==============
printSum(12,13);
}
//我是一个方法,我负责两个数字相加
//我有返回值int,谁调用我,我吧计算结果返还给谁
public static int getSum(int a,int b){
int result = a + b;
return result;
}
public static void printSum(int a, int b){
int result = a + b ;
System.out.println("结果是" + result);
}
}
三、调用方法的三种形式
1.单独调用
方法名称(参数);
2.打印调用
System.out.println(方法名称(参数));
3.赋值调用
数据类型 变量名称 = 方法名称(参数);
4.练习
public class MethodCall {
public static void main(String[] args) {
//====================单独调用====================
sum(10,20);
System.out.println("======================");
//====================打印调用====================
System.out.println("a+b的和为:"+sum(1,2));
System.out.println("======================");
//====================赋值调用====================
int num = sum(3,4);
System.out.println("a+b的和为:"+num);
}
public static int sum(int a,int b){
System.out.println("方法已经执行");
int result = a+b ;
return result;
}
}
运行结果如下:
第一个单独调用方法已经执行了,但是由于没有打印语句将返回值打印,所以不显示返回值的值
四、方法调用流程图解
1.图解
2.练习
1.判断两个数是否相等
public class MethodSame {
public static void main(String[] args) {
System.out.println(isame(10,15));//false
System.out.println(isame(10,10));//true
}
public static boolean isame(int a,int b){
//..............................方法1
//boolean same;
//if(a==b){
//same = true;
//}else{
//same = false;
//}
//return same;
//..............................方法2
//boolean same;
//same = a==b ? true:false;
//return same;
//..............................方法3
//boolean same;
//same = a==b;
//return same;
//..............................方法4
return a==b;
}
}
2.求出1~100的和
public class MethodSum{
public static void main(String[] args) {
getSum01();//5050
System.out.println("1~100的和是"+getSum02());
}
//================无返回值的方法===============
public static void getSum01(){
int sum=0;
for( int a=1;a<=100;a++){
sum = sum + a;
}
System.out.println("1~100的和是"+sum);
//System. out. println("....");
}
//================有返回值的方法===============
public static int getSum02(){
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum+=i;
}
return sum;
}
}
3.输出指定次数HelloWorld
public class MethodPrint{
public static void main(String[] args) {
printCount(5);//输出5次HelloWorld
}
public static void printCount(int a){
for( int i=0;i<a;i++){
System.out.println("HelloWorld"+(i+1));
}
}
}
五、定义方法的注意事项
1.
返回值类型为void
,只能进行单独调用
、不能进行打印和赋值调用
2.方法应该定义在类中,不能在方法中再次定义方法
3.方法定义先后顺序无所谓
4.调用之后方法才会执行
5.如果方法有返回值
,那么必须注明 return
返回值;
6.return后面的返回数据
,必须和方法返回值类型对应
起来
7.对于一个没有void没有返回值的方法,不能写return后面的返回值,只能return自己
8.对于无返回值的方法
,最后一行return可以省略不写
9.一个方法中可以有多个return语句
,但必须保证同时只有一个会被执行
,两个return不能连写