java基本语法---java数组

ryanjie      2022-04-06     162

关键词:

Java 基本语法---Java数组


0. 概述

数组:相同类型的数据 按照顺序 组成的一种 引用数据类型 。

数据类型:基本数据类型 + 引用数据类型;

引用数据类型:类 + 接口 + 数组 ;

一维数组:声明,创建,初始化,元素的引用,长度


1. 数组声明

变量声明的语法格式: 变量类型 变量名;

数组声明的语法格式:数据类型 [ ] 数组名;(数据类型 数组名[ ])

int[] myIntArray;  //首选方法

(int myIntArray[];) //来源于C/C++,效果相同,但不是首选方法

String[] strArray;

2. 数组创建

语法格式一 先声明后创建

数据类型[] 数组名;

数组名 = new 数据类型[ 数组长度 ];

int[] array;

array = new int[10];

//创建一个长度为 10 的整型数组array; 

语法格式二 声明的同时进行创建数组

数据类型 [] 数组名 =  new 数据类型 [ 数组长度 ];

dataType[] arrayRefVar = new dataType[arraySize];
// 1.使用 dataType[arraySize] 创建了一个数组;
// 2.把新创建的数组的引用赋值给了变量 arrayRefVar。
int[] arr = new int[10];    //创建一个长度为10的整型数组arr

//注意:数组的长度必须给定

3. 数组的初始化

声明数组的同时给数组赋值,叫做数组的初始化;

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

// 数组的长度就是初始化数组时所给数组元素的个数。

4. 数组元素的引用

数组元素的访问是通过索引访问的。

语法格式: 数组名[ 下标 ];

注意:下标从0开始(数组索引从0开始,所以索引值从0到array.length - 1);


5. 数组的长度

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

//属性 length 表示数组的长度,例如:arr.length;

6. 案例

6.1 案例1:一维数组的应用

int 数组创建时数组元素默认值为0;

double数组创建时数组元素默认为0.0;

char 数组创建时数组元素默认为 ;

String 数组创建时数组元素默认为 null;

public class ArrayTest {
    public static void main(String[] args) {
        //声明一个整型数组
        int[] intArray;
        //声明一个字符串类型的数组
        String strArray[];
        //创建数组
        intArray = new int[5];
        strArray = new String[10];
        //声明数组的同时进行创建数组
        double[] doubleArray = new double[4];
        //初始化数组
        char[] chArray = {'a','b','c','d'};
        char[] ch1Array = new char[5];
        System.out.println("ch1Array 数组的长度为:" + ch1Array.length);
        System.out.println("ch1Array 数组中的第2个元素为:" + ch1Array[3]);
        System.out.println("chArray 数组的长度为:" + chArray.length);
        System.out.println("chArray 数组中的第2个元素为:" + chArray[1]);
        System.out.println("intArray 数组的长度为:" + intArray.length);
        System.out.println("intArray 数组中的第二个元素为:" + intArray[1]);
        System.out.println("strArray 数组的长度为:" + strArray.length);
        System.out.println("strArray 数组中的第5个元素为:" + strArray[4]);
        System.out.println("doubleArray 数组的长度为:" + doubleArray.length);
        System.out.println("doubleArray 数组中的第4个元素为:" + doubleArray[3]);
        System.out.println();

        //循环为整型数组赋值
        for(int i = 0;i < 5;i++)
        {
            intArray[i] = i + 2;
        }
        //循环输出整型数组中的元素
        System.out.println("整型数组intArray 中的元素值分别为:");

        //数组下标越界(数组下标超出范围)Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
        //  at com.ryanjie.ArrayTest.main(ArrayTest.java:51)
//        for(int i= 0;i < 6;i++)
//        {
//            System.out.print(intArray[i] + "    ");
//        }
//        System.out.println();
        for(int i = 0;i < 5;i++)
        {
            System.out.print(intArray[i] + "    ");
        }
        System.out.println();
    }
    
}

Output:
    ch1Array 数组的长度为:5
    ch1Array 数组中的第2个元素为: 
    chArray 数组的长度为:4
    chArray 数组中的第2个元素为:b
    intArray 数组的长度为:5
    intArray 数组中的第二个元素为:0
    strArray 数组的长度为:10
    strArray 数组中的第5个元素为:null
    doubleArray 数组的长度为:4
    doubleArray 数组中的第4个元素为:0.0

    整型数组intArray 中的元素值分别为:
    2    3    4    5    6    

6.2 案例2:求数组元素的累加和

public class ArraysSum {
    public static void main(String[] args) {
        //求整型数组的累加和
        //定义整型数组
        int[] intArray = new int[5];

        //从键盘开始接收数据,为元素进行赋值
        Scanner sc = new Scanner(System.in);
        for(int i = 0;i < intArray.length;i++)
        {
            System.out.println("请输入第 " + (i + 1) + "个元素的值:");
            intArray[i] = sc.nextInt();
        }

        //输出intArray 数组中的元素
        System.out.println("数组中的元素分别为:");
        for(int i = 0;i < intArray.length; i++ )
        {
            System.out.print(intArray[i] + "  ");
        }
        System.out.println();

        //输出intArray数组中的元素的和
        int sum = 0;
        for(int i= 0; i < intArray.length;i++)
        {
            sum += intArray[i];
        }
        System.out.println("intArray数组的元素和为:" + sum);
    }
}

