java基本语法六

本文详细介绍了Java中的数组概念,包括数组的定义、动态和静态初始化方式、内存分配以及元素访问。通过实例展示了如何遍历数组、获取数组的最值、元素求和以及查找元素。同时,解释了数组在内存中的表示以及数据类型的默认值。文章还包含了用户输入数字并查找其在数组中索引的示例代码。
摘要由CSDN通过智能技术生成

1.数组: 数组(array)是一种容器,可用来存储相同数据类型的数据

格式: 格式1: 数据类型[] 变量名 eg: int[] arr (常用)

   格式2: 数据类型 变量名[] eg: double arr[]

动态初始化: java中的数组(变量)必须先初始化,才能使用

初始化: 在内存中,为数组容器开辟空间,将数据存入容器的过程

初始化的格式: 数据类型[] 变量名 = new 数据类型[数组长度(元素个数)] eg: int[] arr = new int

如果打印数据的变量名会出现:

eg: int[] arr = new int[5];

   System.out.println("arr"); ---->结果为 [I@10f87f48
   
   [:表示一维数组, I: 表示的是int类型 , @:分隔符 , 10f87f48: 表示的是数组在内存中的地址值

元素访问:

索引: 索引是数组容器中空间的编号,可以用来标识数组中元素的位置

特点: 1.从0开始 2.索引是连续 3.逐个+1

格式: 数组名[索引值] eg: arr[0],表示的是数组中的第一个元素

数组的内存: 栈内存: 方法运行时,进入的内存空间;局部变量也放于栈内存中

          堆内存: new出来的内容进入堆内存,并且会产生地址值

          方法区: 字节码文件(.class)加载时进入的内存空间

java数据类型的默认值:

         		整数:0, 浮点数: 0.0 , 布尔: boolean , 字符: 空字符 , 引用数据类型: null

引用数据类型: 引用,记录了地址值的变量,所对应的数据类型就是引用数据类型 eg: 数组变量就是引用数据类型

多个数组指向相同的内存: 当多个引用指向相同的内存,如果其中一个引用,改变了内存中的内容,其他引用看到的都是"改变后的内容"

静态初始化:

格式: 完整格式: 数据类型[] 变量名 = new 数据类型{元素1,元素2,元素3,…}

     简化格式: 数据类型[] 变量名 = {元素1,元素2,元素3,.......}

数组初始化总结: 当知道元素个数,不知道具体元素时,就使用动态初始化 , 若不知道元素个数时,知道具体元素,则使用静态初始化.

数组常用的操作:

(1).遍历:是将数组中的素有元素取出来(取出来后可以执行后续操作)

eg:
public class Test {
    public static void main(String[] args) {
        //静态初始化数组
        int[] arr = {1,8,6,4,12,5,8,2};
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //打印数组中的每一个元素
            System.out.print(arr[i]+" ");//print表示不换行打印,println表示换行打印
        }
    }
}

(2).获取最值:

eg:
public class Test {
    public static void main(String[] args) {
        //静态初始化数组
        int[] arr = {1,8,6,4,12,5,8,2};
        //定义最大值变量
        int max = arr[0]; //先假设最大值为arr[0]
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //数组中的每一个元素与max比较,若比max大就将arr[i]赋值给max,若比max小,就不赋值
            if (arr[i]>max){
                max = arr[i];
            }
        }
        //打印结果
        System.out.println("最大值为:" + max);

        //定义最小值变量
        int min = arr[0]; // 先假设最小值为arr[0]
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //数组中的每一个元素与min比较,若比min小就将arr[i]赋值给min,若比min大,就不赋值
            if(arr[i]<min){
                min = arr[i];
            }
        }
        System.out.println("最小值为: " + min);
    }
}

(3).元素求和:

eg:
public class Test {
    public static void main(String[] args) {
        //静态初始化数组
        int[] arr = {1,8,6,4,12,5,8,2};
        //定义求和变量
        int sum = 0;
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i]; // sum = sum + arr[i];累加
        }
        //打印结果
        System.out.println("数组的元素和为: " + sum);
    }
}

(4).元素查找:

eg:
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //提示用户录入要查询的数字
        System.out.println("请输入想要查找的数字: ");
        //接收数据
        int num = sc.nextInt();
        //静态初始化数组
        int[] arr = {1,11,6,4,12,5,8,2};
        //定义索引变量
        int index = -1;
        //遍历数组
        for (int i = 0; i < arr.length; i++) {
            //判断num是否存在于数组中
            if (num == arr[i]){
                index = i;
            }
        }
        if (index == -1){
            System.out.println("您输入的数字不存在于该数组中.");
        } else{
            System.out.println("您输入的数字"+num+"在数组中的索引号为: "+index);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值