java中的函数

1.函数:定义在类中的具有特定功能的一段独立小程序。
函数也称之为方法。
 为了提高代码的复用性,对代码进行抽取。
 将这个部分定义成一个独立的功能。方便使用。
 java中对功能的定义通过函数来实现的。
2函数的格式:修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,)
           {   执行语句;
             return 返回值;
           } 
返回值类型:函数运行后结果的数据类型。
参数类型:形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给实际参数的具体值。
return:用于结束函数。
返回值:该值返回调用者。
3.函数运算后,没有具体的返回值时,这时返回值类型用一个特殊的关键字来标识。
该关键字为void。void代表的是函数没有具体的返回值类型。
当函数的返回值类型为void时,函数中的return语句可以省略不写。
函数只可以在另一个函数调用,不能在另一个函数中定义。
4.java中最小功能单元是函数
 如何定义一个函数?
1.函数是一个独立的功能,该功能的运算结果先明确,明确返回值类型。
2.明确定义该功能的过程中是否需要未知的内容参与运算,明确参数列表。
例如:x+y;的需求分析:
①.功能结果是一个和,返回类型是int。
②.有未知类型参与运算,两个类型为int。
5.返回值类型为void的返回后不能被输出。返回的是结果不可被调用。(只能在函数中直接打印。)
return返回的结果可以被调用。
6.函数在需要调用时可以使用,不需要则不执行。
7.函数重载:同一个类中,允许存在一个或一个以上同名函数,只要它们的参数个数或者参数类型不同即可;
重载只和函数类型(参数类型)有关系;和返回值类型没关系。和类型先后顺序有关(顺序不同即为重载)。 
什么时候用重载:当定义功能相同,但参与的运算的未知内容不同。
那么,这时就定义一个函数名称以表示功能,方便阅读,而通过参数列表的不同来区分多个同名函数。

可以在函数下调用另一个同名函数;

public class functionTest {

public static void main(String[] args) {
int[] array1 = { 12, 8, 4, 6, 9, 99 };
double[] array2 = { 12.0, 215.10, 6546.2, 563.12 };
int max1 = MaxArray(array1);
double max2 = MaxArray(array2);//允许函数名相同,调用参数类型不同的在一个class中;
System.out.println("最大值为" + max1);
System.out.println("最大值为" + max2);
}

public static int MaxArray(int[] array1) {
int max = 0; // 以角标的形式查找数据;
for (int i = 0; i < array1.length; i++) {
if (array1[max] < array1[i]) {
max = i;
}
}
return array1[max];
}

public static double MaxArray(double[] array2) {
double max = array2[0]; // 以角标的形式查找数据;
for (int i = 0; i < array2.length; i++) {
if (max < array2[i]) {
max = array2[i];
}
}
return max;
}
}

时间: 2024-10-07 13:23:08

java中的函数的相关文章

java中的函数,数组

函数 程序中独立的过程 函数的语法: 函数的定义 声明 static 返回值类型 函数名 (参数表) 形式参数:形参 在函数内部有效的局部变量 实现 { 语句 } 函数的调用 函数名(参数); 实际参数:实参 为形参赋值 接收返回值 函数的作用: 1. 减少冗余代码,提高程序的可维护性 2. 可重用性 函数库 3. 加强代码的结构化 提高可读性 利于分工 非结构化编程(语句) ---> 结构化编程(函数) ---> 面向对象(类) 数组 一次性定义多个同类型的变量 数组空间在内存是连续的 定义

关于C++与Java中虚函数问题的读书笔记

之前一直用C++编程,对虚函数还是一些较为肤浅的理解.可近期由于某些原因搞了下Java,发现有些知识点不熟,于是站在先驱巨人的肩上谈谈C++与Java中虚函数问题. Java中的虚函数 以下是段别人的代码,输入结果竟是Base,这让一直以来用C/C++的我有些莫不着头脑,不是Java里对象是引用吗?C/C++中通过指向基类的指针或引用来指向派生类,那么对于虚函数来说通过基类指针使用的是指向的派生类.但在Java中没有keyword标明虚函数,此时就不是非常明确究竟调用的谁. class base

对比C++与Java中的函数重载、覆盖、和隐藏

                                  在C++中 1.函数的重载 C++中的函数的重载要求的是  函数名相同 参数列表必须不同  返回值类型可以相同也可以不相同:只有参数列表不相同,在函数调用时,编译环境才能准确抉择调用的是哪个函数.例如:void display():void display(int  i);void dispaly(double  i);void  display(int i,double i); void display(double  i,i

JAVA中字符串函数subString的用法小结

本篇文章主要是对JAVA中字符串函数subString的用法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 String str; str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str: str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str; demo:

对于Java中main函数为虚函数以及多态的一点理解

Question: 1.在Java中,由于main函数的定义为: public static void main(String[] args):那么要想在main函数中调用其余的函数的话,就必须将定义为static.另外,调用其他类编写的成员函数时,却不需要该成员函数为静态的,这是为什么? 分析: 静态方法是属于某一个类所有,而非静态方法是属于某类的对象所有.也就是说,要想调用非静态方法,必须先调用new来得到一个类的对象,系统为其分配内存,然后才能通过该对象访问相应的非静态成员函数.而静态方法

java中回调函数的理解

不要忽律学习中的一点点细节,也许他会决定你的成败. 这是在c/c++中的定义: 回调函数就是一个通过函数指针(函数地址)调用的函数.如果把函数的指针(也即函数的地址)作为参数传递给另一个函数,当通过这个指针调用它所指向的函数时,称为函数的回调. 回调函数不是由该函数的实现方直接调用的,而是在特定的事件或条件发生时,由另外的一方调用的,用于对该事件或条件进行响应. 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类: 同步调用.回调和异步调用. 同步调用是一种阻塞式调用,调用方要等

不用static,巧用对象.方法调用java中的函数

先生成一个对象,用"对象.方法()"的方式调用. java中的main方法是静态的,用于程序的入口,在静态方法中无法调用非静态方法,只能调用静态方法.想调用静态方法的话就要先生成该类的一个对象,通过对象调用非静态方法.如:public class SquareIntTest { public static void main(String[] args) {  int result;  SquareIntTest m = new SquareIntTest();  for (int x

Java中,函数参数的传递,是值传递还是引用传递

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?  答:是值传递. 可以这么理解:有一个Person(name="S"),作为参数传给一个方法,在此方法中将此Person重新设置name=“B”,那么有一下结论 ①这个Person还是这个Person,一直都是他,但是他的名字被改了,不管是原来的引用还是方法里的引用,引用的都是一个对象,所以,所有引用的值都变了 ②如果在方法中重新new了一个Person赋给参数,

java中回调函数的使用

package com.huawei.common; import java.sql.ResultSet;import java.sql.SQLException; /** * 回调函数 * @author Administrator * */public interface CallBack { void execute(ResultSet rs) throws SQLException; } package com.huawei.dao; import java.sql.Connection