首页 > 编程语言 >Java-----学习笔记4

Java-----学习笔记4

时间:2024-07-26 18:26:39浏览次数:16  
标签:Java num1 num2 int void 笔记 static ----- public

Java中的方法

Java中的方法与C语言的函数有些相似,它们都是为了完成特定功能的代码块,都可以被多次调用。

main方法
public static void main(String[] args) {
}

public---访问控制符,控制方法可见性。

static---这个关键字表示该方法是静态的。

void---返回类型 void--不需要返回值。

main---方法名称。

String[] args---参数列表。

调用方式

示例方法:

 public static int add(int num1, int num2) {
        return num1 + num2;
    }

1、直接调用

 public static int add(int num1, int num2) {
        return num1 + num2;
    }

    public static void main(String[] args) {
        int num1 = 5;
        int num2 = 56;
        int num3 = add(num1, num2);//直接引用方法
        System.out.println(num1 + num2);
        System.out.println(num3);
    }

2、作为结果

 public static int add(int num1, int num2) {
        return num1 + num2;
    }

    public static void main(String[] args) {
        int num1 = 5;
        int num2 = num1+add(1, 3);//作为结果
        System.out.println(num1 + num2);
    }
传参

1、形参

        形式上的参数,参与方法使用

2、实参

        实际在使用过程中传入参数的拷贝------值传递

3、多参数,不定参数

public void myMethod(int param1, String param2, double param3) { 
    //多参数 
    // 方法体  
}
public void myMethod(int... numbers) {  
    //不定参数
    for (int number : numbers) {  
        System.out.println(number);  
    }  
}
方法重载

在一个类(一个class大括号),方法名称完全相同,参数的个数或者类型不一致

 // 方法重载示例
    public static void display(String msg) {
        System.out.println("String message: " + msg);
    }

    public static void display(int number) {
        System.out.println("Integer message: " + number);
    }

    public static void display(double number) {
        System.out.println("Double message: " + number);
    }

    public static void display(String msg, int number) {
        System.out.println("String and Integer message: " + msg + ", " + number);
    }

    public static void main(String[] args) {

        display("hello");
        display(123);
        display(456.123);
        display("test", 789);

    }

方法示例

   /**
     * 递归法
     * 求斐波那契数列
     */
    public static int fib1(int n) {
        if (n <= 1) {
            return n;
        } else {
            return fib1(n - 1) + fib1(n - 2);
        }
    }

    /**
     * 迭代法
     * 求斐波那契数列
     */
    public static int fib2(int n) {
        if (n <= 1) {
            return n;
        }
        int first = 0, second = 1;
        int fib = 0;
        for (int i = 2; i <= n; i++) {
            fib = first + second;
            first = second;
            second = fib;
        }
        return fib;
    }

    public static void main(String[] args) {
        int a = 10;
        System.out.println(fib1(a));//递归法
        System.out.println(fib2(a));//迭代法
    }

方法调试(Debug)

以IntelliJ IDEA为例:

IntelliJ IDEA内置了强大的调试工具。使用这些工具进行调试的基本步骤如下:

设置断点:在代码中你怀疑有问题的位置设置断点。当程序执行到断点时,会暂停执行,允许你检查当前的变量值、调用栈等信息。

启动调试会话:通常通过点击IDE中的一个“Debug”按钮或菜单项来启动调试会话。

逐步执行:使用IDE提供的“Step Over”、“Step Into”、“Step out”等功能来逐步执行代码,观察变量的变化。

查看变量和表达式:在调试时,你可以查看当前作用域内的变量值和表达式的计算结果。

继续执行:当你认为问题已经解决或想要继续执行到下一个断点时,可以继续执行程序。

标签:Java,num1,num2,int,void,笔记,static,-----,public
From: https://blog.csdn.net/2303_81743091/article/details/140673249

相关文章

  • YOLOv10改进 | 独家创新- 注意力篇 | YOLOv10引入结合ECA和NRMS形成全新的ERMS注意力
    1. ERMS介绍     (1).整合通道和空间注意力机制:     ECA模块专注于通道间的交互,通过全局平均池化提取每个通道的全局信息,然后通过一维卷积生成每个通道的权重,最终使用Sigmoid激活函数得到通道注意力权重,从而增强重要通道的特征。然而,ECA模块没有考虑到......
  • 写好JavaScript条件语句的5条守则
    照抄https://juejin.im/post/5bdef288e51d450d810a89c6testEquals(fruit){if(fruit==='apple'||fruit==='strawberry'){console.log('==');}},testIncludes(fruit){constredFruits=['......
  • es6-splice方法例子
    constarr=['a','b','c','d'];////1.1、删除指定位置的一个元素//arr.splice(1,1);//console.log('arr',arr);//["a","c","d"]////1.2、删除指定位置的两个元素/......
  • EMS/PCS/BMS/充电桩/逆变器新能源设备处理器选型-米尔嵌入式
    随着全球对可持续发展的日益关注,新能源技术作为替代传统能源的重要选择,正迅速发展并深入各个领域。在这一技术革新的浪潮中,嵌入式技术作为关键的智能化解决方案,正在为新能源行业的发展注入新的动力和创新。本文旨在为新能源行业的开发者解决嵌入式处理器选型难题。1.米尔嵌入式处......
  • es6中对数组的常用操作方法-普通数组
    参考https://www.jianshu.com/p/856f4200d3c0最近,经常操作数组,可是数组中的一些常用操作方法很迷糊,看了上面一篇文章之后,茅塞顿开。于是自己按照上面文章的用法,自己全部从头到尾写了一遍,分为普通的数组以及对象数组的操作。//定义数组constarr=[1,2,3,4,5]......
  • es6中对数组的常用操作方法-对象数组
    //定义对象数组constarrayObject=[{name:'name1',title:'title1'},{name:'name2',title:'title2'},{name:'name3',title:'title3'}];//数组对象......
  • Flowable框架-启动事件-定时器启动事件
    流程:定时器自动启动流程,李主管审批通过。admin设计流程模型,左边“定时器启动事件”,右下角输入ISO-8601的时间。 “用户任务”选择“分配用户”和“表单引用” 切换李主管登陆,时间到了会自动启动流程,流程任务在列表中显示。 下方循环时间上输入R2/PT1M,表示等待1分钟后再......
  • 007-java使用socket测试远程服务器的某个端口是否可连接
    importjava.io.IOException;importjava.net.InetSocketAddress;importjava.net.Socket;/***@authorzzl*/publicclassPortChecker{publicstaticbooleanisPortReachable(Stringhost,intport,inttimeout){try(Socketsocket=newSoc......
  • 安徽省大学生网络与分布式系统创新设计大赛-MISC
    最终排名第七,拿到省一图穷匕见去010看到有16进制,提取出来文本太大了,工具解不了上脚本是坐标用脚本画出来解码flag{40fc0a979f759c8892f4dc045e28b820}流下没有技术的眼泪是16进制,两个一组;转换成10进制分析与ascii之间的关系,每个减去128然后转换成ascii字符......
  • GraalVM 静态编译下 OTel Java Agent 的自动增强方案与实现
    作者:望陶、铖朴随着OpenTelemetry在可观测领域影响力的不断提升,其项目以极快的速度不断演进。阿里云作为国内最广泛使用Java的厂商之一,深度参与OTelJava Instrumentation演进与社区活动,贡献、Review各类PR(pullrequest)合计超过100 余个,参与Issues讨论58个,在Op......