Java数组数据类型

Java数组数据类型


 数组是多个相同类型的数据的组合,数组中的元素可以是任何类型的数据;

一维数组

 1 package com.ahabest.array;
 2 public class ArratTest {
 3     public static void main(String[] args) {
 4         // 一维数组动态的创建
 5         char []arrc = new char[6];
 6         String []arrs = new String[6];
 7         //一维数组的赋值
 8         arrc[0] = 'a';
 9         arrc[1] = 'b';
10         arrs[0] = "aa";
11         arrs[5] = "ee";
12         //一维数组静态的创建及赋值
13         int []arri = {1,2,3,4,5,6};
14         double []arrd = {1.0,2.0,3.0,4.0,5.0,6.0};
15         //一维数组的循环遍历输出
16         for(int i=0;i<arrc.length;i++) {
17             System.out.print(arrc[i]+" ");
18         }
19         System.out.print("\n");
20         for(int j=0;j<arrs.length;j++) {
21             System.out.print(arrs[j]+" ");
22         }
23         System.out.print("\n");
24         for(int m=0;m<arri.length;m++) {
25             System.out.print(arri[m]+" ");
26         }
27         System.out.print("\n");
28         for(int n=0;n<arrd.length;n++) {
29             System.out.print(arrd[n]+" ");
30         }
31     }
32 }
View Code

 

 import java.util.Scanner;

public class LinearArray {

         public static void main(String[] args) {

                  System.out.println("请输入一个整数:");

                  Scanner sc = new Scanner(System.in);

                  int i = sc.nextInt();

                  String arr[] = new String[i];

                  System.out.print("请换行输入");

                  System.out.print(i);

                  System.out.println("个字符串:");

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

                          arr[a] = sc.nextLine();

                  }

                  for(int b=0;b<=arr.length-1;b++){

                          System.out.println(arr[b]);

                  }

         }

}

 

//写程序读入十个整数,然后输出这些整数,如果某整数出现多次,那么只输出一次。

package com.ahabest.array;

import java.util.Scanner;

public class $_Sort {

public static void main(String args[]){

        int []number = new int[10];

        Scanner in = new Scanner(System.in);

        System.out.print("请输入十个数:\n");

        for (int i = 0;i<10;i++){

            number[i] = in.nextInt();

        }

        System.out.println("输出的结果为:");

        System.out.print(number[0]);  

        for (int i=1;i<10;i++){

            boolean b=true;

for(int j=0;j<i;j++){ 

            if (number[i] == number[j])

                b=false;

            }

            if(b == true){

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

            }

        }

    }

}

//1.计算一维数组的元素和与平均值

public class TheAverageValue {

         public static void main(String[] args) {

                  double in[] = {23,45,65,78,56};

                  double sum = 0d;

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

                          sum += in[i];

                  }

                  System.out.println(sum);

                  System.out.println(sum/in.length);

         }

}

//2.有一个整数数组请将该序列倒序存放并输出

public class FlashBack {

         public static void main(String[] args) {

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

                  int in2[] = new int[in1.length];

                  int i,j=0;

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

                          in2[j] = in1[i];

                          j++;

                  }

                  for(int k=0;k<in2.length;k++){

                          System.out.println(in2[k]);

                  }

         }

}

//3.无重复元素整数数组与一个整数,如果在数组中, 则输出下标;如果不存在,则输出-1。

public class IndexTest {

         public static void main(String[] args) {

                  int n=100,j = -1;

                  int in[] = {12,24,100,8,28};

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

                          if(n == in[i]){

                                   j = i;

                                   break;

                          }

                  }

                  System.out.println(j);

         }

}

//4.输出数组元素的最小与最大值

public class MArray {

         public static void main(String[] args) {

                  double d[] = {12.0,23.01,10.0,24.0};

                  double min = d[0],max = d[0];

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

                          if(min > d[i]){

                                   min = d[i];

                          }

                          if(max < d[i]){

                                   max = d[i];

                          }

                  }

                  System.out.println(min);

                  System.out.println(max);

         }

}

 

public class TestArray {

