1. 前言
    引入函数前,所有的代码都写在main主函数中,代码过多,代码冗余,可读性差。

    引入函数后,函数是实现某一特定功能的代码块。一个类中可以定义多个函数,每个函数和main主函数都是并列关系。

  2. 函数:
    1. 语法:public static 返回值类型 函数名(形参列表){    //函数的声明部分。

      //函数的实现部分

      }

    2. 函数的三要素-- >返回值类型,函数名,形参列表
      1. 返回值类型:
        1. void -->代表该函数执行完即可,没有返回值。
        2. 八种基本类型,引用类型。 -- >代表该函数必须有返回值。函数中必须要有 return xxx 语句,且xxx类型必须和返回值类型一致。
      2. 函数名:-- >驼峰命名法:首字母全小写,其后单词首字母大写。
      3. 形参列表:-->定义函数时,参数的类型、数量和顺序
  3. 函数的调用:-- >在函数以内进行函数的调用。
    1. 实参列表:在函数调用时,用于给形参具体传值。
    2. 返回值:返回值类型如果不是void,可以后去返回值并进行使用。
    3. 过程:
      1. 调用函数时跳转到函数定义的位置;
      2. 实参给形参依次赋值
      3. 执行函数体语句
      4. 遇到return或者程序结束,带着返回值返回到函数调用的位置。

      代码如下:

package com.lvsling.test;

public
class test1 {

public
static
void main(String[] args) {

int s1=TestFunction(2, 3);

System.out.println(s1);

int s2=TestFunction2(2, 3);

System.out.println(s2);

}

public
static
int TestFunction(int a,int b){

int i=a+b;

return i;

}

public
static
int TestFunction2(int a,int b){

int i=a*b;

return i;

}

}

  1. 自我总结

    以上是函数的优点以及函数的具体使用方法,注意函数的三要素即可,返回值类型,函数名,形参列表。

    拓展与提升:

    1. 函数的形参变量名相当于函数的局部变量,只能在函数的内部使用。
    2. main函数是静态函数,静态函数只能直接调用静态函数,可以非直接调动动态函数
    3. 函数的递归 -- >函数内部有调用了自身函数,注意要避免无穷递归调用。

    代码如下:-->函数的递归调用。

package com.lvsling.test;

import java.util.Scanner;

/*

* 计算一个数的阶乘

*/

public
class test2 {

public
static
void main(String[] args) {

System.out.println("输入一个整数:");

Scanner scan = new Scanner(System.in);

int x = scan.nextInt();

int result = Recursion(x);

System.out.println(result);

}

//递归函数

public
static
int Recursion(int x){

if(x<=0){

return 1;

}else{

return x*Recursion(x-1);

}

}

}

java基础笔记(3)----函数的更多相关文章

  1. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  2. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  3. JAVA基础语法:函数(方法)、类和对象(转载)

    4.JAVA基础语法:函数(方法).类和对象 函数 在java中函数也称为方法,是一段具备某种功能的可重用代码块. 一个函数包括这几部分: 函数头 函数头包括函数访问修饰符,函数返回值类型, 函数名, ...

  4. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  5. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  6. Java基础笔记05-06-07-08

    五.今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 ...

  7. Java基础笔记1

    java (开源,跨操作系统)j2ee jre java基础 javaoop java高级 JDK(JAVA developer Kitool): java开发工具 (开发人员使用) JRE(java ...

  8. Java基础笔记(一)——JDK、JRE、JVM

    JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...

  9. Java基础笔记-抽象,继承,多态

    抽象类: abstract修饰 抽象方法必须定义在抽象类中,抽象类不能创建对象. 在抽象方法中可以不定义抽象方法,作用是:让该类不能建立对象. 特点是: 1.定义在抽象类中 2.方法和类都用abstr ...

随机推荐

  1. 安装Android的SDK

    安装Android的SDK 1.首先,下载installer_r23.0.2-windows.exe 2.双击"installer_r23.0.2-windows.exe",进入A ...

  2. Flex的 Event中属性currentTarget与target的区别

    Flex的 Event中属性currentTarget与target的区别 1.区别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...

  3. 复制粘贴之插件(jquery.zclip.min.js)需要安装flash

    .line{margin-bottom:20px;} /* 复制提示 */ .copy-tips{position:fixed;z-index:999;bottom:50%;left:50%;marg ...

  4. setBit testBit权限管理(shiro项目中来的二)

    一,setBit testBit权限管理的理解 1.1.jdk7文档解释 public boolean testBit(int n)Returns true if and only if the de ...

  5. linux iscsi配置

    iSCSI 是一种 SAN的设备而 SAN的设备主要是提供 Server 存储体的空间.相较于传统的 SAN 是以光纤为传输媒体而 iSCSI(Internet SCSI)他是 IP-based 的数 ...

  6. C++标准库bitset类型(简单使用方法)

    转自此人博客 ```cpp #include<bister> using std::bitset; ``` 一句话定义:可自定义位数,用作记录二进制的数据类型. 一,定义和初始化 ```c ...

  7. 【Luogu1373】小a和uim之大逃离(动态规划)

    [Luogu1373]小a和uim之大逃离(动态规划) 题面 题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布 ...

  8. 【POJ3461】Oulipo

    题面 The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter ...

  9. Luogu4149:[IOI2011]Race

    题目 bzoj权限题... Luogu Sol 点分治辣,边权非负,k>=1,开个\(1e6\)的桶就好辣 # include <bits/stdc++.h> # define RG ...

  10. MySQL性能调优与架构设计

    1.Scale(扩展):从数据库来看,就是让数据库能够提供更强的服务能力 ScaleOut: 是通过增加处理节点的方式来提高整体处理能力 ScaleUp: 是通过增加当前处理节点的处理能力来提高整体的 ...