Java方法基础

那么什么是方法呢?

public class MethodTest01{

    public static void main(String[] args){

        // 需求1:编写程序计算 10 和  20 的和,并输出结果
int a = 10;
int b = 20;
int c = a + b;
System.out.println(a + "+" + b + "=" + c); // 需求2:666 和 888 的和,并输出结果
int a = 666;
int b = 888;
int c = a + b;
System.out.println(a + "+" + b + "=" + c); /* 以上需求代码相似实质是以一个需求,功能相同
只不过每次参与的数据不同 * 在 Java中应当有一种机制:
- 某种功能的代码只需要使用一次
- 功能间的交互,只需要传入具体数据,即可得到结果
这样的代码就可以重复利用,提高代码复用性 使用这种方法我们称为【调用/invoke】
*/ // 【调用/invoke】 sumInt方法
MethodTest.sumInt(10, 20);
MethodTest.sumInt(666, 888);
// 效果与前面代码相同
} // 单独定义一个方法【暂时不解释方法语法】
// 作用:完成计算两个int类型数据的和,并输出结果
public static void sumInt(int a, int b){
int c = a + b;
System.out.println(a + "+" + b + "=" + c);
}
}

方法的英文单词:Method

方法在 C语言 中叫做【函数/Function】

Java方法:是语句的集合,它们在一起执行一个功能

  • 方法包含于类体当中定义,一个类体中可以定义多个方法
  • 方法体中不可以定义方法
  • 方法体由Java语句构成
  • 方法是解决某一类问题的有序组合【自上而下】
  • 方法在程序中被创建,在其他地方被引用
  • 只有被【调用/invoke】时,才会执行

方法的语法

中括号的内容为可选

[修饰符列表] 返回值类型 方法名(参数列表){
方法体
[return 返回值;]
}

[return 返回值;] 如果没有,返回值类型为 void

只要是数据就有数据类型,所以 返回值返回值类型 必须一致

语法结构解释:

  • 修饰符列表

    可选,不是必要

    告诉编译器如何调用该方法,定义了该方法的访问类型

    目前统一写为:public static 【以后讲解】

    修饰符列表static 关键字调用格式:类名.方法名(实参列表);

    实参列表:你根据实际想要传让的数据

  • 返回值类型

    一个方法是可以完成某一个特定功能的,这个功能结束之后大多数都需要返回最终执行的结果

    返回值类型程序员需要根据实际方法制定

    方法可能会没有返回值,此时的返回值类型是 void 同时不可以有 返回值,但可以编写 return ;

  • 方法名

    满足标识符要求即可,最好见名知意

    方法名使用小驼峰命名法,首个词最好是动词

  • 参数列表:内包含形参

    形参是局部变量:int a; double b; float c; String args; ...

    形参数量:0 ~ N

    多个形参之间使用 ; 分隔

    形参中起决定性作用的是形参的数据类型,形参的名字只是局部变量的名字

    方法【调用/invoke】时,实际给方法传递的真实数据,被称作【实参】

    形参列表与实参列表需要数据类型对应,数量对应

  • 方法体

    方法体必须由大括号括起来

    方法体包含具体的Java语句,语句有逻辑顺序【自上而下】

  • 只要带有 return 关键字的语句执行,则 return 所在的方法强制结束

假设:你想象你要办一个工厂

  • 参数列表就是是你提供原料【但你还不知道具体的数值】
  • 返回值类型就是你想要生成个什么【先规定个类型型号】
  • 返回值就是工厂实物产出,当然也可能没有出货
  • 方法名就是你要办工厂的名字
// public 表示公开的
// class 表示定义类
// MethodTest02 一个类名
public class MethodTest02{ // 这里 类体
// 类体中不能直接编写Java语句,除说明变量 // 下面是一个方法
// public 表示公开的
// static 表示静态的
// void 表示方法执行结束后没有数据返回
// main 一个特殊的方法名【主方法】
// (String[] args) :形式参数列表,其中String[]是一种数据类型【字符串】,args是一个局部变量的变量名
// 主方法的编写是固定的,因为这是 SUN公司 所规定的,表示程序的入口
public static void main(String[] args){ // 这里 方法体
int num; // 调用方法sumInt()的计算10 和 20求和并输出结果,返回求和
num = MethodTest02.sumInt(10, 20); // (10, 20) 是实参列表 System.out.println("从方法中返回的和: " + num); // 再次调用
num = MethodTest02.sumInt(num, 10); // (num, 10) 是实参列表 MethodTest02.sumInt(10, 20); // 返回值的接收与否可以根据情况选择 } // 下面是一个自定义的方法
// 方法作用:计算两个int数据的和,输出计算结果并返回和
// 写一个方法之前需要进行规划
// 修饰符类型:public static
// 方法名:sum 求和的意思
// 形式参数列表:(int a, int b) 要求是两个int数据
// 返回值类型:int 返回值是两个int数据的和,计算后的和仍旧是int
// 方法体:主要是求和,输出计算结果并返回和
public static int sumInt(int a, int b){ // (int a, int b) 是形参列表 int c = a + b; System.out.println("调用方法sumInt的输出: " + c); return c;
}
}


Java方法


合集总目录:学习笔记--Java合集



学习笔记--Java方法基础的更多相关文章

