Java基础方法介绍

简介: Java基础方法介绍

1.不用方法的缺点


以下程序不使用“方法”,分析程序存在哪些缺点?


* 以下的代码都是完成两个int类型的数据的和,相同的代码写了三遍(只不过每一次参与求和的数据不同)

 

  * 应该在java语言当中有这样的一种机制:

    - 某个功能代码只需要写一遍。

 - 要使用这个功能,只需要给这个功能传递具体的数据

 - 这个功能就可以重复利用了,提高代码复用性。【这就是“方法”】

 

  * 输出使用这个方法我们成为“调用/invoke”


public class MethodTest01{
  public static void main(String[] args){
  //需求1:请编写程序计算10和20的和,并将结果输出【功能:计算两个int类型数据的和】
  int a = 10;
  int b = 20;
  int c = a + b;
  System.out.println(a + "+" + b + "=" + c);
  //需求2:请编写程序计算666和888的和,并将结果输出【功能:计算两个int类型数据的和】
  int x = 666;
  int y = 888;
  int s = x + y;
  System.out.println(x + "+" + y + "=" + s);
  //需求3:请编写程序计算111和222的和,并将结果输出【功能:计算两个int类型数据的和】
  int m = 111;
  int n = 222;
  int i = a + b;
  System.out.println(m + "+" + n + "=" + i);
  //以上的三个需求其实就是一个需求
  //这个需求是:计算两个int类型数据的和,功能相同
     //只不过每一次参与计算的具体数据不同
  }
}


2.用方法的优点


以下的代码使用方法这种机制【这个例子不讲方法的语法】,分析程序的优点?

     * 代码得到重复利用

  方法的本质是什么?

     * 方法就是一段代码片段,并且这段代码片段

  可以完成某个特定的功能,并且可以被重复的使用。

 

方法,对应的英语单词:Method

方法在c语言中叫做函数/Function

方法体当中不能在定义方法

方法定义在类体当中,在一个类当中可以定义多个方法,方法编写的位置没有先后顺序,可以随意。


public class MethodTest02{
  //类体
  public static void main(String[] args){
  //计算两个int类型数据的和
  MethodTest02.sumInt(10,20);//自上而下的顺序结构执行
  MethodTest02.sumInt(666,888);
  MethodTest02.sumInt(111,222);
  int x = 80;
  MethodTest02.sumInt(x,90);
  int k = 40;
  int f = 60;
  MethodTest02.sumInt(k,f);//k和f是实参
  }
  //方法
  //单独的定义一个方法
  //该方法完成计算两个int类型数据的和,并且将结果输出
  public static void sumInt(int a,int b){
  int c = a + b;
  System.out.println(a + "+" + b + "=" + c);
  }
}


3.方法的介绍


1、方法怎么定义,语法机制是什么?


 [修饰符列表] 返回值类型 方法名(形式参数列表){

  方法体;

 }


 注意:


  [] 符号叫做中括号,以上中括号[]里面的内容表示不是必须的,是可选的。

  方法体由Java语句构成。

  方法定义之后需要去调用,不调用是不会执行的。

 

 1.1、关于修饰符列表:


  修饰符列表不是必选项,是可选的。目前为止,大家统一写成:public static

  后面你就理解应该怎么写了。


 1.2、关于返回值类型:


  第一:返回值类型可以是任何类型,只要是java中合法的数据类型就行,数据

  类型包括基本数据类型和引用数据类型,也就是说返回值类型可以是:byte short

  int long float double boolean char String......


  第二:什么是返回值?


   返回值一般指的是一个方法执行结束之后的结果。

   结果通常是一个数据,所以被称为“值”,而且还叫

   “返回值”。

   方法就是为了完成某个特定的功能,方法结束之后

   大部分情况下都是有一个结果的,而体现结果的一般

   都是数据。数据得有类型。这就是返回值类型。


 

