java 数组操作与函数

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<b.length;i++){
b[i]=a[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;i<arr.length-1;i++){  //比较趟数
      for(int j=0;j<arr.length-1-i;j++){//每趟比较的次数
	     if(arr[j]>arr[j+1]){
		    int t=arr[j];
			arr[j]=arr[j+1];
			arr[j+1]=t;
		 }
	  }
 }
 
 或者
 	 for(int i=1;i<arr.length;i++){  //比较趟数
      for(int j=0;j<arr.length-i;j++){//每趟比较的次数
	     if(arr[j]>arr[j+1]){
		    int t=arr[j];
			arr[j]=arr[j+1];
			arr[j+1]=t;
		 }
	  }
 }
 
 //从大到小排序??(上升法) 前大 后小
  for(int i=1;i<arr.length;i++){  //比较趟数
      for(int j=0;j<arr.length-i;j++){//每趟比较的次数
	     if(arr[j]<arr[j+1]){
		    int t=arr[j];
			arr[j]=arr[j+1];
			arr[j+1]=t;
		 }
	  }
 }

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
在同一个类中,可以允许有多个方法名相同的函数。
要求:这些方法的参数列表必须不同(参数个数不同,参数数据类型,参数顺序不同)

“两同,一不同” ,与返回类型无关
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值