  1. [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组

    1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一 ...

  2. [java学习笔记]java语言基础概述之内存的划分&堆和栈

    1.内存的划分 1.寄存器 cpu处理 2.本地方法区 和所在系统相关 3.方法区 方法加载进内存,其实就是开辟了一块该方法的方法区 方法区中还可以有静态区,用于存放静态变量(类变量) 4.栈内存 5 ...

  3. [java学习笔记]java语言基础概述之函数的定义和使用&函数传值问题

    1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) { ...

  4. [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套

    一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大 ...

  5. [java学习笔记]java语言基础概述之标识符&关键字&注释&常量和变量

    一.标识符 在程序中自定义的一些名称 由26个英文字母的大小写,数字,_$组成 定义合法标识符的规则: 不能以数字开头 不能使用关键字 java严格区分大小写 注意:在起名字时,为了提高阅读性,必须得 ...

  6. [java学习笔记]java语言基础概述之转义字符&break&continue

    1.转义字符 \t:制表符 \n:回车 \b:退格 \r:回车 \":双引号 \\:反斜线(常用于文件路径的书写中)   windows系统中回车符其实是由两个符号组成的,\r\n linu ...

  7. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  8. Java学习笔记之---方法和数组

    Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...

  9. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  10. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

随机推荐

  1. 多线程池Flask实战应用

    多线程池Flask实战应用 import json import time import flask from concurrent.futures import ThreadPoolExecutor ...

  2. tkinter小例子

    from tkinter import * def on_click(): label['text'] = text.get() root = Tk(className='hello') root.m ...

  3. Flutter(九)Json序列化与反序列化(转Model)

    在日常开发中JSON的序列化与反序列化是一个常见的操作:而Dart语言不支持反射,运行时反射会影响Dart的tree shaking(摇树优化),tree shaking可以"抖掉" ...

  4. Yii AR事务操作

    Yii Ar事务操作,示例代码如下: $model=Post::model(); $transaction=$model->dbConnection->beginTransaction() ...

  5. windows下vscode连接linux(虚拟机)进行(伪)远程开发

    免责声明 本文乃至本系列是对网络上传播的内容进行整理以梳理流程,且因为篇幅限制会精简内容,适合面向具有计算机类基础知识的人群,本文内容较为笼统,只有大体上的逻辑,具体的细节肯定是官网上写的准而全,望读 ...

  6. Redisson 限流器源码分析

    Redisson 限流器源码分析 对上篇文章网友评论给出问题进行解答:redis 的key 是否会过期 可以先阅读上篇文章: redis + AOP + 自定义注解实现接口限流 - 古渡蓝按 - 博客 ...

  7. react 数据请求分层

    封装一个接口请求类 数据模型 请求uri配置设置 数据统一存储于redux中,在本项目中创建一个store目录,此目录中就是redux仓库源 定义仓库入口 reducer methods方法 acti ...

  8. 关于 Linux 中模拟鼠标

    问题的背景是我想用自动化脚本来玩 Stardew Valley 的小游戏,刷钱,但是遇到了一系列问题,这里记录我的一些历程. pyautogui/pydirectinput pyautogui 是我第 ...

  9. 剑指Offer-57.二叉树的下一个结点(C++/Java)

    题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 分析: 二叉树的中序遍历是左根右,所以如果一个结点的右子 ...

  10. 已将此(这些)订阅标记为不活动,必须将其重新初始化。需要删除 NoSync 订阅,然后重

    已将此(这些)订阅标记为不活动,必须将其重新初始化.需要删除 NoSync 订阅,然后重 查找状态不正常的发布 use distribution go select status,*from dbo. ...