1.概念

Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可

2.实战演练

2.1 测试传入参数与返回值方法

目录结构

代码

package cn.test.logan.day04;

import java.util.ArrayList;

public class MethodDemo {
public int num1;
public int num2; // 方法:用来封装一段逻辑
// 定义方法的语法:public 返回值类型 方法名() { //逻辑 }
public int getSum() {
int sum = num1 + num2;
return sum;
} // 没有返回值的方法,使用void表示
public void say() {
System.out.println("此时是没有返回值的方法,哈哈");
} // 带参数但没有返回值的方法 ,同名方法,但是参数列表不一样,叫方法的重载
public void say(String param) {
System.out.println("我的输入参数是:"+param);
} // 带多个参数并且没有返回值的方法
public void say(String param1,String param2) {
System.out.println("输入的第一个参数是:"+param1);
System.out.println("输入的第二一个参数是:"+param2);
} // 带参数并且有返回值的方法
public int getDiff(int a,int b) {
int diff = a - b;
return diff;
} // 用来对ArrayList排序
public static void sortForArrayList(ArrayList<Integer> list) {
for(int i=0;i<list.size()-1;i++) {
for(int j=0;j<list.size()-1-i;j++) {
if(list.get(j) > list.get(j+1)) {
int tmp = list.get(j);
list.set(j, list.get(j+1));
list.set(j+1, tmp);
}
}
}
}
// 打印ArrayList
public void print(ArrayList<Integer> list) {
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}

MethodDemo.java

package cn.test.logan.day04;

import java.util.ArrayList;

public class MethodTest {
public static void main(String[] args) {
MethodDemo md = new MethodDemo();
md.num1 = 12;
md.num2 = 13; int sum = md.getSum();
System.out.println("两个数字的和为:"+sum); System.out.println("----------------------------");
// 调用没有返回值的方法
md.say();
System.out.println("----------------------------");
// 调用带参数, 没有返回值的方法
md.say("参数1");
System.out.println("----------------------------");
// 调用带多个参数, 没有返回值的方法
md.say("参数A","参数B");
System.out.println("----------------------------");
// 调用带参数,有返回值的方法
int diff = md.getDiff(20, 10);
System.out.println(diff);
System.out.println("----------------------------"); // 定义一个ArrayList,并按从小到达顺序排序后打印
ArrayList<Integer> al = new ArrayList<>();
al.add(20);
al.add(10);
al.add(40);
al.add(15); md.sortForArrayList(al);
md.print(al);
} }

MethodTest.java

2.2 测试成员方法和静态方法

成员方法,又称为对象的方法,和对象存在关系,需要使用对象调用。

静态方法,又称为类的方法,和对象不存在关系,可以直接使用类调用。

代码

public class MethodDemo2 {
public String name; // 定义一个类的方法(静态方法)
/**
* 这样的方法,跟具体对象没关系
* 这样的方法,就可以了定义为类方法-->类的方法
* 静态方法可以直接使用类调用
*/
public static void print() {
System.out.println("hello");
} // 定义一个(对象的方法)成员方法
public void showName() {
System.out.println("hello,"+this.name);
}
}

MethodDemo2.java

package cn.test.logan.day04;

public class MethodTest2 {
public static void main(String[] args) {
// 静态方法调用
MethodDemo2.print();
// 成员方法调用
System.out.println("---------------------------");
MethodDemo2 m2 = new MethodDemo2();
m2.name="Jack";
m2.showName();
}
}

MethodTest2.java

【BigData】Java基础_方法的定义与使用的更多相关文章

  1. 关于java基础_方法的简单习题

    package day05; import java.util.Arrays; /** * 方法作业 * @author ASUS * */ public class Demo6 { /* * 1.定 ...

  2. 关于java基础_方法的学习

    方法: 方法就是把一堆需要反复执行的代码封装起来,如果项目需要调用这段代码时,直接调用方法名即可 方法相当于榨汁机, 材料:水果 产出物:果汁 参数(材料):进入方法的数据 返回值(产出物):就是方法 ...

  3. 2.Java基础:方法定义和调用

    一.方法的定义 1.类的方法代表的是实力的某种行为(或功能) 方法的定义:方法类型 . 方法签名 . 方法体 2.定义类的方法 访问修饰符 类型 方法名(参数列表){ ///方法体 } 3.把方法当作 ...

  4. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  5. Java基础——clone()方法浅析

    一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  6. [ 转载 ] Java基础13--equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

  7. java基础(7)--方法

    方法 Math.sqrt() 取平方 Math.pow(2,3) 2的3次方 方法(Method),就是数学函数(Function). 业务方面: 是功能,是动作,一般采用动词命名. 数据层面:是利用 ...

  8. Java基础02 方法与数据成员(转载)

    对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象.   调用同一对 ...

  9. java基础—equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

随机推荐

  1. 正在开发的JavaScript引擎有哪些?

    正在开发的JavaScript引擎有哪些? V8,用C++编写,开放源代码,由Google丹麦开发,是Google Chrome的一部分,也用于Node.js. JavaScriptCore,开放源代 ...

  2. 【leetcode-200 深度优先+广度优先】 岛屿数量

    给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围. 示例 1: 输入: ...

  3. python练习题:利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法

    方法一: # -*- coding: utf-8 -*- # 利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法: def trim(s): whil ...

  4. PIE创建带压缩的栅格数据集

    这段时间我一直在研究如何用PIE创建带压缩的栅格数据集,由于我在比赛中使用的原始影像大小普遍都在300M以上,软件加载较慢,因此希望能对原始影像进行压缩,加快加载时间. 首先,该方法的关键是修改Dat ...

  5. Salesforce LWC学习(一)Salesforce DX配置

    LWC: Create a Salesforce DX Project and Lightning Web Component:https://www.youtube.com/watch?v=p268 ...

  6. P3028 汽水机(差分)

    题目 P3028 [USACO10OCT]汽水机Soda Machine 解析 差分,看到\(a[i]\leq 1e9\),离散化一下,在\(l\)处\(+1\),\(r+1\)处\(-1\),这样就 ...

  7. Dr. Memory Quickstart Instructions in Chinese

    For similar insructions in English, please see RPI CSCI1200 instructions. 程序内存调试 程序内存错误有很多种,比如内存访问错误 ...

  8. 微信小程序页面调用自定义组件内的事件

    微信小程序页面调用自定义组件内的事件 page page.json { "usingComponents": { "my-component": ". ...

  9. EF自动创建数据库步骤之一(实体类写法)

    文章演示使用EF自动创建数据库第一个步骤创建实体类. 一.创建表映射实体类 using System; using System.Collections.Generic; using System.C ...

  10. iOS 报错信息: dyld: Library not loaded: @rpath/XCTest.framework/XCTest Referenced from

    新建项目,引入framework,运行时出现警告:dyld: Library not loaded: @rpath/RLLibrary.framework/RLLibrary  Referenced ...