int[] a = { 5, 12, 41, 56, 62, 75, 88, 95 };
交换元素后:
int[] a = { 95 ,88 ,75 ,62 ,56, 41 ,12 ,5 };
package day1; import java.util.Arrays; import java.util.Scanner; public class h_w34 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] a={5,12,41,56,62,75,88,95}; int[] b=new int[a.length]; System.out.println("交换前:"+ Arrays.toString(a)); for (int i = a.length-1; i>=0; i--) { //i表示索引,索引=长度-1 b[a.length-1-i]=a[i]; } System.out.println("交换后:"+Arrays.toString(b)); } }
--------------------------------------------------------------------------------------------------------------------------
运行结果:
--------------------------------------------------------------------------------------------------------------------------
内容补充:(一维数组的声明和创建)
package day1; import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import java.util.Arrays; public class Demo5 { public static void main(String[] args) { /* 关于数组的基本概念: 数组:是一组相同数据类型的集合,是一个容器 数组中可以存储基本数据类型,也可以存储引用数据类型 数组本事是引用数据类型,是一个对象 数组创建时必须指明长度,且长度不能改变 数组中每个元素空间是连续的 */ int[] a = new int[5];//new 创建一个数组,并指定数组长度 //Arrays类,java中提供用于操作数组的工具类,提供排序,二分查找,数组复制... System.out.println(Arrays.toString(a)); //每个空间会赋予默认值 整数默认值0 int[] b=new int[]{1,2,3,4,5,6,7}; System.out.println(Arrays.toString(b)); int[] c={1,2,3,4}; System.out.println(Arrays.toString(c)); String[] strings=new String[5]; System.out.println(Arrays.toString(strings)); boolean[] d=new boolean[5]; System.out.println(Arrays.toString(d)); System.out.println("----------------"); /* 访问数组中元素 数组名[下标] 下标;从0开始,是int类型(有限) 数组最大索引 : 长度-1 */ int[] e=new int[5]; e[0]=10; //可以改变数组中的值 System.out.println(e[0]); //计算数组长度 System.out.println(e.length); System.out.println("-------------"); //for循环遍历数组 for (int i = 0; i < e.length; i++) { System.out.println(e[i]); } } }
(注意不同类型数组的默认值)
(1)整数 默认值0
(2)字符串String 默认值null
(3)布尔型boolean 默认值false
运行结果:
--------------------------------------------------------------------------------------------------------------------------
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
要求将以上数组中的0项去掉,将不为0的值存入一个新的数组
package day1; import java.util.Arrays; public class h_w35 { public static void main(String[] args) { int[] oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; //初始数组 System.out.println("length="+oldArr.length); //初始数组长度 int newLen=0; //新数组长度(去除0) for (int i = 0; i < oldArr.length; i++) { if(oldArr[i]!=0){ //通过for循环,计算除去0后数组的长度,即新数组长度 newLen++; } } System.out.println("newLen="+newLen); //打印新数组长度 int[] newArr=new int[newLen]; //创建一个新数组 int str=0; //新数组索引 for (int i = 0; i < oldArr.length; i++) { if(oldArr[i]!=0){ newArr[str]=oldArr[i]; //将不等于0的值赋给新数组 str++; } } System.out.println("去掉0后的新数组newArr:"); System.out.println(Arrays.toString(newArr)); //打印结果 } }
运行结果: