数组的学习

news2024/11/24 12:09:26

数组学习

文章目录

    • 数组来由
    • 数组的使用
    • 数组的内存图
    • 变量声明和args参数说明
    • 声明分配空间值的省略写法
    • 数组的length属性
    • 数列输出求和判断
    • 购物金额结算
    • Arrays的sort和toString方法
    • Arrays的equals和fill和copyOf和binarySearch方法
    • 字符数组顺序和逆序输出

数组来由

录入30个学生的成绩cj01 ... cj30。成本非常高,因为你使用了30个变量。维护起来非常麻烦
使用数组,只需要使用一个变量来维护它了

数组的使用

在这里插入图片描述


public class Demo01 {
    public static void main(String[] args) { // java Demo01 zs ls ww
        // 声明一个数组,指明了里面只能存放 整数
        int arr[];
        // 赋值
        arr = new int[5];
        // 给数组里面的5个成员,都分别给个成绩
        // arr[0] arr[1] arr[2] arr[3] arr[4]
        arr[0] = 60;
        arr[1] = 61;
        arr[2] = 62;
        arr[3] = 63;
        arr[4] = 64;
        // 使用
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
        System.out.println(arr[4]);
    }
}

数组的内存图

在这里插入图片描述

变量声明和args参数说明

在这里插入图片描述

声明分配空间值的省略写法

在这里插入图片描述

public class Demo02 {
    public static void main(String[] args) {
        // 声明 分配空间 赋值
        int[] arr = new int[]{81,82,83,84,85};
        int[] arr2 = {81,82,83,84,85}; // 如果 声明 分配空间 赋值 是在一行,省略new int[]
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);
        System.out.println(arr[4]);
    }
}

数组的length属性

在这里插入图片描述

public class Demo03 {
    public static void main(String[] args) {
        System.out.println(args.length); // 0
        // java的数组,天然有一个只读属性,它的名字叫length
        int[] arr = {81,82,83,84,85,86,87,88};
        System.out.println(arr.length);
        System.out.println("数组里面的信息:");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

数列输出求和判断

在这里插入图片描述

import java.util.Scanner;

public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] arr = {8, 4, 2, 1, 23, 344, 12};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i]; // 累计
            System.out.println(arr[i]); // 输出
        }
        System.out.println("和:" + sum);
        System.out.print("输入一个数:");
        int number = scanner.nextInt();
        boolean bFound = false;
        for (int i = 0; i < arr.length; i++) {
            if (number == arr[i]) {
                bFound = true;
                break;
            }
        }
        System.out.println(bFound ? "找到" : "没有找到"); // 唯一的三元操作符
    }
}

购物金额结算

在这里插入图片描述

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double[] arrJingE = new double[5];
        for (int i = 0; i < arrJingE.length; i++) {
            System.out.print("请输入第"+(i+1)+"笔的金额:");
            arrJingE[i] = scanner.nextDouble();
        }
        System.out.println("序号\t金额");
        double sum = 0.0;
        for (int i = 0; i < arrJingE.length; i++) {
            System.out.println((i+1) + "\t" + arrJingE[i]);
            sum += arrJingE[i];
        }
        System.out.println("总金额\t" + sum);
    }
}

Arrays的sort和toString方法

在这里插入图片描述

import java.util.Arrays;

public class Demo06 {
    public static void main(String[] args) {
        int[] arr = {8, 4, 2, 1, 23, 344, 12};
//        for (int i = 0; i < arr.length; i++) {
//            System.out.println(arr[i]);
//        }
        Arrays.sort(arr); // 排序
        System.out.println(arr); // 打印数组名时,输出的是 [代表数组 I代表整数 @8位十六进制代表内存地址
        System.out.println(Arrays.toString(arr));
    }
}

Arrays的equals和fill和copyOf和binarySearch方法

在这里插入图片描述

import java.util.Arrays;

/*
boolean equals(array1,array2)	比较array1和array2两个数组是否相等
void fill(array,val)	        把数组array所有元素都赋值为val
copyOf(array,length)	        把数组array复制成一个长度为length的新数组,返回类型与复制的数组一致
int binarySearch(array, val)	查询元素值val在数组array中的下标(要求数组中元素已经按升序排列)
 */
