Java 基础day05

本文围绕Java基础中方法和方法重载展开。介绍了方法的定义、使用原因及使用方法,包括声明、参数和返回值等注意事项。还阐述了方法重载的概念,即同类同名但参数列表长度、类型或顺序不同,同时给出了调用时的匹配规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 基础day05

在这里插入图片描述

方法

注意事项

1:什么是方法?函数
方法就是一个段代码的集合,
这段代码完成了某个具体的功能 业务场景()。
一个方法就是一个功能。
2:为什么使用方法?
避免main方法中的代码堆积,造成后期的拓展以及维护的成本增加。
3:如何使用方法?
a:照着main方法抄了一个方法,少了String[] args
b:在方法中通过方法名称调用需要执行的方法
方法()中的内容 参数,就相当于一个天线,用来接收调用者发送的数据信息。
声明一个方法 将方法计算出来的结果 让其他方法也可以使用
一个方法中声明了void 证明该方法无返回值。
不能写return返回语句。
如果一个方法存在返回结果,方法的什么处的void修改为返回数据的数据类型。
在方法体最后一行语句通过return返回具体的值。

代码

import java.util.Scanner;
public class Demo05{
public static void main(String[] args){
System.out.println("请输入计算的圆的半径>>>>>>");
//创建一个Scanner对象
Scanner input = new Scanner(System.in);
//通过Scanner对象中的nextInt方法获取用户输入的int值
int r = input.nextInt();
double area = getArea(r);
System.out.println("请输入计算的圆柱体的高>>>>>>");
//通过Scanner对象中的nextInt方法获取用户输入的int值
int width = input.nextInt();
//计算半径为r的圆的周长
double length = getZC(r);
//计算矩形的表面积
double jArea = getArea(length,width);
//计算圆柱体的表面积
double sumArea = getYZT(area,jArea);
System.out.println("以半径为"+r+"的,高为"+width+"的圆柱体的表面积是:"+sumArea);
}
public static double getYZT(double yArea,double jArea){
return yArea*2+jArea;
}
    public static double getZC(int r){
//参数判定 代码的健壮性更好  防御性编程
if(r==0){
return 0;
}
方法重载
方法重载面试题
//计算周长
double pi = 3.14;
double zc = 2*pi*r;
//返回周长
return zc;
}
/**
计算矩形的面积
*/
public static double getArea(double length,int width){
double area = length*width;
//System.out.println(area);
return area;
}
/**
计算半径r的圆的面积
*/
public static double getArea(int r){
//声明一个变量存放pi的值
double pi = 3.1415;
//声明圆的半径
//int r = 4;
//计算面积
double area = pi*r*r;
System.out.println("半径是"+r+"的圆的面积是"+area);
return area;
}
}

tips:

1:如何声明?
照着main方法抄
2:这个方法完成什么功能
知道了方法中的逻辑如何编写
3:这个方法的执行需不需要帮忙?
参数列表
1:方法就是一个功能模块,完成某个功能。
不要重复造轮子。方法是可以复用的。
2:变量:首字母小写 其它每个单词的字母均大写
类: 首字母大写 其它每个单词的字母均大写
方法:首字母小写 其它每个单词的字母均大写

//@+单词 注解
@param r 需要计算的圆的半径
@return double 返回计算的圆的周长

方法重载

在一个类当中编写方法的时候,多个方法其实所做的事情是一样的
为了契合方法起名要见名知意,方法名称可以一样。
在一个类中定义同名方法是可以的,称之为重载。
2同
同类
同名
3不同
参数列表长度不同
参数列表类型不同
参数列表顺序不同

tips
  1. 最近最优
    char
    byte short int long float double
    如果没有基本数据类型 接下来找基本数据类型的包装类
    才会找可变参数

面试题

public class Demo07{
public static void main(String[] args){
char ch = 'A';
info(ch);
}
/*public static void info(char ch){
System.out.println("info char");
}*/
public static void info(int ch){
System.out.println("info int");
}
/*public static void info(long ch){
System.out.println("info long");
}*/
public static void info(double ch){
System.out.println("info double");
}
}
/**
重载方法的面试题
以下程序中输出什么内容
如果程序中的重载方法,都没有完全符合的。
但是存在多个能够调用的方法时,程序会报错
*/
public class Demo08{
public static void main(String[] args){
info(12,12.1f);
}
public static void info(char ch,double d){
System.out.println("info char ch,double d");
}
public static void info(int ch,double d){
System.out.println("int ch,double d");
}
public static void info(long ch,float d){
System.out.println("long ch,float d");
}
}
/**
重载方法的面试题
以下程序中输出什么内容
*/
public class Demo09{
public static void main(String[] args){
info(12);
}
/*public static void info(long l){
System.out.println("info long l");
}*/
/*public static void info(Integer in){
System.out.println("Integer in");
}*/
/*
jdk1.5之后,支持可变参数
*/
public static void info(int ... ins){
System.out.println("Integer ... ins");
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值