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. List转换成JSON对象报错(三)

    List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/e ...

  2. MySQL更改数据库表的存储引擎

    MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...

  3. java.lang.ArrayIndexOutOfBoundsException

    1.错误描述 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.you.m ...

  4. IOS开发之XCode学习011:UISwitch控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIswitch控件,添加UIswitc ...

  5. mac下安装ELK

    本文主要为自己所走弯路而做的补充,对小白(比如我)来讲某些博客讲的还是高深了,特地来此补充说明一些东西. 主要步骤参考http://blog.csdn.net/ywheel1989/article/d ...

  6. jquery初始化的三种方式

    第一种 $(document).ready(function(){ alert("第一种方法."); }); 第二种 $(function(){ alert("第二种方法 ...

  7. Android中的Socket

    1. UDP (1)访问网络必须添加权限,访问网络必须添加权限,访问网络必须添加权限,重要的事情说三遍. (2)简述 UDP协议是面向报文的,简单地说,利用UDP访问网络的步骤就是"寄快递& ...

  8. Bzoj4199:[NOI2015]品酒大会

    题面 Bzoj4199 Sol 后缀数组 显然的暴力就是求\(LCP\)+差分 \(40\)分 # include <bits/stdc++.h> # define RG register ...

  9. 线段树 (区间查询最大 区间求和 区间加)带lazy

    ; struct Segment_tree { struct Node { int val,Max,lazy; ]; void init() { lazy=son[]=son[]=Size=val=M ...

  10. 大数据Hadoop与Spark学习经验谈

    昨晚听了下Hulu大数据基础架构组负责人–董西成的关于大数据学习方法的直播,挺有收获的,下面截取一些PPT的关键内容,希望对正在学习大数据的人有帮助. 现状是目前存在的问题,比如找百度.查书这种学习方 ...