Java09-java语法基础(八)java中的方法

一、方法(函数/过程):是一个程序块,可以完成某种功能

1、java中方法的定义格式

[访问控制修饰符]  返回值类型  方法名(参数列表){

方法体;

}

注意:

(1)返回值类型:方法运算结果的类型,若方法没有结果值,返回值类型为void

(2)方法名:用户标识符(字母、_、$开头),建议用动词开头,做到见名知意,首字母小写。如:setName、printInfo。

(3)参数列表:方法可以有参数,可以没有参数。但是“()”不能省略。如果有多个参数,参数之间用“,”分隔。

强调:java的主方法

public static void main(String[] args) {
方法体语句;
}
// 访问控制符:public static
// 返回值类型:void
// 方法名:main,所有的java应用程序都是从main方法开始执行。

java程序分类:

  (1)java应用程序:Java Application

  (2)java小程序:Java Applet

  (3)java web

参数:是一个String类型的一维数组,从命令行项main方法传递参数

示例一:无参方法,计算0到100的和

public int getSum(){
int sum = 0;
for(int i=0; i<=100; i++){
sum = sum +i;
}
return sum;
}

强调:方法的返回值类型必须和方法体中return后的表达式一致;若方法体中没有return语句,则该方法的返回值类型为void

示例二:有参方法,计算某个数的阶乘,数由参数传递

public int getValue(int n){
int s = 1;
for(int i=1; i<=n; i++){
s = s*i;
}
return s;
}

2、方法的调用

(1)无参方法

  有返回值:类型名  变量名 = 对象名.方法名();

  无返回值:对象名.方法名();

(2)有参方法

  有返回值:类型名  变量名 = 对象名.方法名(实参);

  无返回值:对象名.方法名(实参);

强调:

  形参(形式参数):在方法定义的时候出现在方法首部的参数为形参,该参数没有确定的值;

  实参(实在参数):在方法调用时出现在方法首部的参数,该参数有确定的值。

  参数的传递方向是单向的:只能从实参将数据传递给形参,形参的改变不影响实参。

二、方法的重载

1、面向对象编程的特性:封装、多态、继承(例子:现实生活)

(1)封装性:对象的属性和行为封装在一起,某些属性和方法无法在外部直接访问。

(2)多态性:对象在接收到同一信息时,做出的反应是不同的。

(3)继承性:子类可以继承父类的属性和方法,而不需要重新再写属性和方法。

2、方法的重载

  相同的方法名,在接收到不同的参数后,能实现不同的功能。

  强调:不同参数:个数或类型不同

  示例:实现不同类型方法的求和运算

public int getSum(){
  int sum = 0;
  for(int i=0; i<=100; i++){
  sum = sum + i;
  }
  return sum;
}
public int getSum(int a, int b){
  return a+b;
}
public double getSum(double a, double b){
  return a+b;
}
public String getSum(char c1, char c2){
  return c1+","+c2;
}

三、递归调用:方法自己调用自己

1、前提条件

(1)问题可以进行分解,分解后新问题的解法和原问题的解法相同

(2)必须有明确的结束条件

2、递归的过程

(1)自上而下分解问题

  示例:递归计算阶乘

  5!—— > 5*4!

  4!—— > 4*3!

  3!—— > 3*2!

  2!—— > 2*1!

(2)自下而上解决问题

  5! <—— 5*4!

  4! <—— 4*3!

  3! <—— 3*2!

  2! <—— 2*1!