Output:
    请输入第 1个元素的值:
    100
    请输入第 2个元素的值:
    100
    请输入第 3个元素的值:
    50
    请输入第 4个元素的值:
    50
    请输入第 5个元素的值:
    150
    数组中的元素分别为:
    100  100  50  50  150  
    intArray数组的元素和为:450

6.3 案例3:求数组元素的最大值

public class MaxElement {
    public static void main(String[] args) {
        //求数组中的最大值

        //定义整型数组
        //int[] intArray = {34,23,78,56,31,66};
        int[] intArray = new int[6];

        //从键盘读取数组元素值
        Scanner sc = new Scanner(System.in);
        for(int i = 0;i < intArray.length;i++ )
        {
            System.out.println("请输入第 " + (i+1) + "个元素的值:");
            intArray[i] = sc.nextInt();
        }

        //输出intArray数组中的元素
        System.out.println("intArray 数组中的元素分别为:");
        for(int i = 0;i < intArray.length;i++)
        {
            System.out.print(intArray[i] + "  ");
        }
        System.out.println();

        int max = intArray[0];
        for(int i = 1;i < intArray.length;i++)
        {
            if(max < intArray[i])
            {
                max = intArray[i];
            }
        }
        System.out.println("intArray 数组元素的最大值为:" + max);
    }
}


Output:
    请输入第 1个元素的值:
    34
    请输入第 2个元素的值:
    23
    请输入第 3个元素的值:
    78
    请输入第 4个元素的值:
    56
    请输入第 5个元素的值:
    31
    请输入第 6个元素的值:
    66
    intArray 数组中的元素分别为:
    34  23  78  56  31  66  
    intArray 数组元素的最大值为:78

7. foreach 循环

foreach 循环又称为增强型循环,它能在不使用下标的情况下遍历数组。

int[] arr = {1,2,3,4,5,6};
for(int n:arr)
    System.out.print(n + "  ");
//每次把数组中的元素存放到n中,输出。循环遍历一遍就终止;
public class Test {
    public static void main(String[] args) {
        //定义整型数组
        //int[] intArray = {34,23,78,56,31,66};
        int[] intArray = new int[6];

        //从键盘读取数组元素值
        Scanner sc = new Scanner(System.in);
        for(int i = 0;i < intArray.length;i++ )
        {
            System.out.println("请输入第 " + (i+1) + "个元素的值:");
            intArray[i] = sc.nextInt();
        }
        
        //foreach循环
        for(int n:intArray)
        {
            System.out.print(n + "    ");
        }
        System.out.println();
    }
}

8. 数组作为函数的参数

数组作为参数传递给方法。

调用printfDoubleArray方法打印doubleArray数组:

public static void printfDoubleArray(double[] doubleArray) {
    for (double element: doubleArray ) 
    {
        System.out.println(doubleArray[i] + "   ");
    }
}

//调用printfDoubleArray方法打印doubleArray数组
printfDoubleArray(new double[] {3.14,6.66,8,88,3.59,7.84});

9. 数组作为函数的返回值

数组可以作为函数的返回值。

将list数组中的元素值赋值给result数组:

public atstic int[] reverse(int[] list){
    //声明 result 数组 并创建 result 数组
    int[] result = new int[list.length];

    for (int i = 0, j = result.length - 1; i < list.length; i++, j--) 
    {
        result[j] = list[i];
    }
    return result;
}

10. 冒泡排序 BubbleSort

public class BubbleSort {
    public static void main(String[] args) {
        //冒泡排序BubbleSort
        int[] intArray = {34,23,78,56,31,66};
        System.out.println("排序前的数组元素分别为:");
        for(int element:intArray)
        {
            System.out.print(element + "    ");
        }
        System.out.println();
        
        //BubbleSort
        int temp;
        for (int i = 0; i < intArray.length; i++) 
        {
            for (int j = 0; j < intArray.length-i-1; j++)
            {
                if(intArray[j] > intArray[j+1])
                {
                    temp = intArray[j];
                    intArray[j] = intArray[j+1];
                    intArray[j+1] = temp;
                }
            }
        }

        //输出排序后的数组
        System.out.println("排序后的数组元素分别为:");
        for(int element:intArray)
        {
            System.out.print(element + "    ");
        }
        System.out.println();
    }
}


OutPut:
    排序前的数组元素分别为:
    34    23    78    56    31    66    
    排序后的数组元素分别为:
    23    31    34    56    66    78  

java基础语法数组

...sp;数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。在java中如果想要保存一组基本类型的数据,使用数组;如果想保存一组对象或者其他类型的复杂数据可以使用集合。 数组... 查看详情

java基本语法

Java基本语法(一)一、前言?前面我们讲述了Java的相关专业术语,jdk安装实际过程,初步在dos界面中体验运行了Java的第一个程序。?下面我们将介绍关于Java的基本语法,分为以下几个方面:?关键字、标识符、变量(基本数据类... 查看详情

java中数组知识小结

   本周我们学习了数组的基本概念,包括一维数组、二维数组乃至多维数组。这里,我对数组的基本知识点做一个简单的小结,以便以后温故。    一、数组的基本概念和语法:  数组就是一次性的定义多个变量,是... 查看详情

java基础语法深度剖析java中的数组(代码片段)

文章目录一、数组基本用法1.什么是数组2.创建数组3.数组的使用二、数组作为方法的参数1.认识JVM内存区域划分2.数组传参以及被调用的过程3.理解引用类型4.认识null三、数组作为方法的返回值四、总结一、数组基本用法1.什么是... 查看详情

基本语法-java

...独特的实例变量,对象的状态由这些实例变量的值决定。基本语法标识符修饰符变量数组枚举关键字继续HelloWorld!/***这里是J 查看详情

java语言基本语法

Java语言基本语法一、标识符和关键字标识符在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;标识符由字母、数字、下划线、美元符号组成,且第一个字... 查看详情

java-javase不同于c/c++的语法

文章目录1.javaSE不同于C/C++的语法1.1基本数据类型转换1.2控制台输入1.3数组的创建1.3.1数组声明的两种方式1.3.2数组创建的三种方式1.javaSE不同于C/C++的语法1.1基本数据类型转换  1.java中可以从任意基本类型转型到另... 查看详情

java基础语法

...个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。 2.数组的定义格式格式1:数据类型[]数组 查看详情

第2节java语言基本语法

一、标识符和关键字标识符在java语言中,用来标志类名、对象名、变量名、方法名、类型名、数组名、包名的有效字符序列,称为“标识符”;标识符由字母、数字、下划线、美元符号组成,且第一个字符不能是数字;jav... 查看详情

java课程大纲

...节java入门1-Java背景介绍2-Java入门程序的编写3-环境配置4-基本概念介绍5-类型转换6-开发工具使用第二节java基础1-运算符的使用2-键盘录入的练习3-Java语法-判断4-Java语法-循环一5-Java语法-循环二6-随机数获取和使用7-数组简介8-数组... 查看详情

java基础语法入门

...线、区分大小写3.不能与关键字重复4.数字不能开头三、基本数据类型Java的基本数据类型有4类,类型分别为:整数型、浮点型、字符型、布尔型;整数型 查看详情

java基本语法

Java基本语法实验介绍  在本章我们就来学习一下Java基本语法里的关键字、标识符、注释、变量和常量的相关知识。一、开发第一个Java程序  还记得上一节课的HelloWorld吗?这一节课,我们还是先来看一看这一段代码。publiccl... 查看详情

java中的数组语法

...数据类型数组名[];或数据类型[]数组名;数据类型既可以是基本数据类型也可以是引用数据类型,数组名可以是任意的合法变量名。如:int[]score;doubleheight[];String[]name;注意,不可在数组名后的方括号内指定数组元素的个数,如intsum... 查看详情

java基本语法(标识符修饰符关键字)

一、标识符 Java所有的组成部分都需要名字。标识符适用于包名、类名、变量名、方法名、对象名、数组名、集合名等的命名。 关于Java标识符,有以下几点需要注意:1).所有的标识符都应该以字母(a-z或者A-Z),美元... 查看详情

java基本语法---java方法

Java基本语法---Java方法0.概述方法:就是用来解决一类问题的代码的有序组合,是一个功能模块;在方法部分,只使用对象名词调用方法;Scannersc=newScanner(System.in);//sc对象名sc.nextInt();sc.next();publicstaticintage(intbirthday){...}//单个参数s... 查看详情

java学习苦旅——不一样的数组(代码片段)

本篇博客将讲解Java中的数组。文章目录数组的基本用法什么是数组创建数组基本语法代码示例数组的使用计算数组长度打印数组for循环打印数组使用foreach打印数组使用Arrays打印数组数组在内存中的存储初始JVM内存区域划分理解... 查看详情

java基本语法

Java的基本语法Java注释  java中有3中注释  单行注释://注释内容  多行注释:/*注释内容*/  其中文档注释可以利用javadoc.exe生成API文档  /**实现步骤:*1.定义一个类class*2.编写程序执行的入口方法,main主方法*3.通过输出... 查看详情

java基本语法-b2

基本语法(一)程序的基本结构Java程序的基本形式Java语言是面向对象的语言。Java程序主要以类的形式存在,也叫Class,类也是Java程序的最小程序单位。Java程序要求所有执行语句、方法都必须放在类里。最简单的Java程序:classHe... 查看详情