public class Demo07 {
    public static void main(String[] args) {
        int[] arr1 = new int[]{8, 4, 2, 1, 23, 344, 12};
        int[] arr2 = new int[]{8, 4, 2, 1, 23, 344, 12};
        System.out.println(Arrays.equals(arr1, arr2));
        Arrays.fill(arr1, 11);
        System.out.println(Arrays.toString(arr1));
        int[] arr3 = Arrays.copyOf(arr2, 8);
        System.out.println(Arrays.toString(arr3));
        Arrays.sort(arr2); // [1, 2, 4, 8, 12, 23, 344]
        System.out.println(Arrays.toString(arr2));
        int pos = Arrays.binarySearch(arr2, 0); // 没有找到,返回插入点的下标取负数再-1
        System.out.println("pos: " + pos);
    }
}

字符数组顺序和逆序输出

在这里插入图片描述

import java.util.Arrays;

public class Demo08 {
    public static void main(String[] args) {
        char[] arr = {'a', 'c', 'u', 'b', 'e', 'p', 'f', 'z'};
        System.out.print("原字符序列:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        Arrays.sort(arr);
        System.out.println();
        System.out.print("升续排序后:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
        System.out.print("逆序输出后:");
        for (int i = arr.length - 1; i >= 0; i--) {
            System.out.print(arr[i] + " ");
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/839684.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gson:解析JSON为复杂对象:TypeToken

需求 通过Gson&#xff0c;将JSON字符串&#xff0c;解析为复杂类型。 比如&#xff0c;解析成如下类型&#xff1a; Map<String, List<Bean>> 依赖&#xff08;Gson&#xff09; <dependency><groupId>com.google.code.gson</groupId><art…

渗透攻击方法:原型链污染

目录 一、什么是原型链 1、原型对象 2、prototype属性 3、原型链 1、显示原型 2、隐式原型 3、原型链 4、constructor属性 二、原型链污染重现 实例 Nodejs沙箱逃逸 1、什么是沙箱&#xff08;sandbox&#xff09; 2、vm模块 一、什么是原型链 1、原型对象 JavaS…

UE4 Cesium 学习笔记

Cesium中CesiumGeoreference的原点Orgin&#xff0c;设置到新的位置上过后&#xff0c;将FloatingPawn的Translation全改为0&#xff0c;才能到对应的目标点上去 在该位置可以修改整体建筑的材质 防止刚运行的时候&#xff0c;人物就掉下场景之下&#xff0c;controller控制的…

LeetCode113. 路径总和 II

113. 路径总和 II 文章目录 [113. 路径总和 II](https://leetcode.cn/problems/path-sum-ii/)一、题目二、题解方法一&#xff1a;递归另一种递归版本方法二&#xff1a;迭代 一、题目 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶…

Flutter 实现按位置大小比例布局的控件

文章目录 前言一、如何实现&#xff1f;1、数值转成分数2、RowFlexible布局横向3、ColumnFlexible布局纵向 二、完整代码三、使用示例1、基本用法2、四分屏3、六分屏4、八分屏5、九分屏6、414分屏 总结 前言 做视频监控项目时需要需要展示多分屏&#xff0c;比如2x2、3x3、414…

vue2-vue中key的原理

vue中key是什么&#xff1f;它有什么作用&#xff1f;原理是什么&#xff1f; 1、key是什么&#xff1f; 先考虑两个实际场景 当我们使用v-for时&#xff0c;需要给单元加上key 用new Date()生成的时间戳作为key&#xff0c;手动强制触发重新渲染。 在上面两种场景中&#xf…

一百四十三、Linux——Linux的CentOS 7系统语言由中文改成英文

一、目的 之前安装CentOS 7系统的时候把语言设置成中文&#xff0c;结果Linux文件夹命名出现中文乱码的问题&#xff0c;于是决定把Linux系统语言由中文改成英文 二、实施步骤 &#xff08;一&#xff09;到etc目录下&#xff0c;找到配置文件locale.conf # cd /etc/ # ls…

总结七大排序!

排序总览 外部排序&#xff1a;依赖硬盘&#xff08;外部存储器&#xff09;进行的排序。对于数据集合的要求特别高&#xff0c;只能在特定场合下使用&#xff08;比如一个省的高考成绩排序&#xff09;。包括桶排序&#xff0c;基数排序&#xff0c;计数排序&#xff0c;都是o…

C++ STL快速应用

STL 容器 STL容器有共同的操作接口&#xff0c;包括初始化操作、判空、查看大小、比较元素、销毁、交换&#xff0c;这些操作都是一样的接口。 对于访问遍历元素&#xff08;增删改查&#xff09;&#xff0c;都可以使用迭代器&#xff08;正向&#xff09;进行操作&#xff0c…

信号平滑或移动平均滤波研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台2

吃完快餐粥&#xff0c;除了粥的味道不错之外&#xff0c;我对个快餐盒的圆盖子产生了兴趣&#xff0c;能否做个极低成本的简易机器人呢&#xff1f;也许只需要二十元左右 知识点&#xff1a;轮子&#xff08;wheel&#xff09; 中国词语。是用不同材料制成的圆形滚动物体。简…

JDK17环境下安装Nacos

1.配置好jdk17环境 命令台java -version显示17版本 2.下载并安装Nacos 下载地址&#xff1a;Releases alibaba/nacos GitHub 安装完本地解压 解压完到nacos的bin目录下&#xff0c;执行.\startup.cmd -m standalone启动即可。 用过好几种方式&#xff0c;比如启动startup…

一百四十五、Kettle——查看Kettle在Windows本地和在Linux上生成的.kettle文件夹位置

&#xff08;一&#xff09;目的 查看kettle连数据库后自动生成的.kettle文件夹在Windows本地和在Linux中的位置&#xff0c; 这个文件很重要&#xff01;&#xff01;&#xff01; &#xff08;二&#xff09;.kettle文件夹在Windows本地的位置 C:\Users\Administrator\.k…

ClickHouse SQL与引擎--基本使用(一)

1.查看所有的数据库 show databases; 2.创建库 CREATE DATABASE zabbix ENGINE Ordinary; ATTACH DATABASE ck_test ENGINE Ordinary;3.创建本地表 CREATE TABLE IF NOT EXISTS test01(id UInt64,name String,time UInt64,age UInt8,flag UInt8 ) ENGINE MergeTree PARTI…

英特尔傲腾CAS报错unknown error cache acceleration software could not start cache

英特尔傲腾CAS报错unknown error cache acceleration software could not start cache 文章目录 英特尔傲腾CAS报错unknown error cache acceleration software could not start cache我是怎么遇到这个问题的我是如何解决的实验步骤打Primo Cache蓝屏补丁拔掉原来的系统盘开关机…

【力扣】21. 合并两个有序链表 <链表指针>

【力扣】21. 合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例 2 输入&#xff1a;l1 [], l2 [] 输出&#xff1a;…

Java List(列表)

List 是一个有序、可重复的集合&#xff0c;集合中每个元素都有其对应的顺序索引。List 集合允许使用重复元素&#xff0c;可以通过索引来访问指定位置的集合元素。List 集合默认按元素的添加顺序设置元素的索引&#xff0c;第一个添加到 List 集合中的元素的索引为 0&#xff…

如何从 Android 设备恢复已删除的文件?

从 Android 设备恢复已删除的文件很简单&#xff0c;但您需要了解内部恢复和SD 卡恢复之间的区别。 目前销售的大多数 Android 设备都配备了 SD 卡插槽&#xff08;通常为 microSD&#xff09;&#xff0c;可以轻松添加额外的存储空间。该存储空间可用于存储照片、视频、文档&a…

机器学习概述及其主要算法

目录 1、什么是机器学习 2、数据集 2.1、结构 3、算法分类 4、算法简介 4.1、K-近邻算法 4.2、贝叶斯分类 4.3、决策树和随机森林 4.4、逻辑回归 4.5、神经网络 4.6、线性回归 4.7、岭回归 4.8、K-means 5、机器学习开发流程 6、学习框架 1、什么是机器学习 机器…

SprinMVC获取请求参数

SprinMVC获取请求参数 Spring MVC 提供的获取请求参数的方式 通过 HttpServletRequest 获取请求参数通过控制器方法的形参获取请求参数使用 RequestParam 注解获取请求参数通过实体类对象获取请求参数&#xff08;推荐&#xff09; 通过ServlstAPI获取 将HttpServletRequest…