一个方法完成一个功能
命名规则:小写和驼峰
定义修饰符 返回值 方法名(参数类型 参数名){
……方法体
return 返回值;
}
//实际参数
public static void aa(int a);
//形式参数
aa(10);
重载
本质:函数名相同,参数列表不同
public static void main(String[] args) {
System.out.println("int ="+add(11,12));
System.out.println("double ="+add(13L,14L));
}
public static int add (int a,int b){
return a+b;
}
public static double add (double a,double b){
return a+b;
}
控制台运行
运行class文件要先到上一级路径下并输入软件包路径+文件名
编译要在软件包下编译
public static void add (int... num){
……函数体
return 0;
}
注意点:
- 在方法声明中,在指定参数类型后加一个省略号
- 一个方法只有一个可变参数
- 可变参数要在最后面
public class function3 {
public static void main(String[] args) {
print(1,2,3,4,5);
}
public static void print(int... num){
for(int i=0;i<num.length;i++){
System.out.println(num[i]);
}
}
}
//错误
public static void print(int... num,int x);
递归
本质:自身调用自己
注意:要有返回的条件,否则会栈溢出
public class function4 {
public static void main(String[] args) {
System.out.println(fun(3));
}
public static int fun(int i){
if (i==1){
return 1;//********
}else{
return i*fun(i-1);//******
}
}
}
数组
- 声明
//数据类型[] 数组名;
int[] num;
//数组类型 数组名[];
int num[];
- 创建
num = new int[10];
- 赋值
num[0]=1;
num[2]=2;
num[3]=3;
//未赋值默认为0
//数组长度
num.length
- 初始化
- 静态初始化
int[] a={1,2,3};
Man[] mans={new Man(1,1),new Man(2,2)};
- 动态初始化
int[] a=new int[2];
a[0]=1;
-
特点
- 长度固定
- 元素类型相同
- 数组变量属于引用类型,数组也可以看作成对象
- 数组对象本身在堆中
-
使用:
//for-each
//数组名.for自动生成
public static void main(String[] args) {
int[] arry={1,2,3,4};
for (int i : arry) {
System.out.println(i);//不是用数组名
}
}
//返回数组
return 数组名;
public static void main(String[] args) {
int arry[]={1,2,3,4,5};
int arry2[]=new int[arry.length];
arry2=ser(arry);
for (int i : arry2) {
System.out.println(i);
}
}
public static int[] ser(int[] arry){
int[] arrys=new int[arry.length];
int i=0;
int j=arry.length-1;
for (;i<arry.length;i++,j--){
arrys[i]=arry[j];
}
return arrys;
}
- 二维数组
int[][] nums=new int[][];
int[][] nums={{1,2},{3,4}};
System.out.println(nums[0][0]);
- Arrays类(工具类)
int [] a={1,2,3,4,5};
System.out.println(Arrays.toString(a));
Arrays.sort(a);
- 稀疏数组
//前提:当一个数组大部分元素为0,或者为同一值
//处理方式:1.记录一共几行几列 2.把不同值的元素和行列及值记录在一个小规模的数组中
java内存
- 堆:存放new对象
- 栈:存放基本类型,引用
- 方法区:可被共享,包含所有class和static
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)