龙空技术网

java基础 数组元素逆序,查表法 接上篇文档

小达人剧场 101

前言:

现在兄弟们对“java数组的逆序输出”都比较关切,小伙伴们都想要剖析一些“java数组的逆序输出”的相关文章。那么小编在网上搜集了一些对于“java数组的逆序输出””的相关知识,希望你们能喜欢,兄弟们快快来了解一下吧!

数组元素逆序 (就是把元素对调)

思路:

例如:int[] arr = {1,2,3,4};

结果:{4,3,2,1}

两个变量的值互换

int temp = arr[0];//temp=1

arr[0]=arr[1];//arr[0]=2

arr[1]=temp;//arr[1]=1

int temp2 =arr[2];//temp2=3

arr[2]=arr[3];//arr[2]=4

arr[3]=temp2;//arr[3]=3

arr[0]=2,arr[1]=1,arr[2]=4,arr[3]=3

2,1,4,3

规律:

例如:int[] arr = {1,2,3,4};

结果:{4,3,2,1}

思路:

两个互换

arr[0]<=>arr[3];

arr[1]<=>arr[2];

4

int temp=arr[0];//temp=1//

arr[0]=arr[3];//arr[0]=4//4-1

arr[3]=temp;//arr[3]=1

int temp =arr[1];//temp=2

arr[1]=arr[2];//arr[1]=3//4-2

arr[2]=temp;//arr[2]=2

arr[0]=4,arr[1]=3,arr[2]=2,arr[3]=1

我们发现只需要把数组的

第一个元素所有和最后一个元素所有互换

第二个元素索引和倒数第二个元素索引互换

。。。

就可以完成数组的倒序

通过上面代码可以完成互换,

但是发现代码重复度太高

需要用循环改进

*/

class ArrayTest1{

public static void main(String[] args) {

int[] arr = {1,2,3,4,5,6,7};

// int temp = arr[0];//temp=1

// arr[0]=arr[1];//arr[0]=2

// arr[1]=temp;//arr[1]=1

// int temp=arr[0];

// arr[0]=arr[5];

// arr[5]=temp;

// temp=arr[1];

// arr[1]=arr[4];

// arr[4]=temp;

// temp=arr[2];

// arr[2]=arr[3];

// arr[3]=temp;

niArr(arr);

printArr(arr);//引用类型2,1

niArr2(arr);

printArr(arr);

// printArr(arr);

// System.out.print("-------");

// niPrintArr(arr);

// System.out.print("-------");

}

// 循环改进数组元素的逆序

//方法的明确:两个

//返回值类型:void //int[]不需要返回数组,

//数组是引用类型

//参数列表:

public static void niArr2(int[] arr){

for (int start =0,end=arr.length-1;start<end ;start++,end-- ) {

int temp=arr[start];

arr[start]=arr[end];

arr[end]=temp;

}

}

public static void niArr(int[] arr){

for (int i=0;i<arr.length/2;i++ ) {

int temp=arr[i];

arr[i]=arr[arr.length-1-i];

arr[arr.length-1-i]=temp;

}

}

// 数组元素的逆序输出

public static void niPrintArr(int[] arr){

// System.out.print(arr[3]);

// System.out.print(arr[2]);

// System.out.print(arr[1]);

// System.out.print(arr[0]);

for (int i=arr.length-1;i>=0 ;i-- ) {

System.out.print(arr[i]);

}

}

// 数组格式输出

public static void printArr(int[] arr){

System.out.print("[");

for (int i =0;i<arr.length ; i++) {

if(i==arr.length-1){

System.out.println(arr[i]+"]");

}else{

System.out.print(arr[i]+",");

}

}

}

}

/*

数组查表法

(根据键盘录入索引,查找对应星期)

步骤:

1.导包

2.创建键盘录入对象

3.接受值

4.创建一个数组

5.写方法

1传一个数组和接受值

2根据接受的值返回数组元素

6.调用方法

7.输出方法接受值

*/

import java.util.*;

class ArrayTest2{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("请输入一个值");

int i = sc.nextInt();

String[] str = {"星期一","星期二","星期三","星期四","星期五","星期六","星期天"};

String strArr = result(str,i);

System.out.print(strArr);

}

public static String result(String[] str,int n){

n--;

for (int i=0;i<str.length ;i++ ) {

if(i == n){

return str[i];

}

}

return "您输入的值有误";

}

}

/*

知识点:

char类型数组,

直接输出数组名会输出数组中的每一个元素

*/

class CharArray{

public static void main(String[] args) {

int[] arr = {1,2,3,4};

String[] str ={"你","好","java"};

boolean[] bl ={false,true};

char[] c = {'我','学','j','a','v','a'};

//char[] ch ={"你"};不兼容的类型: String无法转换为char

System.out.println(arr);//地址值[I@15db9742

System.out.println(arr[0]+"-"+arr[1]+arr[2]+arr[3]);

//1,2,3,4

System.out.println(str);//地址值[Ljava.lang.String;@6d06d69c

System.out.println(str[0]+"--"+str[1]+str[2]);

//你好java

System.out.println(bl);//地址值[Z@7852e922

System.out.println(bl[0]+"--"+bl[1]);

//false,true

System.out.println(c);//数组元素 我学java

System.out.println(c[0]+"--"+c[1]+c[2]+c[3]+c[4]+c[5]);

//我学java

//

System.out.println('a'+1);//98 不是a1

//怎么把'a'+1输出成a1呢?

//把‘a’+1拼接一个字符-->'a'+1+'汗'

System.out.println('汗'+'a'+1);//27833

// 那么改成字符串呢?

System.out.println(""+'a'+1);//a1

System.out.println('9'+1);//58,'9'!=9

// 怎么输出char类型的数组的地址值呢?

// c也是一个字符类型,也会有对应数值值

// c+"";

System.out.print(c+"");//[C@4e25154f

}

}

标签: #java数组的逆序输出