P01-何谓Java方法

news2024/9/25 11:13:34

P01-何谓Java方法

一、System.out.println()分析

image-20240831103526426

二、剖析方法

谈到方法,我就突然想到了c++函数:

其实:Java 方法和 C++ 函数在许多方面确实有类似之处,但它们也存在一些显著的差异。下面是它们的一些共同点和不同点:

共同点

  1. 功能单位
    • Java 方法C++ 函数 都是用于封装功能的代码块,可以被调用以执行特定的任务或操作。
  2. 参数和返回值
    • 两者都可以接收参数并返回值。你可以定义方法/函数以处理输入并输出结果。
  3. 可重用性
    • 方法和函数都支持代码的重用,通过调用可以避免代码重复。

不同点

  1. 语法

    • Java 方法

      的定义包含在类中,其语法如下:

      public returnType methodName(parameters) {
          // method body
      }
      
    • C++ 函数

      可以在类中(作为成员函数)或者在类外定义,其语法如下:

      returnType functionName(parameters) {
          // function body
      }
      

      如果是成员函数,还可以是:

      class ClassName {
          public:
          returnType methodName(parameters) {
              // method body
          }
      };
      
  2. 对象导向

    • Java 方法 是对象导向编程(OOP)的一部分,总是与类相关联。Java 不支持全局函数。
    • C++ 函数 可以是全局的,也可以是类的成员函数。C++ 支持全局函数和命名空间中的函数。
  3. 内存管理

    • Java 是一个内存管理相对自动化的语言,内存分配和垃圾回收由 JVM 处理。
    • C++ 要求程序员手动管理内存,包括分配和释放内存。C++ 允许更直接的内存操作。
  4. 方法重载和运算符重载

    • Java 方法 支持方法重载,即可以定义多个同名的方法,只要它们的参数列表不同。
    • C++ 函数 支持函数重载和运算符重载,允许你为不同的参数类型或操作符定义不同的行为。
  5. 访问控制

    • Java 方法 的访问控制由访问修饰符(如 public, protected, private)控制,且所有方法默认属于类的实例。
    • C++ 函数 也有访问修饰符(public, protected, private),但全局函数和成员函数的访问控制是不同的。

总的来说,尽管 Java 方法和 C++ 函数在目的和结构上类似,但它们在具体实现和语言特性上有所不同。

三、实际代码演示

public class Demo07 {

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

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

设计方法原则

设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就就是一个方法只完成1个功能,这样利于我们后期的扩展。

四、方法的定义

image-20240831130417259

  • 修饰符:修饰符,这是可选的,定义了该方法的访问类型。(例如:public、static、final)
  • 返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void
  • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。(名字随便取,但要遵守命名规范)
  • 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
    形式参数:在方法被调用时用于接收外界输入的数据。
    实参:调用方法时实际传给方法的数据。
  • 方法体:方法体包含具体的语句,定义该方法的功能

方法的调用

image-20240831145151720

比大小方法

public class Demo08 {
    public static void main(String[] args) {
        
        int max = max(10,10);
        System.out.println(max);
    }

