有趣生活

当前位置:首页>科技>java中8个基本数据类型分别是没有什么是数组搞不定的

java中8个基本数据类型分别是没有什么是数组搞不定的

发布时间:2026-06-22阅读(1)

导读“嗨~大家好!我是学长,今天的你过得还好吗?”“这里是offer学院,帮你轻松拿offer”-2022.11.21-我们要统计一个公司50名员工的工资情况。....

“嗨~大家好!我是学长,今天的你过得还好吗?”

“这里是offer学院,帮你轻松拿offer”

- 2022.11.21 -

我们要统计一个公司50名员工的工资情况。

例如计算平均工资。按照我们之前所学的知识,在程序中我们需要声明 50个变量,salary1、salary2、...、salary50,来分别记住每个员工的工资,然后计算平均值,这样做,是不是非常麻烦。

double salary1 = 100;double salary2 = 100;...double salary50 = 100;double average = (salary1 salary2 ... salary50) / 50;

有没有优化方法呢?

Java开发者就给了我们一个解决办法,用一组相连的集合,来记着这50个员工的工资,然后对他们进行操作。

double sum = 0;double average;double[] salary[100];....for (int i = 0; i < 100; i ) { sum = sum salary[i];} average = sum / 100;

这种一组数据的集合,就叫做 “数组”,这就是它的由来。

一、了解数组

定义:

数组是指一组数据的集合,数组中的每个数据被称为元素。在数组中可以存放任意类型的元素,但是在同一个数组里面存放的元素类型必须一致。

分类:

数组可以分为一维数组和多维数组(最常见的是二维数组)。

本小节我们主要先给大家讲一下一维数组。


二、一维数组

语法:

数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0, 数组元素1, ...}; 数组类型[] 数组名 = {数组元素0, 数组元素1, ...};

一维数组定义:

int[] ids = new int[100];String[] names = new String[] {"西熙", "叮当", "糖糖", "次龙"};

内存图:

  • 数组属于引用数据类型的变量,数组中的元素的类型可以是基本数据类型,也可以使引用数据类型。
  • 创建数组对象会在内存中开辟一整块连续的空间。
  • 数组的长度一旦确定就不可以修改。

我们在这小节中,通过一个简图,让大家体会下Java中不同数据在内存中的存放位置,也就是java中内存的简单结构。

数组在内存中的变化图如下:

1. 创建一个整型数组ids,长度为5

2. 在堆区会有创建一片区域,然后这块区域的地址引用,存放在栈区的ids 变量中。

代码演示:

public class Demo13_1 { public static void main(String[] args) { // 1. 第一种方式定义数组 int[] ids = new int[50]; // 输出整个数组 System.out.println("ids = " ids); // 输出数组第一个元素 System.out.println("ids[0] = " ids[0]); // 输出数组最后一个元素 System.out.println("ids[99] = " ids[49]); //下面这句会报错// System.out.println("ids[99] = " ids[51]); // 2. 第二种方式定义数组 String[] names = new String[] {"乔峰", "段誉", "虚竹", "无崖子"}; // 输出整个数组 System.out.println("names = " names); // 输出数组第一个元素 System.out.println("names[0] = " names[0]); // 输出数组最后一个元素 System.out.println("names[3] = " names[3]); // 3. 第三种方式定义数组 Object[] objects = {1, "张三丰", "男", 20, "18933943343", "fff@163.com"}; // 输出整个数组 System.out.println("objects = " objects); // 输出数组的长度 System.out.println("数组长度 = " objects.length); // 输出数组第一个元素 System.out.println("objects[0] = " objects[0]); // 输出数组最后一个元素 System.out.println("objects[" (objects.length - 1) "] = " objects[objects.length - 1]); }}

分析:

1. 直接打印数组变量,并不能输出数组里的数据,输出的是变量类型@哈希码。

2. 数组是一组相同类型的数据,有一个共同的名字,可以通过下标取访问每一个元素。

注意:数组下标是从0开始的,对于上述定义的数组ids,长度是50,因此第一个元素时ids[0],最后一个元素是ids[49],访问ids[50]是要出错的,下标越界了。数组ids的长度,可以通过其length属性获取。

Java中不同数据类型元素的初始值:

三、操作数组:

在程序开发中,数组的应用非常广泛,灵活地使用数组对实际开发很重要。接下来,本节将针对数组的常见操作,如数组的遍历、最值的获取、数组的排序等,进行详细地讲解。

数组元素的访问:

public class Demo13_2 { public static void main(String args[]){ int num1[] = new int[5]; num1[0] = 32; //每个元素单独初始化 num1[1] = 543; num1[2] = 17; num1[3] = 8; num1[4] = 95; int num2[] = new int[10]; for(int i=0;i<10;i ){ //采用循环方式初始化 num2[i] = i 1; } System.out.println("第一个数组:"); for(int j=0;j<num1.length;j ){ //采用循环方式输出数组的所有元素 System.out.print(num1[j] " "); } System.out.println(); System.out.println("第二个数组:"); for(int x=0;x<num2.length;x ){ System.out.print(num2[x] " "); } }}

数组的属性:

数组是引用类型,具有属性,常用的数组属性就是数组的长度length,在使用时需注意:

  • 数组的长度(length)必须>=0;
  • length为只读。
  • 利用length遍历数组

数组的遍历:

public class Demo13_3 { public static void main(String[] args) { int a[] = {1,-12,33}; int sum = a[0]; int max = a[0]; int min = a[0]; for(int i=1;i<a.length;i ){ sum = sum a[i]; if(a[i]>max){ max = a[i]; } if(a[i]<min){ min = a[i]; } } double ave = (double)sum/3; System.out.println("平均值" ave); System.out.println("最大值" max); System.out.println("最小值" min); }}

循环赋值:

public class Demo13_4 { public static void main(String[] args) { // 声明一个整型数组 int[] arr = new int[10]; // 使用for循环对数组arr进行遍历,将数字1到10赋值给数组arr for (int i = 0; i < arr.length; i ) { arr[i] = i 1; } // 循环赋值完成,此时 arr = {1,2,3,4,5,6,7,8,9,10} // 遍历数组,打印数组中每一个元素 for (int i = 0; i < arr.length; i ) { System.out.print(arr[i] "\t"); } }}

遍历获取元素:

public class Demo13_5 { public static void main(String[] args) { // 初始化一个整型数组 int[] arr = {1,2,3,4,5}; // 使用for循环遍历数组arr for (int i = 0; i < arr.length; i ) { // 打印位置i的元素 System.out.println("索引位置" i "的元素为:" arr[i]); } }}

增强for循环:

public class Demo13_6 { public static void main(String[] args) { // 初始化字符串数组 words String[] words = {"Welcome ", "to ", "java"}; for(String word: words) { System.out.print(word); } }}

实例中遍历了一个单词数组,并且将它们打印成了一个句子。for each循环对words数组进行了遍历,并依次将每个索引的值赋值给了word变量,然后再执行循环体中的语句。显然 for each循环的代码看起来更加清晰。但增强for循环无法指定遍历顺序,也无法获取数组的索引。


四、学习小结

本小节我们学习了 Java 数组,知道了数组是引用数据类型。

它在创建时,会在内存中开辟一个连续的空间;数组是同一数据类型的集合。

可以使用数组下标来引用数组元素,数组元素的下标都是从0开始,使用下标不要超出范围,否则会抛出异常。

可以使用length属性获取数组的长度。我们在下一小结看看多维数组的使用与学习吧。

还是那句话:我亦无他,唯手熟尔!

我们下期再见!

END

TAGS标签:  java  8个  基本  数据  类型  java中8个基本数

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图