Java从小白到大佬(方法)

本文深入探讨了方法定义的基本概念,包括方法的组成部分、如何定义带返回值和void类型的方法,以及方法调用的不同方式。同时,文章通过实例演示了方法在实际编程中的应用,如数字处理和回文数判断。

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

方法的定义

方法是为了完成一个操作而组合在一起的语句组,为了一次性编写好通用的代码而无需重新编写。

方法的定义与调用

1.方法的定义

方法的定义由方法名、参数、返回值类型以及方法体组成。定义方法的语法如下:

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

方法头是指方法的修饰符、返回值类型、方法名和方法的参数。
方法又可以分为带返回值和不带返回值(void)两种

1)带返回值

修饰符 返回值类型 方法名(参数){
	方法体;
	return 返回值;
}

注意:必须有返回值。即return+??

2)void方法

修饰符 void 方法名(){
	方法体;
	调用语句;
}

注意:对void方法的调用必须是一条语句。void方法不需要return语句,但它能用于终于方法并返回到方法的调用者,他的语法是:

return;

这种方法很少用但是对于改变void方法中的正常流程控制很有用。

2.方法的调用

方法的调用分为两种:1.有返回值的调用;2.void方法的调用

1)有返回值的方法

如果方法返回一个值,对方法的调用通常就当作一个值。例如:

int large=max(3,4);  //调用方法max(3,4)并将结果赋给变量large
System.out.println(max(3,4));//直接将max(3,4)打印输出

2)void方法

如果方法返回void,对方法的调用必须是一条语句。例如:println方法返回void。

System.out.println("Hello Java!");
这种就是println方法返回main中void

3.调用方法时的注意事项

1.方法不调用不执行
2.方法与方法之间是平级关系
3.方法定义是参数用逗号隔开,例如:

public static int reverse(int a,int b){
	...
}

4.方法在调用的时候不用再传数据类型。

4.方法的重载

重载方法可以使得你使用相同的名称来定义不同的方法,只需要他们的数据类型不相同即可。也就是说一个类中有两个方法,他们具有相同的名字,但有不同的参数列表。Java编辑器根据方法签名决定使用那个方法。

public static int max(int a,int b){...}
public static double max(double a,double b){...}
public static char max(char a,char b){...}
系统会根据所输入的数据类型来判断调用哪个方法

5.例题

在这里插入图片描述

import java.util.Scanner;
/*
1.输入一个整数num long
2.在sumDigits方法中对数字进行拆分
*/
class Demo41
{
 public static void main(String[] args){
  System.out.print("请输入一个整数:");
  Scanner scanner=new Scanner(System.in);
  long num=scanner.nextLong();
  int sum=sumDigits(num);
  System.out.print(sum);
 }
 public static int sumDigits(long num){
  int sum=0;
  while(num!=0){
   sum+=num%10;
   num/=10;
  }return sum;
 }
}

2.判断数字是否是回文数

import java.util.Scanner;
class Demo42
/*
1.输入一个数字
2.定义reverse方法拆分数字 用a来接收返回后的值
3.定义isPalindorome方法(用b来接收)用来比较 a和number 如果 a==number 是回文数
                a!=number 不是
4.主方法调用
*/
{
 public static void main(String[] args){
  Scanner scanner=new Scanner(System.in);
  System.out.print("请输入一个数字:");
  int number=scanner.nextInt();
  //调用方法
  int sum=reverse(number);
  boolean b=isPalindorome(sum,number);
  System.out.println("数字"+sum+"是否是回文数? " +b);
 }
 public static int reverse(int number){
  int sum=0;
  while(number!=0){
   sum=sum*10+(number%10);
   number/=10;
  }
  return sum;
 }
 public static boolean isPalindorome(int sum,int number){
  if(sum==number){
   return true;
  }else{
   return false;
  }
 }
}

在这里插入图片描述

class Demo44
/*
1.遍历1-20 每次循环里面都有一次对方法m(i)调用
2.方法m(int i)
     double sum=sum+1.0*i/(i+1)
3.打印
*/
{
 public static void main(String[] args){
  double num=0;
  for(int i=1;i<=20;i++){
   num=num+m(i);
   System.out.print(i+"    "+"    "+num);
   System.out.println();
  }
 }
 public static double m(int i){
  double sum=1.0*i/(i+1);
  return sum;
 }
}

4.判断回文数?

/*
主函数:num=0;
1.判断该数是个素数且是个回文数
 isPrime(num)  isPalindrome(num)
2.count=0开始计数 如果是素数且是回文数 count++ num++
     否则   num++
3.当count%10==0 换行
*/
{
 public static void main(String[] args){
  int count=0;
  int num=2;
  while(count!=100){
   if(isPrime(num)&&weNeed(num)){
    System.out.print(num+" ");
    count++;
   if(count%10==0){
    System.out.println();
    }
   }
    num++;
  }
 }
 public static boolean isPrime(int num){ //判断是否是素数
  for(int i=2;i<=num/2;i++){
   if(num%i==0){
    return false;
   }
  }
  return true;
 }
 public static int isPalindrome(int num){ //做数字的反转
  int sum=0;
  while(num!=0){
   sum=sum*10+(num%10);
   num/=10;
  }
   return sum;
 }
 public static boolean weNeed(int num){//判断反转过的数字是否与原值相等
  return num==isPalindrome(num);
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值