java基础笔记(3)----函数
- 前言
引入函数前,所有的代码都写在main主函数中,代码过多,代码冗余,可读性差。引入函数后,函数是实现某一特定功能的代码块。一个类中可以定义多个函数,每个函数和main主函数都是并列关系。
- 函数:
- 语法:public static 返回值类型 函数名(形参列表){ //函数的声明部分。
//函数的实现部分
}
- 函数的三要素-- >返回值类型,函数名,形参列表
- 返回值类型:
- void -->代表该函数执行完即可,没有返回值。
- 八种基本类型,引用类型。 -- >代表该函数必须有返回值。函数中必须要有 return xxx 语句,且xxx类型必须和返回值类型一致。
- 函数名:-- >驼峰命名法:首字母全小写,其后单词首字母大写。
- 形参列表:-->定义函数时,参数的类型、数量和顺序
- 函数的调用:-- >在函数以内进行函数的调用。
- 实参列表:在函数调用时,用于给形参具体传值。
- 返回值:返回值类型如果不是void,可以后去返回值并进行使用。
- 过程:
- 调用函数时跳转到函数定义的位置;
- 实参给形参依次赋值
- 执行函数体语句
- 遇到return或者程序结束,带着返回值返回到函数调用的位置。
代码如下:
|
package com.lvsling.test; public public int s1=TestFunction(2, 3); System.out.println(s1); int s2=TestFunction2(2, 3); System.out.println(s2); } public int i=a+b; return i; } public int i=a*b; return i; } } |
- 自我总结
以上是函数的优点以及函数的具体使用方法,注意函数的三要素即可,返回值类型,函数名,形参列表。
拓展与提升:
- 函数的形参变量名相当于函数的局部变量,只能在函数的内部使用。
- main函数是静态函数,静态函数只能直接调用静态函数,可以非直接调动动态函数
- 函数的递归 -- >函数内部有调用了自身函数,注意要避免无穷递归调用。
代码如下:-->函数的递归调用。
|
package com.lvsling.test; import java.util.Scanner; /* * 计算一个数的阶乘 */ public public System.out.println("输入一个整数:"); Scanner scan = new Scanner(System.in); int x = scan.nextInt(); int result = Recursion(x); System.out.println(result); } //递归函数 public if(x<=0){ return 1; }else{ return x*Recursion(x-1); } } } |
java基础笔记(3)----函数的更多相关文章
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...
- JAVA基础语法:函数(方法)、类和对象(转载)
4.JAVA基础语法:函数(方法).类和对象 函数 在java中函数也称为方法,是一段具备某种功能的可重用代码块. 一个函数包括这几部分: 函数头 函数头包括函数访问修饰符,函数返回值类型, 函数名, ...
- 黑马程序员----java基础笔记中(毕向东)
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...
- Java基础笔记05-06-07-08
五.今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 ...
- Java基础笔记1
java (开源,跨操作系统)j2ee jre java基础 javaoop java高级 JDK(JAVA developer Kitool): java开发工具 (开发人员使用) JRE(java ...
- Java基础笔记(一)——JDK、JRE、JVM
JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...
- Java基础笔记-抽象,继承,多态
抽象类: abstract修饰 抽象方法必须定义在抽象类中,抽象类不能创建对象. 在抽象方法中可以不定义抽象方法,作用是:让该类不能建立对象. 特点是: 1.定义在抽象类中 2.方法和类都用abstr ...
随机推荐
- List转换成JSON对象报错(三)
List转换成JSON对象 1.具体错误如下 Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/e ...
- MySQL更改数据库表的存储引擎
MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...
- java.lang.ArrayIndexOutOfBoundsException
1.错误描述 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.you.m ...
- IOS开发之XCode学习011:UISwitch控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIswitch控件,添加UIswitc ...
- mac下安装ELK
本文主要为自己所走弯路而做的补充,对小白(比如我)来讲某些博客讲的还是高深了,特地来此补充说明一些东西. 主要步骤参考http://blog.csdn.net/ywheel1989/article/d ...
- jquery初始化的三种方式
第一种 $(document).ready(function(){ alert("第一种方法."); }); 第二种 $(function(){ alert("第二种方法 ...
- Android中的Socket
1. UDP (1)访问网络必须添加权限,访问网络必须添加权限,访问网络必须添加权限,重要的事情说三遍. (2)简述 UDP协议是面向报文的,简单地说,利用UDP访问网络的步骤就是"寄快递& ...
- Bzoj4199:[NOI2015]品酒大会
题面 Bzoj4199 Sol 后缀数组 显然的暴力就是求\(LCP\)+差分 \(40\)分 # include <bits/stdc++.h> # define RG register ...
- 线段树 (区间查询最大 区间求和 区间加)带lazy
; struct Segment_tree { struct Node { int val,Max,lazy; ]; void init() { lazy=son[]=son[]=Size=val=M ...
- 大数据Hadoop与Spark学习经验谈
昨晚听了下Hulu大数据基础架构组负责人–董西成的关于大数据学习方法的直播,挺有收获的,下面截取一些PPT的关键内容,希望对正在学习大数据的人有帮助. 现状是目前存在的问题,比如找百度.查书这种学习方 ...