   public static void main(String[] args) {

      double[] myList = {1.9, 2.9, 3.4, 3.5};

 

      // 打印所有数组元素

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

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

      }

      // 计算所有元素的总和

      double total = 0;

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

         total += myList[i];

      }

      System.out.println("Total is " + total);

      // 查找最大元素

      double max = myList[0];

      for (int i = 1; i < myList.length; i++) {

         if (myList[i] > max) max = myList[i];

      }

      System.out.println("Max is " + max);

   }

}

For-Each 循环

for(type element: array)

{

    System.out.println(element);

}

public class TestArray {

   public static void main(String[] args) {

      double[] myList = {1.9, 2.9, 3.4, 3.5};

 

      // 打印所有数组元素

      for (double element: myList) {

         System.out.println(element);

      }

   }

}

多维数组

package com.ahabest.array;

public class DyadicArray{

      public static void main(String args[]){

//方法一:创建二维数组

        int in[][] = {{1,2,3},{4,5},{6,7,8,9}};

//方法二:创建二维数组

        String st[][] = new String[3][4];

        st[0][0] = "但是";

        st[0][1] = "rewwr";

        st[0][2] = "dadada";

        st[0][3] = "26";

        st[1][0] = "发vs地方";

        st[1][1] = "rewwr";

        st[1][2] = "dadada";

        st[1][3] = "28";

        st[2][0] = "韩国";

        st[2][1] = "rewwr";

        st[2][2] = "dadada";

        st[2][3] = "98";

//循环遍历数组

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

          for(int j=0;j<in[i].length;j++){

          System.out.print(in[i][j]+" ");

          }

        }

        System.out.print("\n");

        for(int m=0;m<st.length;m++){

          for(int n=0;n<st[m].length;n++){

          System.out.print(st[m][n]+" ");

          }

        }

      }

    }

数组异常

 1 package com.ahabest.arrayexception;
 2 public class TestArrayException {
 3     public static void main(String args[]) {
 4 
 5         //1.数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException
 6         byte[] b = new byte[5];
 7         for(int i = 0;i <= b.length;i++) {
 8             System.out.println(b[i]);
 9         }
10     
11         //2.空指针异常: java.lang.NullPointerException
12         String[] s = new String[5];
13         System.out.println(s[0].toString());
14     }
15 }
ArrayException

 数组算法

 1 package com.ahabest.algorithm;
 2 public class TestArrayAlgorithm {
 3     public static void main(String[] args) {
 4         float[] f = new float[] {10.0f,20.0f,30.0f,40.0f};
 5         //最大值
 6         float max = f[0];
 7         for(int i = 0;i < f.length;i++) {
 8             if(max < f[i]) {
 9                 max = f[i];
10             }
11         }
12         System.out.println(max);
13         //最小值
14         float min = f[0];
15         for(int i = 0;i < f.length;i++) {
16             if(min > f[i]) {
17                 min = f[i];
18             }
19         }
20         System.out.println(min);
21         //求总和
22         float sum = 0.0f;
23         for(int i = 0;i < f.length;i++) {
24                 sum += f[i];
25         }
26         System.out.println(sum);
27         //求平均值
28         float avg = sum / f.length;
29         System.out.println(avg);
30         //复制
31         float [] f1 = new float[4];
32         for(int i = 0; i < f.length;i++) {
33             f1[i] = f[i];
34         }
35         //反转及遍历
36         for(int i = f.length-1; i >= 0;i--) {
37             System.out.print(f[i]+" ");
38         }
39     }
40 }
ArrayAlgorithm

 

Arrays 类

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

  • 给数组赋值:通过 fill 方法。
  • 对数组排序:通过 sort 方法,按升序。
  • 比较数组:通过 equals 方法比较数组中元素值是否相等。
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

 

 

序号

方法和说明

1

public static   int binarySearch(Object[] a, Object key)
  用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回   (-(插入点) - 1)。

2

public static   boolean equals(long[] a, long[] a2)
  如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。

3

public static   void fill(int[] a, int val)
  将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。

4

public static   void sort(Object[] a)
  对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。

 

转载于:https://www.cnblogs.com/Aha-Best/p/10884498.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值