【系列03】方法的学习 方法重载 命令行传参 递归 简单计算机 [有目录]

news2024/11/26 12:20:37

方法的学习

什么是方法

  • 方法是解决一类问题的步骤的有序组合
  • 包含于类或者对象之中
  • 方法在程序中被创建,在其他地方被引用

就比如输出方法如:System.out.println(); 就是被封装好的方法

  • 方法设计原则:一个方法完成一个功能,利于后期扩展 [原子性]

使用方法:

public class Demo01 {
    //main 方法
    public static void main(String[] args) {
        /**
         *  int sum = add(1, 2);
         *         System.out.println(sum);
         */
        way();
    }

    //加法
    public static int add(int a, int b) {
        return a + b;
    }

    public static void way() {
        for (int i = 0; i <= 1000; i++) {
            if (i % 5 == 0) {
                System.out.print(i + "\t");
            }
            if (i % (5 * 3) == 0) {//换行
                //System.out.println();
                System.out.println("\n");
            }
        }
    }
}

方法的定义

在这里插入图片描述

方法调用:比大小

public class Demo02 {
    public static void main(String[] args) {
        int lager = max(3, 5);
        System.out.println(lager);
    }
    //比大小
    public static int max(int a ,int b){
        int result = 0;
        if(a>b){
            result=a;
        } else if (a<b) {
            result=b;
        }else {
            System.out.println("a==b");
            return 0;//终止方法;返回
        }
        return result;
    }
}
  • 使用心得
    1. 方法命名格式定义的是形参.
    2. 方法定义必须要有返回值 返回值return要写在外面,比如像上面这一题返回的时候可以让返回值赋值到外面在返回,就是做一个中间值.
    3. 不要忘记放输出,刚刚做的时候就是没有定义输出值.

重载

  • 一个方法的参数名和方法名有关,如果方法一样,参数名不一致则为重载,与返回值类型无关

  • 就比如刚刚比大小的那个,我们可以有double进行浮点型数据比大小

    public static int max(int a ,int b){
    }
    
    public static double max(double a ,double b){
        double result = 0;
        if(a>b){
            result=a;
        } else if (a<b) {
            result=b;
        }else {
            System.out.println("a==b");
            return 0;//终止方法;返回
        }
        return result;
    }
    
  • 也可以比较三个数的大小

    public static int max(int a ,int b,int c){
    
    }
    
  • 方法名称相同时,会在调用方法时对参数个数 参数类型 等去进行判断,以选择对应方法,如果匹配失败,则编译器报错

重载规则

  1. 方法名必须相同
  2. 参数列表必须不同(个数 类型 参数排列顺序)
  3. 返回类型可以相同可以不同
  4. 仅仅返回类型不同不足以成为方法的重载

拓展:命令行传参

  • 编写如下代码
package com.SunAo.method;

public class Demo03 {
    public static void main(String[] args) {
        for(int i=0;i< args.length;i++){
            System.out.println("args["+i+"]"+args[i]);
        }
    }
}
  • 在该路径下面无法直接用命令行进行传参

    Alt+F12打开Terminal[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iAclDUwa-1673864027312)(C:/Users/%E5%AD%99%E5%A5%A5/AppData/Roaming/Typora/typora-user-images/image-20230113162953201.png)]

  • 需要我们找到绝对路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J9azakdp-1673864145681)(C:/Users/%E5%AD%99%E5%A5%A5/AppData/Roaming/Typora/typora-user-images/image-20230113163140561.png)]

  • cmd+空格 进入命令行

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ATTLdMOj-1673864027313)(C:/Users/%E5%AD%99%E5%A5%A5/AppData/Roaming/Typora/typora-user-images/image-20230113163257864.png)]

  • 实现命令行传参

    1. javac+文件名对java文件进行编译
    2. ```cd …/`回退
    3. 回退到KuangStudy路径以后才能进行传参

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-07TNy3wU-1673864027314)(C:/Users/%E5%AD%99%E5%A5%A5/AppData/Roaming/Typora/typora-user-images/image-20230113163357066.png)]

可变常参数

package com.SunAo.method;

public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.test();
    }
    public void test(int...i){//可变常参数必须放在最后面
    }

}
  • int...i可变常参数必须放在最后面

    正确

    public void test(int j,int...i){
    }
    

​ 下面错误

  • public void test(int...i,int j){
    }
    

递归 ``重点难点

递归:自己调用自己

  • 递归算5的阶乘

    package com.SunAo.method;
    
    public class Demo06 {
        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);
            }
        }
    }
    

