您的位置:首页 > 编程语言 > Java开发

Java”方法“学习小结

2010-04-23 22:18 627 查看
方法就是一段可重复调用的代码端

方法的定义在Java中有多种形式,

现在的我所说的方法就是指可以用main方法直接去调用的方法。

public class JavaDemo06
{
public static void main(String args[])
{
printTab() ;
}
// 定义一个方法,此方法用于打印Hello World
// public static必须加上,因为是由主方法直接去调用
// void:表示此方法不需要任何返回值
// print:表示方法的名称,可以任意编写
// 方法名称编写时:第一个单词首字母小写,之后每个单词的首字母大写
public static void printTab()
{
System.out.println("************************") ;
System.out.println("*      Hello World     *") ;
System.out.println("*      www.mldn.cn     *") ;
System.out.println("************************") ;
}
};


如果要定义一个有返回值的方法,则将void换成相应的类型即可,例如:定义一个方法,此方法用于进行两个数相加。相加的结果返回。

public class JavaDemo07
{
public static void main(String args[])
{
int k = add(10,30) ;
// int float String
System.out.println("两数相加之后为:"+k) ;
}
// 两个整数相加
// x和y是在add方法中起作用,所以这种变量称为局部变量
public static int add(int x,int y)
{
int temp = x + y ;
// 如果有返回值,则要加入return语句
return temp ;
}
};


方法的重载

Java中方法是可以重载的

方法的名称相同,但可以根据不同的参数完成不同的功能;

public class JavaDemo08
{
public static void main(String args[])
{
add(10.0f) ;
}
public static void add()
{
System.out.println("** 1、无参的add方法.") ;
}
public static void add(int i)
{
System.out.println("** 2、有一个参数的add方法。") ;
}
public static void add(int i,int j)
{
System.out.println("** 3、有两个参数的add方法。") ;
}
public static void add(float i)
{
System.out.println("** 4、float参数的add方法。") ;
}
};


在Java中此种特性也称为一种多态性————方法的多态性,通过同一个方法名称完成的功能不同。

基本类型是一个值传递过程,只传一个具体的数字或字符

如何传递一个数组呢?

引用

public class JavaDemo09
{
public static void main(String args[])
{
int i[] = new int[10] ;
// 调用init方法就可以为数组初始化
init(i) ;
// 打印数组
print(i) ;
}
// 声明一个方法,要求此方法可以为数组中的内容初始化内容
// 0--> 1、1--> 2
// 把堆内存空间的内容取出,之后在方法中进行加工
public static void init(int x[])
{
// 进行数组的初始化
for (int y=0;y<x.length;y++)
{
x[y] = y + 1 ;
}
}
// 定义第二个方法,此方法用于打印数组
public static void print(int x[])
{
for (int y=0;y<x.length;y++)
{
System.out.println("数组["+y+"] = "+x[y]) ;
}
}
};


如何能够让方法返回一个数组呢?

public class JavaDemo10
{
public static void main(String args[])
{
int i[] = init(20) ;
// 调用init方法就可以为数组初始化
// init(i) ;
// 打印数组
print(i) ;
}
// 声明一个方法,要求此方法可以为数组中的内容初始化内容
// 0--> 1、1--> 2
// 把堆内存空间的内容取出,之后在方法中进行加工
// 表示数组开辟的大小
public static int[] init(int len)
{
// java中的数组是可以动态开辟的
int x[] = new int[len] ;
// 进行数组的初始化
for (int y=0;y<x.length;y++)
{
x[y] = y + 1 ;
}
return x ;
}
// 定义第二个方法,此方法用于打印数组
public static void print(int x[])
{
for (int y=0;y<x.length;y++)
{
System.out.println("数组["+y+"] = "+x[y]) ;
}
}
};


复制数组

System类的arraycopy()方法提供了数组元素的复制功能:

//源数组

int source[] = {1,2,3,4,5,6} ;

//目的数组

int dest[] = {11,22,33,44,55,66,77,88,99} ;

//复制源数组中从下标0的位置开始的source.length个元素到目的数组,从下标0位置开始存储

System.arraycopy(source,0,dest,0,source.length) ;

public class JavaDemo11
{
public static void main(String args[])
{
int source[] = {1,2,3,4,5,6} ;
int dest[] = {11,22,33,44,55,66,77,88,99} ;
System.out.println("------- dest数组拷贝之前 ---------") ;
printArray(dest) ;
// 进行数组的拷贝
System.arraycopy(source,0,dest,0,source.length) ;

System.out.println("------- dest数组拷贝之后 ---------") ;
printArray(dest) ;
}
public static void printArray(int x[])
{
for (int i=0;i<x.length;i++)
{
System.out.println("数组["+i+"] = "+x[i]) ;
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: