Java语言基础组成—函数

Java语言由8个模块构成,分别为:关键字、标识符(包名、类名、接口名、常量名、变量名等)、注释、常量和变量、运算符、语句、函数、数组。

本片主要介绍Java中的函数,函数是Java中最小的功能单元。

1.函数的定义

     1)	定义:指在类中的具有特定功能的一段独立小程序,也称为方法。
2) 格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2, ... )
{
执行语句;
return 返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
3) 范例
//计算任意整数*3+5的结果
class FunctionDemo{
public static void main(String[] args){
int x=4;
System.out.println(x*3+5);
int y=6;
System.out.println(y*3+5);
}
} 发现以上的运算,因为获取不同数据的运算结果,代码出现了重复。
为了提高代码的复用性,对代码进行抽取。
将这个部分定义成一个独立的功能,方便使用。
Java中对功能的定义是通过函数的形式来体现的。
即需要定义一个功能:完成任意整数*3+5的值。
public static int getResult(int num){
return num*3+5;
}
因此,上面的代码就可以简写为:
public class FuntionDemo{
public static void main(String[] args){
int x=getResult(4);
int y=getResult(6);
System.out.println("x="+x+",y="+y);
}
}
public static int getResult(int num){
return num*3+5;
}
//该程序运行结果为:x=17,y=23

2.函数的特点

     1) 定义函数可以将功能代码进行封装。
2) 便于对该功能进行复用。
3) 函数只有被调用才会执行。
4) 函数的出现提高了代码的复用性。
5) 当函数没有具体返回值的情况,返回值类型用关键字void标识,即void代表的是函数没有具体返回值,那么该函数中的return语句如果在最后一行可以省略不写,该功能也不能在输出语句中输出,在功能中可以输出,函数直接调用。
6) 注意写法格式:
函数只能调用函数,不可以在函数内部定义函数(函数是平级的,谁也不包含谁)。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
7) 例子说明:直接打印结果,不返回值(注意对应第五个特点)
public class FuntionDemo{
public static void main(String[] args){
getResult(5);
}
public static void getResult(int num){
System.out.println(num*3+5);
return; //return可以省略不写。
}
}
//该程序运行结果为:20

3.函数的应用

     1) 如何定义一个函数?
*1* 既然函数是一个独立的功能,那么先明确该功能的运算结果是什么。
*2* 再明确在定义该功能的过程中是否需要未知的内容参与运算。
*3* 定义函数时只需完成相对应的功能,将结果返回给调用者,调用者怎么使用是调用者的事情。 2)实例说明
这里以简单的加法运算为例,主要介绍函数的应用,对于函数的特点体现不是特别明确。
*1* 需求:定义一个功能,完成3+4的运算,并将结果返回给调用者。
*2* 思路:1.明确该功能的运算结果:是一个整数的和,即明确函数的返回值类型。
2.再明确在定义该功能的过程中没有未知的内容参与运算,即明确函数的参数列表(参数类型和参数个数)。
*3* 程序实现:
class FunctionDemo2{
public static void main(String[] args){
int sum=getAdd();
System.out.println("sum="+sum);
}
public static int getAdd(){
return 3+4;
}
}
*4* 结果分析:该程序运行结果为:sum=7

以上函数的功能,结果是固定的,无扩展性。

为方便用户需求,由用户来指定加数和被加数,这样功能才有意义。

		*1* 需求:定义一个功能,完成任意两个整数加法的运算,并将结果返回给调用者。
*2* 思路:
功能的结果是一个整数,即返回值类型为int。
有两个未知内容参与运算,类型为int。
*3* 程序实现:
class FunctionDemo2{
public static void main(String[] args){
int sum=getAdd(3,5);
System.out.println("sum="+sum);
int sum=getAdd(6,6);
System.out.println("sum="+sum);
public static int getAdd(int a int b){
return a+b;
}
}
*4* 结果分析:该程序运行结果为:sum=8
sum=12 3)函数的具体应用实例(一)
*1* 需求:判断两个数是否相等。
*2* 思路:
功能的结果是一个boolean型变量,即返回值类型为boolean。
有两个未知内容参与运算,类型为int。
*3* 程序实现:
class FunctionDemo{
public static void main(String[] args){
compare(3,5);
System.out.println(compare(3,5));
}
public static boolean compare(int a,int b){
return (a==b)?true:false;
}
}
*4* 结果分析:该程序运行结果为:flase 4)函数的具体应用实例(二)
*1* 需求:输出两个整数中的最大值。
*2* 思路:
功能的结果是int型变量,即返回值类型为int。
有两个未知内容参与运算,类型为int。
*3* 程序实现:
class FunctionDemo{
public static void main(String[] args){
getMax(3,5);
System.out.println(getMax(3,5));
}
public static int getMax(int a,int b){
return (a>b)?a:b;
}
}
*4* 结果分析:该程序运行结果为:5 4)函数的具体应用实例(三)
*1* 需求:定义一个功能,用于打印矩形。
*2* 思路:
功能的结果直接打印,所以返回值类型是void。
有两个未知内容(矩形的行和列)参与运算,类型为int。
*3* 程序实现:
class FunctionDemo{
public static void main(String[] args){
draw(2,4);
printHr();
draw(3,6);
printHr();
}
public static void draw(int row,int col){ //实现矩形的打印功能
for(int x=0;x<row;x++){
for(int y=0;y<col;y++){
System.out.print("*");
}
System.out.println();
}
}
public static void printHr(){ //将每个矩形分割开
System.out.println("----------------------");
}
}
*4* 结果分析:该程序运行结果为:
****
****
----------------------
******
******
******
----------------------

