方法
不关心位置、写在类里面、可以重载(相同名称,但是参数列表不同:个数、类型)
(python的位置要在用之前,python没有重载,会覆盖)
方法的递归
一定要有出口、构造方法不能递归
/** * n的阶乘计算 * 1!=1 * 2!=2*1 * 3!=3*2*1 3*2! * 4!=4*3*2*1 4*3! * …… */ public static int factorial(int num){ if(num<=0){ return 0; } if(num==1) { return num; } x=1; for(int i=1;i<=num;i++){ x*=i; } return x; } // 递归写法 public static int factorial(int num){ if(num<=0){ return 0; } if(num==1||num==0) { return 1; } return num*factorial(num-1); }可变参数列表=数组,写法用...
注意:他必须在参数列表的最后
public static int add(int ... num){ int sum=0; for(int i:num){ sum+=i; } return sum; }数组
数组的定义
数据类型[] 数组名=new 数据类型[数组的长度];
数据类型 数组名[]=new 数据类型[数组的长度];
数据类型 数组名[]=new 数据类型[]{值1,值2,……值n};
数据类型 数组名[]={值1,值2,……值n};
数据类型[][] 数组名=new 数据类型[数组的行][数组的列];
数据类型 数组名[][]=new 数据类型[数组的行][数组的列];
数据类型[] 数组名[]=new 数据类型[数组的行][数组的列];
注意:行必须写,列可省,但是用的时候就要单独new:数组名[下标]=new 数据类型[数组的长度];
这个时候数组名[下标]不支持直接{}赋值
(python没有内置的数组,只有list)
数组的赋值
数组名[下标]=值
注意:他下标是0开始的
数组的长度
数组名.length
相关信息补充
栈:先进后出(薯片筒)
队列:先进先出(排队)
堆:无序,按大小排
时间戳
1970年1月1日0时0分0秒 距今已经过去多少毫秒
long timeStamp=System.currentTimeMillis()
Array工具类
Arrays.toString(数组) //转字符串
Arrays.sort(数组) //正序排序
Arrays.binarySearch(数组,值) //搜索值得下标
Arrays.equals(数组1,数组2)//比较2个数组的值
Arrays.fill(数组,开始坐标,结束坐标,要填充的值)//插入值
Arrays.copyOf(数组1,长度)//浅拷贝