计算器

  • java实现计算器功能 switch
package com.SunAo.method;
import java.util.Scanner;
public class DemoMath {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("----请输入计算内容(+ - * /)----");
        System.out.println("----第一个数字----");
        int a= scanner.nextInt();
        System.out.println("----符号----");
        String b = scanner.next();
        System.out.println("----第二个数字----");
        int c= scanner.nextInt();
       switch (b){
           case "*":
               System.out.println(a*c);
               break;
           case "+":
               System.out.println(a+c);
               break;
           case "-":
               System.out.println(a-c);
               break;
           case "/":
               System.out.println(a/c);
               break;
       }
    }
    }   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue中使用echarts 动态渲染数据

一、业务场景&#xff1a; 最近在vue中使用echarts时 引入的时候怎么也引不上&#xff0c;后面发现需要绑定在原型上就可以完美解决(也可以直接在需要引入的页面用ES5中的require引入require&#xff08;‘echarts’&#xff09;) 为了避免大家走弯路&#xff0c;下面整合了一下…

FLStudio水果21最新Daw (宿主软件)电音混音编曲制作工具

对许多音乐爱好者来说&#xff0c;从单独欣赏作品过渡到按自己的心情创作作品&#xff0c;是一种奇妙而令人高兴的体验。 音乐的编曲&#xff0c;特别是电子的编曲&#xff0c;Daw (宿主软件)是重要的要素。 编曲软件有很多。 “专业”这个词取决于你是否在行业的某个部分。 就…

MyBatis 详解 (1) -- 环境搭建、查询操作

MyBatis 详解 1 -- 环境搭建、查询操作一、MyBatis 是什么二、为什么学习 MyBatis三、MyBatis 查询3.1 前言3.2 创建数据库和表3.3 添加 MyBatis 框架支持添加 MyBatis 和 MySQL 驱动3.4 配置连接字符串 和 MyBatis3.4.1 配置连接字符串3.4.2 配置 MyBatis 中的 XML 路径3.5 添…

CSS造成阻塞的原理

目录 1.原理解析 A.webkit渲染过程 B.Gecko渲染过程 C.解析原理 接上篇文章CSS会造成阻塞吗&#xff1f; 我们来说一下CSS造成阻塞的原理 1.原理解析 那么为什么会出现上面的现象呢&#xff1f;我们从浏览器的渲染过程来解析下。 不用浏览器使用的内核不同&#xff0c…

leetcode 648. 单词替换【python3哈希集与两种字典树的方法的思考过程整理】

题目 在英语中&#xff0c;我们有一个叫做 词根(root) 的概念&#xff0c;可以词根后面添加其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如&#xff0c;词根an&#xff0c;跟随着单词 other(其他)&#xff0c;可以形成新的单词 another(另一个)。…

UI自动化测试模块与环境管理全面打通,MeterSphere开源持续测试平台v2.6.0发布

2023年1月16日&#xff0c;MeterSphere一站式开源持续测试平台正式发布v2.6.0版本。 在这一版本中&#xff0c;MeterSphere的UI自动化测试模块与环境管理全面打通&#xff0c;更好地满足了用户一个脚本同时跑多个环境的测试需求。在测试跟踪模块中&#xff0c;测试计划关联测试…

怎么系统的阅读文献

文章目录一、文献阅读1、综述类文献 review article2、研究类文章 research article3、方法学的文章第一部分 综述类文章的阅读第二部分 研究型文章的阅读a. 研究型论文结构b. 如何有选择阅读文献c. 如果整理笔记Citation和Reference的区别二、文献阅读工具1、Connected Papers…

python-while循环

文章目录一、程序的三种结构二、while循环1.1&#xff1a;死循环1.2&#xff1a;循环计数习惯案例1.3&#xff1a;循环计数2.0&#xff1a;break终止循环3.0&#xff1a;人造死循环4.0&#xff1a;continue5.0循环嵌套一、程序的三种结构 1&#xff1a;顺序 代码自上而下执行 …

四旋翼无人机学习第20节--PCB自动保存文件labview设计

0 前言 在设计PCB的过程中&#xff0c;通常一个项目的的PCB文件只有一个&#xff0c;如果保存完文件后想要回滚到自己的版本是比较难的&#xff0c;虽然allergo软件可以设置autosave功能来自动对PCB文件进行备份&#xff0c;但是备份文件只会保存最后一次的版本。 1 labview编…

