Java数组数据类型


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

一维数组

 package com.ahabest.array;
 public class ArratTest {
     public static void main(String[] args) {
         // 一维数组动态的创建
         char []arrc = new char[6];
         String []arrs = new String[6];
         //一维数组的赋值
         arrc[0] = 'a';
         arrc[1] = 'b';
         arrs[0] = "aa";
         arrs[5] = "ee";
         //一维数组静态的创建及赋值
         int []arri = {1,2,3,4,5,6};
         double []arrd = {1.0,2.0,3.0,4.0,5.0,6.0};
         //一维数组的循环遍历输出
         for(int i=0;i<arrc.length;i++) {
             System.out.print(arrc[i]+" ");
         }
         System.out.print("\n");
         for(int j=0;j<arrs.length;j++) {
             System.out.print(arrs[j]+" ");
         }
         System.out.print("\n");
         for(int m=0;m<arri.length;m++) {
             System.out.print(arri[m]+" ");
         }
         System.out.print("\n");
         for(int n=0;n<arrd.length;n++) {
             System.out.print(arrd[n]+" ");
         }
     }
 }

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]+" ");

}

}

}

}

数组异常

 package com.ahabest.arrayexception;
 public class TestArrayException {
     public static void main(String args[]) {

         //1.数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException
         byte[] b = new byte[5];
         for(int i = 0;i <= b.length;i++) {
             System.out.println(b[i]);
         }

         //2.空指针异常: java.lang.NullPointerException
         String[] s = new String[5];
         System.out.println(s[0].toString());
     }
 }

ArrayException

数组算法

 package com.ahabest.algorithm;
 public class TestArrayAlgorithm {
     public static void main(String[] args) {
         float[] f = new float[] {10.0f,20.0f,30.0f,40.0f};
         //最大值
         float max = f[0];
         for(int i = 0;i < f.length;i++) {
             if(max < f[i]) {
                 max = f[i];
             }
         }
         System.out.println(max);
         //最小值
         float min = f[0];
         for(int i = 0;i < f.length;i++) {
             if(min > f[i]) {
                 min = f[i];
             }
         }
         System.out.println(min);
         //求总和
         float sum = 0.0f;
         for(int i = 0;i < f.length;i++) {
                 sum += f[i];
         }
         System.out.println(sum);
         //求平均值
         float avg = sum / f.length;
         System.out.println(avg);
         //复制
         float [] f1 = new float[4];
         for(int i = 0; i < f.length;i++) {
             f1[i] = f[i];
         }
         //反转及遍历
         for(int i = f.length-1; i >= 0;i--) {
             System.out.print(f[i]+" ");
         }
     }
 }

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等)。

Java数组数据类型的更多相关文章

  1. 200-Java语言基础-Java编程入门-006 | Java数组定义及使用(引用数据类型)

    一.数组概述和定义格式说明 为什么要有数组(容器): 为了存储同种数据类型的多个值 数组概念: 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引 ...

  2. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  3. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

  4. Java 数组基础

    数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...

  5. Java基础-数据类型int,short,char,long,float,double,boolean,byte

    Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定.由于是statical typed,导致Java语言也是强类型(Strong typed ...

  6. Java 基本数据类型 sizeof 功能【转】

    转自:http://blog.csdn.net/sunboy_2050/article/details/7310008 版权声明:本文为博主原创文章,未经博主允许不得转载. Java基本数据类型int ...

  7. Java学习笔记之:Java的数据类型

    一.介绍 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. Java语言提供了八种基本类型 ...

  8. Java 数组基础,java.util.Arrays

    定义数组 方式1(推荐,更能表明数组类型) 方式2(同C语言) 方式3定义时直接初始化 数组运用基础 数组长度 equals() 数组元素不为基本数据类型时 二维数组 二维数组基础 变长的二维数组 j ...

  9. Java数组你知多少?

    下面我带大家一起加深一下对Java数组的认识: 1.理解数组 数组也是一种数据类型,本身就是一种引用类型,我们从它的初始化方法,通过关键字new去完成定义及初始化就可以知道. 数组的长度是不变的,一旦 ...

随机推荐

  1. 【Linux命令】--(1)文件文件夹操作命令15条

    文件文件夹操作命令++++++++++++++++++++++++++++++++++++++++ 列出进入显示文件夹     ls cd pwd  创建移动删除文件     mkdir rm rmd ...

  2. 机器学习A

    订阅地址 :  http://blog.csdn.net/lizhe_dashuju/rss/list

  3. HDFS01

    ==============NameNode============== 管理文件系统的命名空间 记录每个文件数据在各个DataNode上的位置和副本信息 协调客户端对文件的访问 NameNode文件 ...

  4. luogu1641 [SDOI2010]生成字符串

    题目大意 把$n$个$1$和$m$个$0$组成字符串,在任意的前$k$个字符中,$1$的个数不能少于$0$的个数.求这样的字符串的个数.$1\leq m\leq n\leq 1000000$. 原始模 ...

  5. oc80--copy

    // // main.m // Copy基本使用,拷贝的本质:修改其中一个不能影响另外一个. // 每个oc对象都有copy和mutableCopy方法,前提是必须遵守NSCopying协议实现cop ...

  6. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

  7. LCA__st算法&&树上倍增

    st表 #include<cstdio> #include<algorithm> #include<cmath> using namespace std; ]; ] ...

  8. 在Struts2中ognl.MethodFailedExceptiond异常的解决办法

    问题描述: 在 Struts2 里面,当页面向服务器提交参数时报ognl.MethodFailedException:和java.lang.NoSuchMethodException:异常 异常信息  ...

  9. PCB genesis自制孔点 Font字体实现方法

    一.先看genesis原有Font字体 在PCB工程CAM加孔点字体要求时,通常我们直接用Geneis软件给我们提供了2种孔点字体canned_57与canned_67,但此字体可能不能满足各个工厂个 ...

  10. codevs4511信息传递(Tarjan求环)

    题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知道自己的生日.之后每一 ...