4.函数的重载

     1) 重载的概念
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。。
2) 重载的特点
与返回值类型无关,只看参数列表。
3) 重载的好处
方便于阅读,优化了程序设计。
4) 重载示例
*1*返回任意两个小数的和
int add(double a,double b){return a+b;}
*2*返回任意两个整数的和
int add(int a,int b){return a+b;}
*3*返回任意三个整数的和
int add(int a,int b,int c){return a+b+c;} 5) 重载的应用(什么时候用重载)
当定义的功能相同,但参与运算的未知内容不同时,通过参数列表的不同来区分多个同名函数。
6)重载应用实例
class FunctionOverload {
public static void main(String[] args) {
int x=add(3,6);
System.out.println(x);
int y=add(3,6,7);
System.out.println(y);
}
//定义一个加法运算,获取两个整数的和。
public static int add(int a, int b){
return a+b;
}
//定义一个加法运算,获取三个整数的和。
public static int add(int a, int b,int c){
return a+b+c;
}
}
//该程序运行结果为:9
16

Java之--Java语言基础组成—函数的更多相关文章

  1. Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数 ...

  2. GO学习-(12) Go语言基础之函数

    Go语言基础之函数 函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于"一等公民 ...

  3. Java 语言基础之函数

    函数的定义: 函数就是定义在类中的具有特定功能的一段独立小程序 函数也称为方法 函数定义格式: 修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,...) { 执行语句; re ...

  4. 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1>  简单介绍一下scanf函数   这是在 ...

  5. C#语言基础 Main 函数中的输出输入

    C# 是一门面向对象的编程语言,保留了C  C++等等强大功能,但是它与 Java 非常相似,有许多强大的编程功能,它是微软(Microsoft)专门为.NET应用而开发的一门语言. 也就是人与计算机 ...

  6. [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)

    python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...

  7. iOS开发环境C语言基础 数组 函数

    1 求数组元素的最大值 1.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为10的数组,数组内放置10个0~99之间(包含0,包含99)的随机数作为数组内容,要求查询出数组中的最 ...

  8. C语言基础(13)-函数

    一. 函数的原型和调用 在使用函数前必须定义或者声明函数. double circle(double r); int main() { ); printf("length = %f\n&qu ...

  9. OC语言基础之函数与方法

    方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间    对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 ...

随机推荐

  1. C++:异常的处理

    6.4 异常处理 程序中常见的错误分为两大类:编译时期的错误和运行时期的错误. 编译时期的错误比较简单容易发现:主要是语法错误,如关键字拼写错误.缺分号.括号不匹配等 运行时期的错误比较难发现,甚至是 ...

  2. swift:入门知识之控制流

    1.swift语句中的控制流和其他语言大致相同,使用if和switch作为条件控制.使用 for-in.for.while.do-while作为循环. 2.区别之处:小括号不是必须的,但是主体的大括号 ...

  3. Android 设置闹铃步骤和基础代码

    主要分三步: 1. 设置闹铃时间; 2. 接收闹铃事件广播; 3. 重开机后重新计算并设置闹铃时间;   1. 设置闹铃时间(毫秒) private void setAlarmTime(Context ...

  4. React getInitialState desc

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. AppDomain 应用程序域

    应用程序域 一.什么是应用程序域? 应用程序域 (application domain) (AppDomain) 一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点 ...

  6. Passing JavaScript Objects to Managed Code

    Silverlight If the target managed property or input parameter is strongly typed (that is, not typed ...

  7. mysql高可用方案比较

    详见:High Availability Database Tools http://www.acquia.com/blog/high-availability-database-tools

  8. bigtint;int;smallint;tinyint

    bigint对应的是Int64     [long] int对应的是Int32          [int] smallint对应的是Int16  [short] tinyint对应的是  [byte ...

  9. leetcode:Happy Number

    要求:Write an algorithm to determine if a number is "happy". A happy number is a number defi ...

  10. leetcode:Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...