解析java中的方法
1.含义
封装的代码块
2.为啥需要方法?
a.为了实现某种功能
b.可以重复调用
3.如何使用方法?
3.1 方法的四种类型
3.1.1 有参有回
a.解释
有参有回指的是方法有参数有返回值
b. 语法
修饰符列表 返回值数据类型 方法名(形参数据类型 形参值1,形参数据类型 形参值2.....){
//形参可以是任意多个,也可以一个也没有
return 返回值;
}
c.示例代码
public class Practice {
static int number;
public static void main(String[] args) {
int year=2022;
if(isLeapYear(year)){
System.out.println(year+"年是闰年");
}else{
System.out.println(year+"年是平年");
}
}
//isLeapYear是有参有返回值的方法,返回值类型为布尔类型
public static boolean isLeapYear(int year){
if(year%400==0||(year%4==0&&year%100!=0)){
return true;
}else{
return false;
}
}
}
d.示例代码运行截图
3.1.2 有参无回
a.解释
有参无回指的是方法有参数没有返回值
b. 语法
修饰符列表 void 方法名(形参数据类型 形参值1,形参数据类型 形参值2.....){
//里面没有返回值
}
c.示例代码
public class Practice {
public static void main(String[] args) {
int year=2000;
LeapYearResult(year);
}
//LeapYearResult是有参无返回值的方法
public static void LeapYearResult(int year){
if(year%400==0||(year%4==0&&year%100!=0)){
System.out.println(year+"年是闰年");
}else{
System.out.println(year+"年是平年");
}
}
}
d.示例代码运行截图
3.1.3 无参有回
a.解释
无参有回指的是方法没有参数但有返回值
b. 语法
修饰符列表 返回值的数据类型 方法名(){
return 返回值;
}
c.示例代码
public class Practice {
static int year=2020;
public static void main(String[] args) {
String result=LeapYearResult();
System.out.println(result);
}
//LeapYearResult是无参有返回值的方法
public static String LeapYearResult(){
if(year%400==0||(year%4==0&&year%100!=0)){
return year+"年是闰年";
}else{
return year+"年是平年";
}
}
}
d.示例代码运行截图
3.1.4 无参无回
a.解释
无参无回指的是方法没有参数也没有返回值
b. 语法
修饰符列表 void 方法名(){
//里面没有返回值
}
c.示例代码
public class Practice {
static int year=2013;
public static void main(String[] args) {
LeapYearResult();
}
//LeapYearResult是有参无返回值的方法
public static void LeapYearResult(){
String result=year+"";
if(year%400==0||(year%4==0&&year%100!=0)){
result+="年是闰年";
}else{
result+="年是平年";
}
System.out.println(result);
}
}
d.示例代码运行截图
3.2 方法的使用
3.2.1 声明方法
修饰符列表 返回值类型 方法名(形参1数据类型 形参1,形参2数据类型 形参2....形参n数据类型 形参n){
//方法体
return 返回值;
//当返回值类型为void时,里面没有返回值
//形参列表可以是0,也可以是多个
}
3.2.2 调用方法
对于static修饰的方法而言,直接方法名调用即可
方法名(实参1数据类型 实参1,实参2数据类型 实参2....实参n数据类型 实参n);
3.3 方法里面的注意事项
a.方法的的执行顺序和其在类体中的书写顺序无关,只与方法的调用顺序有关
b.有返回值的方法也可以不用创建变量去接收,但是一般有返回值的我们都会去接收,其中变量的数据类型必须与返回值类型保持一致,其中对于数值型而言,变量的数据类型的范围可以比返回值的数据类型大
c.有返回值的方法,应该是所有情况都能有返回值,不能只在if里面return,因为编译器会不知道你这个if到底是执行还是不执行,也就是意味着可能没有返回值,也有可能有返回值,编译器对于这种模棱两可的情况会报错,提示编程人员去修复其他情况时应有的返回值
d.方法里面遇到return;,意味着此方法结束,return后面的语句不会执行
e.方法一般是需要调用才能执行的,但main方法是JVM去自动调用它。