方法
声明各式:
[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){
Java语句;… … …
}
-
形式参数: 在方法被调用时用于接收外界输入的数据。
-
实参:调用方法时实际传给方法的数据。
-
返回值:方法在执行完毕后返还给调用它的环境的数据。
-
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void
Java语言中使用下述形式调用方法:对象名.方法名(实参列表)
-
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
-
return 语句终止方法的运行并指定要返回的数据。
方法重载
- 方法重载:就是方法名相同,方法参数的个数和类型不同,通过个数和类型的不同来区分不同的函数。
- 方法重载:就是方法名相同,方法参数的个数和类型不同,通过个数和类型的不同来区分不同的函数。
class Sum
{
public int sum(int a,int b){
return a+b;
}
public int sum(int a,int b,int c){
return a+b+c;
}
public double sum(double a,double b){
return a+b;
}
}
调用
class Num4
{
public static void main(String[] args)
{
Sum s = new Sum();
int sum = s.sum(1,2);
System.out.println(sum);
int sum2 = s.sum(1,2,3);
System.out.println(sum2);
double sum3 = s.sum(1.4,1.4);
System.out.println(sum3);
double sum4 = s.sum(1.1,2.2,4);
System.out.println(sum4);
}
}
数组
数组概述
- 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。**
一位数组的声明:
int a[] = new int[3]
Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:
int a[5]; //非法
数组对象的创建
Java中使用关键字new 创建数组对象,格式为:
数组名 = new 数组元素的类型 [数组元素的个数]
public class Test {
public static void main(String args[]) {
int[] s;
s = new int[5];
for (int i = 0; i < 5; i++) {
s[i] = 2 * i + 1;
}
}
}
元素为引用数据类型的数组
注意:元素为引用数据类型的数组中的每一个元素都需要实例化
数组元素的引用
-
定义并用运算符new为之分配空间后后,才可以引用数组中的每个元素,数组元素的引用方式为:
-
arrayName[index]
- index为数组元素下标,可以是整型常量或整型表达式。如:
- a[3] b[i] c[6*i]
-
数组元素下标从0开始;长度为n的数组的合法下标取值范围为
- 0~n-1
-
- 每个数组都有一个属性length指明它的长度,例如:
- a.length的值为数组a的长度(元素个数)。
二维数组
二维数组可以看成以数组为元素的数组。例如:
int a[][] = {{1,2},{3,4,5,6},{7,8,9}};
java中的二维数组,定义时列数可以不给定,也就是说明,每行可以不一样
二维数组初始化
-
静态初始化
int intA[][] = {{1,2},{2,3},{3,4,5}};
int intB[3][2] = {{1,2},{2,3},{4,5}};//非法
-
动态初始化
int a[][] = new int[3][5]; int b[][] = new int[3][] b[0] = new int[2]; b[1] = new int[3]; b[2] = new int[5];
数组的拷贝
-
使用java.lang.Steing类的静态方法
-
可以用于数组src从第srcPos项元素开始的length
个元素拷贝到目标数组从destPos项开始的length个
位置。
-
如果源数据数目超过目标数组边界会抛出
IndexOutOfBoundsException异常。
第二种方式:(利用类Arrays中的方法)
b = Arrays.copyOfRange(a,3,4);
利用库函数排序
int[] a = {4,2,5,7,1};
Arrays.sort(a,0,2);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
数组的相等比较
int[] a = {4,2,5,7,1};
int[] b = {4,2,5,7,1};
int[] c = a ;
System.out.println(Arrays.equals(a,b));
System.out.println(a == c);
System.out.println(b == c);