1.数组操作
(1)数组复制
有三种方法:自己编写(赋值)
Arrays.copyOf()
System.arraycopy()
(2)数组排序:
Arrays.sort()
// 1.数组复制
/* int a[]={12,45,67,89,23,1,1};
int b[]=new int[a.length];
//a数组中的所有元素赋值给新数组b
for(int i=0;i
}
//遍历
for (int i : b) {
System.out.println(i);
}
/
//2.数组复制 Arrays.copyOf(原数组名,要复制的长度)
/ int a[]={12,45,67,89,23,1,1};
int b[]=Arrays.copyOf(a,3);
//遍历
for (int i : b) {
System.out.println(i);
}*/
//3.数组复制 System.arraycopy(原数组,原数组的起始位置,目标数组,目标数组起始位置,要复制的长度)
/* int a[]={12,45,67,89,23,1,1};
int b[]=new int[a.length];
//复制
System.arraycopy(a, 1, b, 4, 2);
//遍历
for (int i : b) {
System.out.println(i);
}*/
// 排序
int a[]={12,-45,67,89,-23,1,1};
Arrays.sort(a);
for (int i : a) {
System.out.println(i);
}
//按照字母先后顺序和长度排序
String s[]={"hello","你好","world","apple","中国","aa","a","ab","abcdddd"};
Arrays.sort(s);
for (String str : s) {
System.out.println(str);
}
2.冒泡排序(下沉法)
轻的(小的)往上冒,重的(大的)下沉 ,从小到大的顺序
原理:相邻的两个数进行比较,小的数在前,大的数在后
n个数比较n-1趟,每趟比较的次数是 n-1-i次
for(int i=0;iarr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
或者
for(int i=1;iarr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
//从大到小排序??(上升法) 前大 后小
for(int i=1;i
2.函数、方法
完成某个功能的一组语句。好处:提高代码的复用性。
(1)声明方法的语法:
[修饰词] 返回类型 函数名(参数列表){
//方法体(函数体)语句块
}
【注意】方法不能嵌套
方法要在类中声明
//求两个数的和(加法器)
double add(double a1,double a2){
return a1+a2;
}
(2)调用函数
函数名(实参列表);
double x=add(1322,34);
System.out.println("结果是"+x);
(3)函数的类型
//无参数的无返回值函数
void mechine1(){
System.out.println("一箱子橙汁--不行");
}
//含参数的无返回值函数
void mechine2(String friute){
System.out.println("可以产生"+friute+"果汁");
}
//含参数的含返回值函数
String mechine3(String friute){
return "一杯"+friute+"果汁";
}
//无参数 有返回值函数
String mechine4(){
return "一杯橙汁";
}
总结: void 没有返回值 ,用在声明方法的方法名前
return 返回一个值 ,用在方法的方法体中,return后面的值的类型要和方法返回类型一致
return后只能有一个值,想放回多个值可以返回数组。
return有结束函数的意思,return后的其他语句执行不到
定义函数时,形参:参数列表形式: 数据类型 参数名
使用函数时, 函数名(实参列表) 实参列表 要么 确定的值,要么是定义好的变量
//1.定义一个方法,判断一个整数是偶数还是奇数
//2.定义一个函数,判断一个整型的年份是平年还是闰年
闰年规则:能被400整除,能被4整除但不能被100整除
//3.定义两个函数,分别能够找出两个数中较大的数,和较小的数
//4.定义一个方法,完成两个数的加减乘除运算,方法参数为两个数和一个字符型的符号,例如’+’
要求除法计算时,除数不能为0
//5.定义一个函数,要求能够判断给定的三个边长能否构成三角形
//6.定义两个函数,分别求出给定半径的周长与面积
//7.定义一个函数,要求能够输出指定字符串数组的元素
//8.定义一个函数,用于统计班级学生成绩的平均分
//9.定义一个函数,能够打印行的乘法表
//10.定义一个函数,完成去掉指定数组中的重复元素
3.函数的重载
overload
在同一个类中,可以允许有多个方法名相同的函数。
要求:这些方法的参数列表必须不同(参数个数不同,参数数据类型,参数顺序不同)
“两同,一不同” ,与返回类型无关