JavaWeb基础(二) HTTP、Tomcat、Servlet介绍

JavaWeb基础(二) HTTP、Tomcat、Servlet介绍 1&#xff0c;Web概述 1.1 Web和JavaWeb的概念 Web是全球广域网&#xff0c;也称为万维网(www)&#xff0c;能够通过浏览器访问的网站。 在我们日常的生活中&#xff0c;经常会使用浏览器去访问百度、京东、传智官网等这些网站&a…

Dubbo调用

Dubbo调用 0. 概述 Dubbo 服务调用过程比较复杂&#xff0c;包含众多步骤&#xff0c;比如发送请求、编解码、服务降级、过滤器链处理、序列化、线程派发以及响应请求等步骤。 1. 客户端发送请求时序图 InvokerInvocationHandler.invoke 1. 对于Object中的方法toString, has…

IDEA常用配置整理说明

文章目录IDEA常用配置整理说明1、 IDE配置1.1 设置相关1.1.1 忽略大小写开关1.1.2 取消单行显示tabs的操作1.1.3 项目文件编码1.1.4 滚轴修改字体大小1.1.5 设置显示行号和方法间的分隔符1.1.6 新建类头注释信息1.1.7 JavaDoc注释&#xff08;就是方法上加的注释&#xff09;1.…

蓝桥杯:整数分解

题目链接 问题描述 答案提交 本题答案&#xff1a;691677274345。 思路分析 问题描述 将 3 分解成两个正整数的和, 有两种分解方法, 分别是312 和 321 。注意顺序不同算不同的方法。 将 5 分解成三个正整数的和, 有 6 种分解方法, 它们是 113 122 131 212 221 311。…

WebSocket长连接接入支付宝消息服务,实现消息通知

大家好&#xff0c;我是小悟 在对接支付宝开放平台的一些常用功能时&#xff0c;常常需要收到支付宝的回调通知结果&#xff0c;才能处理业务逻辑。此文介绍通过WebSocket长连接接入支付宝消息服务&#xff0c;实现消息通知。 包括五部分内容&#xff1a;问题、优势、配置、代…

Spring3.*中ASM和JDK8版本冲突问题及解决方案

1. 问题描述 Spring3.* 中ASM版本较低&#xff0c;不支持对 JDK8 class文件进行操作&#xff0c;启动时报错。 Tomcat报错 org.springframework.asm.MethodVisitor.visitParameter2. 问题原因 Spring使用ASM类库操作Java class文件&#xff0c;Spring.* 依赖的ASM类库版本比…

右键万能格式转换工具

格式转换是很多小伙伴都会用到的东西&#xff0c;无论是视频、音频还是文档等格式&#xff0c;其实做这方面的软件有很多&#xff0c;比如之前一直在用的格式工厂&#xff0c;蛮好用的。后面用到了ABC工具箱&#xff0c;&#xff08;这款软件批量处理图片会很方面&#xff09;界…

故障分析 | 库表名-大小写不规范,运维两行泪

作者&#xff1a;刘聪 爱可生华东交付服务部 DBA 成员&#xff0c;专职 MySQL 故障处理及相关技术支持。座右铭&#xff1a;好好学习&#xff0c;天天向上。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系…

【博客589】K8s Topology Spread Constraints

K8s Topology Spread Constraints 场景 你可以使用 拓扑分布约束&#xff08;Topology Spread Constraints&#xff09; 来控制 Pod 在集群内故障域之间的分布&#xff0c; 例如区域&#xff08;Region&#xff09;、可用区&#xff08;Zone&#xff09;、节点和其他用户自定义…

带你从概念到服务对象,解读商业智能BI

数据在当前时代已然成为了重要的战略资源&#xff0c;但数据资产却并不是每个企业都能利用。数据本身并没有太多意义&#xff0c;规模小还好&#xff0c;一旦规模量变大&#xff0c;人们就难以理解其中的含义。所以讲数据资产价值化&#xff0c;使其转化为信息和知识成为了企业…

五个了解自己天赋优势的分析工具(四)MBTI测试

MBTI测试 MBTI全称“迈尔斯-布⾥格斯类型指标”&#xff0c;是美国作家伊莎⻉尔布⾥格斯迈尔斯和她的⺟亲凯瑟琳库克布⾥格斯在20世纪40年代编制的⼀种⼈格测试。 这⼀测试的基础来⾃著名⼼理学家荣格提出的⼼理类型理论。 荣格将⼈的性格类型分为“内向&#xff08;I&#xf…