main{
      // 调用a方法
      a();..如果a方法执行结束之后有返回值,这个返回值返回给main了。
    }
    a(){}


   方法执行结束之后的返回值实际上是给调用者了。谁调用就返回给谁。

  第三:当一个方法执行结束不返回任何值的时候,返回值

  类型也不能空白,必须写上void关键字。所以void表示该

  方法执行结束后不返回任何结果。


  第四:如果返回值类型“不是void”,那么你在方法体执行结束的时候必须使用

  "return 值;"这样的语句来完成“值”的返回,如果没有“return 值;”这样的语句

  那么编译器会报错。

   return 值; 这样的语句作用是什么?作用是“返回值”,返回方法的执行结果。

  第五:只要有“return”关键字的语句执行,当前方法必然结束。

  return只要执行,当前所在的方法结束,记住:不是整个程序结束。


  第六:如果返回值类型是void,那么在方法体当中不能有“return 值;”这样的

  语句。但是可以有“return;”语句。这个语句“return;”的作用就是用来终止当前

  方法的。


  第七:除了void之外,剩下的都必须有“return 值;”这样的语句。


 1.3、方法名


  方法名要见名知意。(驼峰命名方式)

  方法名在标识符命名规范当中,要求首字母小写,后面每个单词首字母大写。

  只要是合法的标识符就行。

 

 1.4、形式参数列表


  简称:形参

  注意:形式参数列表中的每一个参数都是“局部变量”,方法结束之后内存释放。

  形参的个数是:0~N个。

  public static void sumInt(){}

  public static void sumInt(int x){}

  public static void sumInt(int x, int y){}

  public static void sum(int a, int b, double d, String s){}

  形参有多个的话使用“逗号,”隔开。逗号是英文的。

  形参的数据类型起决定性作用,形参对应的变量名是随意的。

 

 1.5、方法体:


  由Java语句构成。java语句以“;”结尾。

  方法体当中编写的是业务逻辑代码,完成某个特定功能。

  在方法体中的代码遵循自上而下的顺序依次逐行执行。

  在方法体中处理业务逻辑代码的时候需要数据,数据来源就是这些形参。


2、方法定义之后怎么调用呢?


 方法必须调用才能执行。

 怎么调用,语法是什么?

  类名.方法名(实际参数列表);

 

 实参和形参的类型必须一一对应,另外个数也要一一对应。


public class MethodTest03{
  public static void sum(int a,int b){
   System.out.println(a + "+" + b + "=" + (a + b));
   //调用dosome方法
   MethodTest03.dosome();
  }
  //主方法
  //main方法是JVM负责调用的,是一个入口位置
  //从这里作为起点开始执行程序
  //public表示公开的
  //static表示静态的
  //void表示方法执行结束之后不返回任何数据
  //main是方法名:主方法
  //(String[] args): 形式参数列表,其中String[]是一种引用数据类型,args是一个局部变量的变量名
  public static void main(String[] args){//程序主入口,都是先从此处执行,然后再自上而下的结构执行
   //调用sum方法
   MethodTest03.sum(80,90);
   System.out.println("HelloWorld!");
  }
  public static void dosome(){
   System.out.println("do some");
  }
}
相关文章
|
3天前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
11 1
|
21天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
72 4
|
2月前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
48 17
|
25天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
67 2
|
2月前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
20 3
|
2月前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
2月前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
19 2
|
2月前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
19 1
|
2月前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
34 1
|
2月前
|
Java
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅
在Java多线程编程中,`wait()`和`notify()`方法的相遇如同一场奇妙的邂逅。它们用于线程间通信,使线程能够协作完成任务。通过这些方法,生产者和消费者线程可以高效地管理共享资源,确保程序的有序运行。正确使用这些方法需要遵循同步规则,避免虚假唤醒等问题。示例代码展示了如何在生产者-消费者模型中使用`wait()`和`notify()`。
28 1