前言:
现在兄弟们对“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数组的逆序输出