当前位置: 首页 > article >正文

Java(day3)

什么是方法

方法,今天讲一下方法。方法有点类似于c语言中的函数,可以这么理解。

在Java语言中方法是程序中最小的执行单元,在实际的开发当中我们可以把重复的、具有独立功能的代码抽取到方法当中去。这样可以提高代码的复用性,可以提高代码的可维护性

方法的格式

  public static 方法返回值类型 方法名称(参数列表){
        方法体
        return 返回值;
    }

简单的方法定义 

public class test1 {
  public static void f1(){
      int a=10,b=20;
      System.out.println(a+b);
  }
  public static void main(String[]args){
      f1();
  }
}

 

带参数的方法定义 

以上面的方法f1来说,只能计算a=10,b=20的值,要是计算别的是不是还要定义别的方法呢?要这样想,方法实现的功能一样两个数的和并打印,就可以抽象成一个方法,只不过传入的参数不同。 

public class test1 {
  public static void f1(int a,int b){
      System.out.println(a+b);
  }
  public static void main(String[]args){
      f1(20,30);
      f1(100,200);
  }
}

 

再讲一下带参方法中的形参和实参。

形参:方法定义中的参数

实参:方法调用的参数 

public class test1 {
  public static void f1(int a,int b){
      System.out.println("长"+a+"宽"+b+"的周长是"+(a+b)*2);
  }
  public static void main(String[]args){
      f1(20,30);
      f1(100,200);
  }
}

 

 

 

public class test2 {
    public static void f(double r){
        double s=3.14*r*r;
        System.out.println("半径为"+r+"的圆的面积是"+s);
    }
    public static void main(String[]args){
        f(10);
        f(20);
    }
}

 

带返回值的方法 

public class test1 {
  public static int f1(int a,int b){
      return a+b;
  }
  public static void main(String[]args){
      //直接调用
      f1(10,10);
      //赋值调用
      int sum=f1(10,10);
      System.out.println(sum);
      //输出调用
      System.out.println(f1(10,10));
  }
}

 

 return关键字

方法的重载 

 


public class test3 {
    public static void bijiao(int a,int b){
        if(a==b)
        System.out.println("a等于b");
        else
         System.out.println("a不等于b");
    }
    public static void bijoao(byte a,byte b){
        if(a==b)
            System.out.println("a等于b");
        else
            System.out.println("a不等于b");
    }
    public static void bijoao(short a,short b){
        if(a==b)
            System.out.println("a等于b");
        else
            System.out.println("a不等于b");
    }
    public static void bijoao(long a,long b){
        if(a==b)
            System.out.println("a等于b");
        else
            System.out.println("a不等于b");
    }
    public static void main(String[]args){
        bijiao(10,10);
        bijiao(10,20);
        bijoao(10,10);
        bijoao(10,20);
        bijoao(10,10L);
        bijoao(10L,10);
    }
}

 方法在内存中是在栈区的

方法的值传递 

 

方法小练 

数组遍历

//设计一个方法遍历数组
public class test4 {
    public static void bianli(int[]arr){
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]);
        }
        System.out.print("\n");
    }
    public static void main(String[]args){
        int[]arr={1,2,3,4,5};
        int []arr2={4,5,34,546,6,54,21,34,2,24,32,123,312,4};
        bianli(arr);
        bianli(arr2);
    }
}

 

数组最大值

 

public class test4 {
    public static int  Max (int[]arr){
        int max=arr[0];
        for(int i=0;i<arr.length;i++){
            if(max<arr[i])
                max=arr[i];
        }
    return max;
    }
    public static void main(String[]args){
        int[]arr={1,2,3,4,5};
        int []arr2={4,5,34,546,6,54,21,34,2,24,32,123,312,4};
        System.out.println(Max(arr));
        System.out.println(Max(arr2));
    }
}

 

判断是否存在 

 

public class test5 {
    public static boolean f(int []arr,int n){
        boolean flag=false;
        for(int i=0;i<arr.length;i++){
                if(arr[i]==n){
                    flag=true;
                }
            }
        return flag;
    }
    public static void main(String[] args) {
        int []arr={1,2,3,4,5,6,7,8,9,10};
        if(f(arr,11))
            System.out.println("找到了");
        else
            System.out.println("没找到");
    }

 

复制数组 

public class test6 {
    public static void copy(int []arr,int from,int to){
        int []arr1=new int[to-from+1];
        for(int i=from-1,j=0;i<=to-1;i++){
            arr1[j]=arr[i];
            j++;
        }
        for(int i=0;i<arr1.length;i++)
            System.out.print(arr1[i]+" ");
    }
   public static void main(String[] args) {
    int []arr={1,2,3,4,5,6,7,8,9,10};
    copy(arr, 2, 5);
   }
}
 

 

 


http://www.kler.cn/a/469413.html

相关文章:

  • Electron使用记录
  • 小白学Pytorch
  • 微服务保护—Sentinel快速入门+微服务整合 示例: 黑马商城
  • Swift Concurrency(并发)学习
  • FreeSWITCH dialplan/default.xml 之释疑
  • GWAS数据和软件下载
  • 使用JMeter对Linux生产服务器进行压力测试
  • Golang中的大端序和小端序
  • 五类推理(逻辑推理、概率推理、图推理、基于深度学习的推理)的开源库 (二)
  • 51单片机——蜂鸣器模块
  • SpringCloud源码-nacos
  • 图片验证码
  • 解锁kafka组件安全性解决方案:打造全方位安全防线
  • 解决TortoiseGit 在Windows系统中文件不显示状态图标的问题
  • Elasticsearch操作笔记版
  • HarmonyOS学习大纲
  • 2.5万字 - 用TensorFlow和PyTorch分别实现五种经典模型
  • Go语言的 的接口(Interfaces)核心知识
  • 优雅草采集器系统全面开源-优雅草YYC采集器系统不同版本的合集整体开源yyc-gather-采集器开源-优雅草央千澈
  • centos7安装elasticsearch8.17
  • 智能运维分析决策系统:赋能数字化转型的新引擎
  • 【Stable Diffusion】用AI给老照片上色,岁月不改它模样
  • 计算机网络——数据链路层-介质访问控制
  • Java面试要点113 - Java异步编程CompletableFuture
  • github开源链游详细搭建文档
  • 类的定义和使用(python)