首页 > 其他分享 >方法:类似其它语言的函数

方法:类似其它语言的函数

时间:2024-05-20 20:42:51浏览次数:22  
标签:语言 其它 函数 num2 int result 方法 public num1

方法:类似其它语言的函数

方法的重载的规则:

  1. 方法名称必须相同。

  2. 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)

    顺序不同是指类型的顺序不同,与你起什么变量名无关,比如int a,int b与int b,int a就是相同顺序

  3. 方法的返回类型可以相同也可以不相同。

  4. 仅仅返回类型不同不足以成为方法的重载。

这是在main方法之外引用的:

image-20240517140213055

例:图片下方

image-20240517140915697

形参:实际调用传递给他的参数

public static int add(int a,int b){
    return a+b;

实参:用来定义作用的

int sum = add(1,2);
System.out.println(sum);

方法重载

  1. 方法可以无限多重名,但要确保参数类型不同

  2. 就是说 ,同名方法可以:

    1.要注意方法返回值 类型 这个优先;

    2.参数长度要对等

    int a = max(45,65);
    int b = max(45,65);
    //比大小  第一种:int类型
    public static int max(int num1, int num2) {
        int result = 0;
        if (num1 == num2) {
            System.out.println("num1==num2");
            return num1;//终止方法
        }
        if (num1 > num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;
    }
    //    比大小	第二种:double类型
    public static double max(double num1, double num2) {
        double result = 0;
    
        if (num1 == num2) {
            System.out.println("num1==num2");
            return num1;//终止方法
        }
        if (num1 > num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;
    }
    
    

可变参数

  1. 在生方法声明中,在指定参数类型后加(...)

  2. 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

    public class Demo4 {
        public static void main(String[] args) {//两种表达方式
            printMax(646,56,415,123,125);//直接赋值
           printMax(new double[]{45,65,23,12,46,98});//运用数组赋值
        }
        
            //调用可变参数的方法
         /*   Demo4 demo4 = new Demo4();
            demo4.test(1,2,3,4,5,6,7,8,9);
        }
        public void test(int... i){
            System.out.println(i);
        }
     */
     
     
            public static void printMax(double... numbers){
                if(numbers.length==0){
                    System.out.println("No argument passed");
                }
                double result = numbers[0];
                //排序
                for(int i = 1;i<numbers.length;i++){
                    if(numbers[i]>result){
                        result = numbers[i];
                    }
                }
                System.out.println("The max value is:"+ result);
            }
    }
    

重难点:递归(思想的学习)

A方法调用B方法,我们很容易理解!
递归就是:A方法调用A方法!就是自己调用自己
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归结构包括两个部分:
◆递归头:什么时候不调用自身方法。如果没有头,将陷入死循环
◆递归体:什么时候需要调用自身方法

public class Demo5 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
---------------------------------
    public static int f(int n){
        if(n==1){
            return 1;
        }else{
            return n*f(n-1);//调用自身
        }
    }

标签:语言,其它,函数,num2,int,result,方法,public,num1
From: https://www.cnblogs.com/kunlexiangshuijiao/p/18202750

相关文章

  • Mysql DML数据操纵语言
    插入数据insertinto<tableName>(columnName1,columnName2,...)values(value1,value2,..);--为指定的列添加insertinto<tableName>values(value1,value2,....)--为表中所有列添加数据注意:即便为所有列添加数据,建议显示列出列名columnName1,....,有利于代码稳定性,......
  • Mysql DQL 数据查询语言
    查询selectcolumnName1,....from<tableName>;select*from<tableName>;where子句条件= --等于!=,<> --不等于> --大于< --小于>=,<= --大于等于,小于等于betweenand --区间查询多条件whereand/or/notlike子句对查询结果的处理计算列se......
  • C语言之“if”的注意事项
    近来本人计算机小白开始了学习C语言,然后呢,问题也是非常多的,今天本人想来一个小结,以下便是正文:①注意一定要输入“cin”表示你需要输入东西,要不然就会出现一个问题,那么就是你可以直接输出但是一定没有输入的黑框,所以,小孩儿,要记得输入啊!②“=”与“==”是两个意思,“=”是赋值,把右......
  • 各种语言的OEP大全
    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解`各种语言的OEP大全日期:2017-5-19阿珏教程浏览:4700次评论:0条确实平时找OEP对照的时候也比较麻烦,我就整理了一下,直接在本文查看认识OEP......
  • C语言-文件读写
    C语言文件读写文件分类:二进制文件:把数据的补码直接写入文件,这种文件叫二进制文件。​优点:读写和写入时不需要进行转换,所以读写速度快,数据安全性高。​缺点:不能使用文本编译器打开,无法阅读。文本文件:把数据转换成字符串写入文件,也就是把字符的二进制写入文件,这种文件......
  • 函数对象、装饰器、闭包函数
    函数对象Python中一切皆对象【1】可以直接被引用定义一个函数用一个新的变量名来存,用新的变量名来调用【2】可以作为元素被储存功能字典的函数地址【3】函数可以作为参数传递给另一个函数将函数的内存地址作为参数传递【4】函数的返回值可以是函数直接将函数的内存地址返......
  • Oracle ORA-06575: 程序包或函数WM_CONCAT处于无效状态
    ------OracleORA-06575:程序包或函数WM_CONCAT处于无效状态----失效原因:版本不支持,WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数,需要手工加上。--首先使用dba账号登录oracle数据库sqlplussys/sysassysdba--解锁wmsys用户(可以是你自己定义的......
  • R语言中根据列名删除指定的列
     001、subset函数>a<-1:4>b<-4:1>c<-11:14>d<-14:11>e<-letters[1:4]>dat<-data.frame(a,b,c,d,e)##测试数据框>databcde1141114a2231213b3321312c4411411d&g......
  • wxdown 公众号离线文章保存(GO语言开发)
    简介本来一开始用nodejs写的,考虑大小、易操作、高性能、跨平台以及环境等问题,我就想能不能搞个不需依赖开发语言环境就能运行的。所以我就选择go并且它本身就具备以上优点。作者本身是java开发,第一次使用go所以过程也是比较艰难,好在GPT在学习一门新的开发语言方面还是相当......
  • lodash已死?radash库方法介绍及源码解析 —— 函数柯里化 + Number篇
    写在前面tips:点赞+收藏=学会!主页有更多其他篇章的方法,欢迎访问查看。本篇我们继续介绍radash中函数柯里化和Number相关的方法使用和源码解析。函数柯里化chain:创建一个函数链并依次执行使用说明功能描述:用于创建一个函数链,该链依次执行一系列函数,每个函数的输出......