    //比大小方法
    public static int max(int num1,int num2){
        int result = -1;
        if(num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }

        if(num1>num2){
            result = num1;
            return result;
        }else{
            result =num2;
            return result;
        }
    }
}

五、方法的重载

image-20240831151253275

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

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

相关文章

POS机的接口

联迪的POS机 读取付款方式 private void Form_MisPos_Load(object sender, EventArgs e) { List<Trans> list MisPos.GetTransList(); int col 0; int y 15; int colcount 3; Panel p panel3;…

vben:对话框组件

本文将介绍如何在vben admin vue 框架中&#xff0c;创建对话框组件&#xff0c;并成功应用的代码。代码即插即用。 结果如下图所示&#xff0c; 一、创建对话框组件 创建 myModal/index.vue <template><div><BasicModalregister"registerModal"v-…

探索《黑神话:悟空》背后的编程技术

《黑神话&#xff1a;悟空》作为一款备受期待的动作角色扮演游戏&#xff0c;以其卓越的视觉效果和流畅的游戏体验吸引了全球玩家的关注。这款游戏不仅在艺术设计和技术实现上展现了极高的水准&#xff0c;其背后的编程技术更是保证了游戏顺利运行和出色表现的关键因素。在这篇…

马铃薯叶片病害识别系统+Python+图像识别+人工智能+深度学习+卷积神经算法+计算机课设项目

一、介绍 马铃薯叶片病害识别系统。本项目使用Python作为主要开发语言&#xff0c;基于TensorFlow等深度学习框架搭建ResNet50卷积神经算法网络模型&#xff0c;通过对收集到的3种常见的马铃薯叶片病害数据集&#xff08;‘早疫病’, ‘健康’, ‘晚疫病’&#xff09;进行训练…

计算机毕业设计 基于SpringBoot框架的网上蛋糕销售系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

‌IP地址为什么是8位数:‌深入解析IPv4地址的设计原理与应用

当我们谈论IP地址时&#xff0c;‌通常指的是IPv4地址&#xff0c;‌它由四段8位二进制数构成&#xff0c;‌每段通常转换为十进制数表示&#xff0c;‌范围从0到255。‌这种8位数的设计并非随意&#xff0c;‌而是基于一系列精心的考虑和权衡。‌本文将深入探讨IP地址为什么是…

心觉:颠覆学习,开启无限可能

很多人一天到晚地在学习 买课程&#xff0c;看书&#xff0c;看视频&#xff0c;看直播 网上查资料学习 总之不是在学习&#xff0c;就是在学习的路上 沉浸在学习中无法自拔 乐在其中&#xff0c;但是真正的收获呢&#xff0c;没有&#xff0c;或者说非常少 首先我们来讲…

ORACLE 统计信息的备份与恢复

备份 --需要先创建统计信息基础表 exec dbms_stats.create_stat_table(USER1,STAT_TIMESTAMP); --导出某个用户的所有统计信息 exec dbms_stats.export_schema_stats(USER1,STAT_TIMESTAMP);--测试(插入100条&#xff0c;更新统计信息&#xff0c;略) select num_rows,last_ana…

Python和C++(CUDA)及Arduino雅可比矩阵导图

&#x1f3af;要点 对比三种方式计算读取二维和三维三角形四边形和六面体网格运动学奇异点处理医学图像成像组学分析特征敏感度增强机械臂路径规划和手臂空间操作变换苹果手机物理稳定性中间轴定理 Python雅可比矩阵 多变量向量值函数的雅可比矩阵推广了多变量标量值函数的…

Renesa Version Board开发RT-Thread 之Client(WIFI)和上位机的数据传输

目录 概述 1 系统框架 1.1 模块介绍 1.1 Version-Board 开发板 1.1.1 Vision-Board简介 1.1.2 Vision-Board的资源 1.2 框架介绍 2 上位机App 2.1 UI设计 2.2 代码实现 3 功能测试 3.1 网络连接 3.2 功能测试 概述 本文主要Renesa Version Board开发RT-Thread 之…

MIX滤镜大师 v4.9.6.5 — 内置超过130款滤镜

MIX滤镜大师内置了超过 130 款高品质滤镜&#xff0c;涵盖多种照片风格&#xff0c;包括胶片时代的专业彩色反转片滤镜、自动识别人脸并磨皮增白的自拍滤镜、讲究线条和影调的单色滤镜以及追求夸张色彩的 LOMO 滤镜。此版本已解锁全部功能&#xff0c;去除广告&#xff0c;提供…

量化交易backtrader实践(四)_评价统计篇(4)_多个回测的评价列表

本节目标 在第1节里&#xff0c;我们认识了backtrader内置评价指标&#xff0c;了解了每个指标的大概内容&#xff1b;在第2节里把内置评价指标中比较常用的指标进行了获取和输出&#xff1b;第3节里我们探索其他backtrader中没有的评价指标&#xff0c;并对pyfolio, empyrica…

图形化编程系统学习10

项目需求&#xff1a; 点击绿旗&#xff0c;可以使用键盘控制小兔子在地图上移动&#xff0c;收集食物&#xff0c;但只能在黄色道路上移动。 食物碰到小兔子会变大后隐藏&#xff0c;并发出声音。 收集完所有食物&#xff0c;回到温暖的小窝 。 思路解析 1、添加背景和角色…

【书生大模型实战营】进阶岛 第1关 探索 InternLM 模型能力边界

文章目录 【书生大模型实战营】进阶岛 第1关 探索 InternLM 模型能力边界学习任务Bad Case 1&#xff1a;Bad Case 2&#xff1a;Bad Case 3&#xff1a;Bad Case 4&#xff1a;Bad Case 5&#xff1a;Good Case 1&#xff1a;Good Case 2&#xff1a;Good Case 3&#xff1a;G…

requests:一个强大的HTTP请求Python库

我是东哥&#xff0c;一个热衷于用Python简化日常工作的技术爱好者。今天&#xff0c;我要和大家分享一个网络请求的Python利器——requests库。你是否曾经在编写代码时&#xff0c;需要从网络上获取数据&#xff0c;却对复杂的HTTP协议感到头疼&#xff1f;requests库将帮你轻…

LMDeploy 量化部署进阶实践

1 配置LMDeploy环境 1.1 InternStudio开发机创建与环境搭建 打开InternStudio平台&#xff0c;进入如下界面并按箭头指示顺序点击创建开发机。 点选开发机&#xff0c;自拟一个开发机名称&#xff0c;选择Cuda12.2-conda镜像。 我们要运行参数量为7B的InternLM2.5&#xff0c;…

AI 内容创作:思考与实践

文章目录 LLM 与 RAGLLMRAGRAG 定制策略AI 写作助手演示 内容层次结构与内容深度优化有效的主题与段落结构内容深度的多样性与独特性提高文本逻辑性与连贯性模拟实践 内容评测与优化迭代机制内容评测自动迭代优化机制评估指标模拟实践 个性化写作与 AI 协同写作用户画像与需求分…

【C++ 第十八章】C++11 新增语法(3)

前情回顾&#xff1a; 【C11 新增语法&#xff08;1&#xff09;&#xff1a;1~6 点】 C11出现与历史、花括号统一初始化、initializer_list初始化列表、 auto、decltype、nullptr、STL的一些新变化 【C11 新增语法&#xff08;2&#xff09;&#xff1a;7~8 点】 右值引用和…

香橙派入手第一天

一、开箱 拿到快递回来以后&#xff0c;兴冲冲的把快递拆开&#xff0c;里面一共有一下几样东西&#xff0c;一个板卡&#xff0c;一个充电器&#xff0c;一个小风扇&#xff0c;还有一些安装用的零件和一把小螺丝刀。 值得一提的是这个充电器是最高支持65w的typec-typec的充电…