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. Flex_概念

    1.Flex是事件驱动的面向对象应用程序框架和编程语言.Flex应用程序加载完毕后,需要做的就是捕获事件,然后作出响应.    Flex是一个庞大的技术组群中的一员.  2.RIA(Rich Inte ...

  2. 解决 'Could not convert variant of type (NULL) into type (String)

    写存储过程中有不允许为空的字段,在客户端转化取数时显示 Could not convert variant of type (NULL) into type (String) 可以在存储过程中使用is ...

  3. Java如何创建参数个数不限的函数

    可变的参数类型,也称为不定参数类型.英文缩写是varargus,还原一下就是variable argument type.通过它的名字可以很直接地看出来,这个方法在接收参数的时候,个数是不定的. pu ...

  4. 如何杀死oracle死锁进程

    方法一:Oracle的死锁非常令人头疼,总结了一些点滴经验作为学习笔记 1.查哪个过程被锁查V$DB_OBJECT_CACHE视图: '; 2. 查是哪一个SID,通过SID可知道是哪个SESSION ...

  5. IPv4和IPv6的差异;如何实现IPv4和IPv6双协议栈的通信

    1 IPv4和IPv6的差异 1.1 地址空间   IPv6 与 IPv4 比较最显著的一个改动就是使用 128 比特上的地址来代替了 32 比特长的 IPv4 地址. IPv6 中取消了广播地址, ...

  6. VC/VS2010中快捷键

    序号 热键 备注 1 F7 编译 2 Ctrl + F7 链接 3 Ctrl + F5 运行 4 F9 在光标处设置断点 5 F10 单步跟踪 6 F11 进入函数内部跟踪 7 Shift + F11 ...

  7. 学JS的心路历程-函式(二)arguments

    参数(argument)与函式参数(parameter) 在讨论函式时,很多人都会把这两个搞混,我自己也不例外. 虽然讲错别人也听得懂,但是我们还是要搞清楚这两个的定义到底是什么! 参数是当我们呼叫函 ...

  8. poj2115-Looooops-(扩展欧几里得定理)

    C Looooops Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:33752   Accepted: 9832 Descri ...

  9. 税控服务器 TC5002UpdatePackage 安装更新

    Linux版税控服务器单税号版本税控应用:   TC5002UpdatePackage2008160711.zip         单税号服务器(型号:TCG-01S1) Linux版税控服务器20个 ...

  10. php 指定页面显示所有报错

    ini_set('display_errors',1); error_reporting(E_ALL);