java中数组的学习完整版二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.知识点
A.数组的复制
B.经典算法
a)冒泡排序
b)选择排序
c)插入排序
C.System类
D.Arrays类
2.讲解
数组的复制:就是指从一个已知的数组中获取部分或全部的值,放入另外一个数组中。
方法一、
采用循环的办法来做
Eg1:
class ArrayCopy{
public static void main(String[] args){
System.out.println("程序开始");
int[] arrSrc={1,2,3,6,7,9};
int[] arrDest=new int[arrSrc.length*2];
System.out.println("目地数组原来的值的情况:");
for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); for(int i=0;i arrDest[i]=arrSrc[i]; } System.out.println("目地数组现在的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); System.out.println("程序结束"); } } Eg2: class ArrayCopy1{ public static void main(String[] args){ System.out.println("程序开始"); int[] arrSrc={1,2,3,6,7,9}; int[] arrDest=new int[arrSrc.length*2]; System.out.println("目地数组原来的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); for(int i=0,j=2;i arrDest[j]=arrSrc[i]; } System.out.println("目地数组现在的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); System.out.println("程序结束"); } } Eg3: import java.util.Scanner; class ArrayCopy2{ public static void main(String[] args){ System.out.println("程序开始"); int[] arrSrc={1,2,3,6,7,9}; int[] arrDest=new int[arrSrc.length*2]; int posSrc=0; int posDest=0; Scanner sc=new Scanner(System.in); System.out.println("请输入要复制的起始位置:"); posSrc=sc.nextInt();//这里要进行异常捕获,在这里暂时不写了 System.out.println("请输入目的数组的起始位置:"); posDest=sc.nextInt(); System.out.println("目地数组原来的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); //开始复制 if((arrSrc.length-posSrc)<(arrDest.length-posDest)){ System.out.println("复制开始:..."); for(int i=posSrc,j=posDest;i arrDest[j]=arrSrc[i]; } System.out.println("目地数组现在的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); }else{ System.out.println("复制失败..."); } System.out.println("程序结束"); } } Eg4: import java.util.Scanner; class ArrayCopy3{ public static void main(String[] args){ System.out.println("程序开始"); int[] arrSrc={1,2,3,6,7,9}; int[] arrDest=new int[arrSrc.length*2]; int posSrc=0; int posDest=0; int copyLength=0; Scanner sc=new Scanner(System.in); System.out.println("请输入要复制的起始位置:"); posSrc=sc.nextInt();//这里要进行异常捕获,在这里暂时不写了 System.out.println("请输入目的数组的起始位置:"); posDest=sc.nextInt();//这里要进行异常捕获,在这里暂时不写了 System.out.println("请输入数组要复制的长度:"); copyLength=sc.nextInt();//这里要进行异常捕获,在这里暂时不写了 System.out.println("目地数组原来的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); //开始复制 if(copyLength<(arrSrc.length-posSrc)&©Length<(arrDest.length-posDest)){ System.out.println("复制开始:..."); for(int i=posSrc,j=posDest;i<=copyLength;i++,j++){ arrDest[j]=arrSrc[i]; } System.out.println("目地数组现在的值的情况:"); for(int i=0;i System.out.print(arrDest[i]+" "); } System.out.print("\n"); }else{ System.out.println("复制失败..."); }