Java09-java语法基础(八)java中的方法的更多相关文章

  1. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  2. Java语言基础(八)

    Java语言基础(八) 一.数学运算  + - * /  % (1)凡是byte  short  char类型都按int类型的计算   看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...

  3. Java 多线程基础(九)join() 方法

    Java 多线程基础(九)join 方法 一.join() 方法介绍 join() 定义 Thread 类中的,作用是:把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.如:线 ...

  4. JAVA语法基础作业——动手动脑以及课后实验性问题 (八)

    一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...

  5. Java语法基础(一)----关键字、标识符、常量、变量

    一.关键字: 关键字:被Java语言赋予特定含义的单词.组成关键字的字母全部小写.注:goto和const作为保留字存在,目前并不使用.main并不是关键字. 二.标识符: 标识符:就是给类,接口,方 ...

  6. Java语法基础学习DaySeven

    ---恢复内容开始--- 一.包装类——Wrapper 1.定义:针对八种基本数据类型定义相应的引用类型——包装类(封装类) boolean——Boolean          byte——Byte ...

  7. java语法基础

    Java的基本符号(token) Java的单词符号有五种:关键字.标识符.常量.分隔符和操作符. Java的字符集 Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见 ...

  8. idea中,发现某个java语法在低版本中不支持时的解决办法

    比如,在某个工程中,准备用java.util.Objects#equals语法,发现提示版本不支持. F4查看Module的配置,发现原来是1.6版本. 当我手动修改为1.8时,提示我:Module是 ...

  9. Java语法基础学习DayEighteen(常用类)

    一.String类 1.特点 String代表不可变的字符序列,底层用char[]存放. String是final的. 2.内存解析 3.常用方法 int length() char charAt(i ...

  10. Java语法基础学习DaySix

    一.JavaBean——可重用组件 1.JavaBean是指符合以下标准的Java类: (1)类是公共的 (2)有一个无参的公共的构造器 (3)有属性,且有对应的get.set方法 2.好处 用户可以 ...

随机推荐

  1. mybatis 获取insert返回的主键

    在我们开发过程中,在插入数据到数据库时,很多时候都需要把其主键返回,这里就说一下mybatis是怎么获取的. 其中mysql和oracle是不同的做法,因为mysql本身就提供字段自增的属性,而ora ...

  2. Easy-to-Learn English Travel Phrases and Vocabulary!

    Easy-to-Learn English Travel Phrases and Vocabulary! Share Tweet Share Tagged With: Real Life Englis ...

  3. Java泛型类型擦除以及类型擦除带来的问题

    目录 1.Java泛型的实现方法:类型擦除 1-2.通过两个例子证明Java类型的类型擦除 2.类型擦除后保留的原始类型 3.类型擦除引起的问题及解决方法 3-1.先检查,再编译以及编译的对象和引用传 ...

  4. mysql游标错误

    DECLARE done INTEGER DEFAULT 0;DECLARE cur CURSOR FOR SELECT f_time,f_value FROM this_yc201508;DECLA ...

  5. 关于xml中自动提示功能的设置

    我们在编写xml文件时如果有自动提示功能,将会事半功倍,下面我就怎么设置xml进行说明: 在xml文件的开始几行一般有编写xml文件的语法要求;如 <!DOCTYPE hibernate-con ...

  6. C# 递归获取 文件夹的 所有文件

    public void Director(string dir, List<string> list) { DirectoryInfo d = new DirectoryInfo(dir) ...

  7. Oracle 查询表的字段注释

    SELECT TABLE_NAME, COLUMN_NAME, COMMENTSFROM USER_COL_COMMENTSWHERE TABLE_NAME = 'TB_MENU';

  8. quast-lg

    1.官网简介 http://cab.spbu.ru/software/quast-lg/ QUAST- lg是QUAST的一个扩展,用于评估大型基因组装配(直至哺乳动物大小).QUAST- lg从5. ...

  9. 如何区分Java中的方法重载和重写

    首先说的是重载: 方法的重载 * 在同一个类中,方法名相同,参数列表不同.与返回值类型无关. * 参数列表不同: * A:参数个数不同 * B:参数类型不同 * C:参数的顺序不同(不算重载 报错) ...

  10. python 函数的动态参数 命名空间,作用域以及函数嵌套,global和nonlocal (重点)

    *** 坚持坚持,即使你不太强*** 1.函数的动态传参 2.函数的命名空间及作用域 3.函数嵌套 4.global和nonlocal关键字 一.函数的动态传参 1. *args: 位置参数动态传参, ...