(一)基于IDEA的JAVA基础12

news2024/10/6 10:36:38

一维数组

为什么使用数组:

当我们需要存储一系列数据的时候,就需要用到数组,如果不使用数组,我们就要需要一个一个的去声明变量,这样浪费内存空间,同时效率低下。

什么是数组:

数组本身就是一个变量,只是数组存储了一组数据类型相同的数据。

声明一个变量,就是在内存中划出一块合适的空间。

6eafcc2c455d400dba4f8e0d2c1c8afa.png

声明一个数组,就是在内存中划分出一连串连续的空间。

cc92ef9b0f074a598e7971fdc556ee43.png

数组的基本元素:

标识符(数组名)

数组元素(数组内存储的数据)

元素下标(从0开始每个元素都可以通过下标来找到)

元素类型(数字内存储数据类型,也是数字类型)

数组一旦声名长度,就固定不变了,声明长度为5,就只能存放5这个数据,如果存放数据超过的数组长度就会提示数组越界。

速度长度与下标的关系: 下标从零开始到速度的长度减1。

如何声明数组

1.声明数组:

语法:

数据类型 数组名 [];或: 数据类型 [] 数组名;

例子:

int a [];
int [] a;

2.分配空间

告诉计算机分配几个空间来存储数据。

例:a=new int[5]; 就是数组a开辟5个空间。

再来说一下那个下标,这里开辟五个空间,空间的下标从第一个到第五个依次是:0,1,2,3,4。

因此想从数组中调用数据就可以通过下标来调用。

3.赋值

a[0]=1;就是给数组内第一个数据赋值1。

4.处理数据

可以通过一些算数或别的方法来处理,如:

a[0]=a[0]*4;

ec034546cce1453cadf844bd0c1ebf4c.png

我们来写一个看看:

public class Test01 {
    public static void main(String[] args) {
        //声明数组
        int a [] ;
        //开辟空间
        a=new int[3];
        //进行赋值
        a[0]=1;
        a[1]=2;
        a[2]=3;
        //对原数据处理能够覆盖原数据
        a[0]=a[0]*10;
        //将a中的数据遍历出来
        for (int num:a){
            System.out.println(num);
        }
    }
}

d0c1ed70d6f646c68d0934459c91e6a4.png

 接下来是同时声明数组分配空间的写法:

语法:

数据类型 [] 数组名=new 数据类型[空间大小];

int [] age = new int [3]; 这就同时生成了数组并开辟了三个空间。

写一个看看:

public class Test01 {

    public static void main(String[] args) {

        //声明数组,同时分配空间

       int [] age = new int [3];

        age[0]=1;

        age[1]=2;

        age[2]=3;

        System.out.println(age[1]);

    }

}

e41e4a63a00f43eb8ad084106ee7a0a7.png

声明数组的第三个方法,是最常用的,声明赋值同时进行。

这个也有两种写法:

1.String [] name={"张三","李四","王五"};

(常用)

2.String [] name=new String[] {"张三","李四","王五"};

使用这个方法时不可以写长度,也就是不限制长度,创建数组并赋值必须得同一语句中书写。

 

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

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

相关文章

蓝桥杯-【二分】分巧克力,跳石头

代码及解析: #include<bits/stdc.h> using namespace std; int n,k; const int N100010; int h[N],w[N]; bool check(int d){int num0;for(int i0;i<n;i) num (h[i]/d)*(w[i]/d);if(num>k) return true; //够分else return false; //不够分 } in…

Linux: 工具: tshark 抓到了收方向的ESP明文包?

根据这个描述&#xff0c;看着是正常的&#xff0c; 抓到包之后&#xff0c;可以方便的分析问题&#xff0c;省去在wireshark里解码的问题。 经过调查发现是内核将ESP解开之后&#xff0c;如果是tunnel模式&#xff0c;内核又重新将skb丢给了interface去做处理。这样tshark/tcp…

LightDB24.1 ecpg支持exec sql for :i update(or insert)语法

背景 oracle 在适配过程中&#xff0c;发现pro*c支持exec sql for :i update(or insert)语法&#xff0c;其功能是取代 for(;;) {update(or insert)语法; }其中i决定循环执行的次数&#xff0c;update(or insert)表示循环执行的次数。 我们在oracle环境下测试得到如下经验&a…

diffusion model(十五) : IP-Adapter技术小结

infopaperhttps://arxiv.org/pdf/2308.06721.pdfcodehttps://github.com/tencent-ailab/IP-Adapterorg.Tencent AI Lab个人博客地址http://myhz0606.com/article/ip_adapter 1 Motivation 为了对文生图diffusion model进行特定概念的定制&#xff0c;常用LoRA[1]、textual in…

国内超声波清洗机排名!洗眼镜超声波清洗机推荐

眼镜是我们日常生活中不可或缺的用具&#xff0c;但随着使用时间的增长&#xff0c;眼镜上的灰尘和污垢也会逐渐积累&#xff0c;传统的清洗方法往往难以彻底清洁。为了解决这一难题&#xff0c;超声波清洗机出现了&#xff01;它利用超声波振动原理&#xff0c;可以轻松、快速…

使用Docker部署jar包

vi DockerfileDockerfile内容 FROM java:8 ADD chery5G-admin.jar chery5G-admin.jar ENTRYPOINT ["java","-jar","chery5G-admin.jar"]上传jar包到Dockerfile文件同级目录 使用Dockerfile文件&#xff0c;将jar包制作为镜像 docker build -t…

2024/4/5—力扣—在排序数组中查找元素的第一个和最后一个位置

代码实现&#xff1a; 思路&#xff1a;二分法 方法一&#xff1a;分别查找左右侧边界 /*** Note: The returned array must be malloced, assume caller calls free().*/ int GetTargetFirstPosition(int *nums, int numsSize, int target) {int l 0, r numsSize - 1;while …

JAVA面试八股文之Redis相关

Redis相关 Redis6.0为什么要用多线程&#xff1f;在Redis中存一个list集合怎么实现排序&#xff1f;Redis的5大基本类型的底层原理&#xff1f;缓存穿透&#xff1f;缓存击穿&#xff1f;缓存雪崩&#xff1f;redis做为缓存怎么保持和mysql数据进行同步&#xff1f;&#xff08…

物证管理系统|DW-S404实现物证全生命周期管理

物证管理系统|DW-S404实现物证全生命周期管理 一、项目背景 随着社会的进步和科技的发展&#xff0c;信息化和数字化已经成为各个行业的必然趋势。在众多领域中&#xff0c;物证管理系统逐渐受到广泛的关注和应用。 物证是公安机关处理案件的关键凭证&#xff0c;针对过去物证管…

如何给MySQL数据库的所有表统一加上字段

在开发过程中&#xff0c;有时候慢慢的建了很多数据库表&#xff0c;但是后来发现需要统一增加某些字段的时候&#xff0c;可以通过alter语句 ALTER TABLE 表名 ADD 列名 数据类型;比如我要给t_user表增加gmt_create与gmt_modified字段&#xff0c;用作记录新增记录时间与更新…

U盘格式化数据恢复,3个妙计助你快速恢复!

“我的u盘由于中病毒了&#xff0c;我不得已将它格式化了&#xff0c;现在想进行u盘数据的恢复&#xff0c;不知道应该怎么操作&#xff0c;大家有什么方法推荐吗&#xff1f;” U盘作为我们日常生活中常见的存储设备&#xff0c;经常用于存储各种重要数据。但是在日常使用u盘的…

华火电火灶:人间烟火味,最抚凡人心

厨房&#xff0c;一直是家的核心&#xff0c;那里不仅有妈妈的味道&#xff0c;更有生活的味道。当炊烟袅袅&#xff0c;炉火旺盛&#xff0c;家的温馨与幸福便油然而生。华火电火灶以其独特的魅力&#xff0c;不仅成为了现代厨房中的一道亮丽风景线&#xff0c;更成为了家人的…

Digicert 证书

一、简介 在当今数字化时代&#xff0c;网络安全已成为全球关注的焦点。随着网络攻击和数据泄露事件的频发&#xff0c;企业和组织越来越重视保护自己的网络环境。在这种背景下&#xff0c;数字证书成为了确保网络通信安全的关键工具。作为数字证书行业的领导者&#xff0c;Di…

yolov8草莓及病害检测项目开发(python开发,带有训练模型,可以重新训练,并有Pyqt5界面可视化)

本次检测系统&#xff0c;可以通过图片、视频或摄像头三种形式检测&#xff0c;检测出开花、结果、熟果、草莓叶子健康、叶子缺钙、灰叶斑病等八大类别。基于最新的YOLO-v8模型&#xff0c;下载后即可重新运行训练脚本&#xff0c;&#xff0c;也可以直接运行检测脚本&#xff…

嘉轩智能工业科技诚邀您参观2024第13届生物发酵展

参展企业介绍 自2005年成立以来&#xff0c;嘉轩一直致力于工业智能永磁滚筒的研发、制造及销售&#xff0c;具有十多年的从业经验&#xff0c;公司主营产品包括工业智能永磁滚筒、机电智能诊断、工业智能电机等&#xff0c;高效智能自驱动永磁滚筒为我公司目前主导产品&#x…

考PMP一定要培训吗?PMP备考可不是说着玩的

想要考项目管理认证一定要培训吗&#xff1f;其实这是必要的也是必须的啦&#xff0c;不仅仅是因为自学的难度大&#xff0c;个人自学很难总结学习技巧&#xff0c;另一个原因就是考试前还必须要有授权培训机构提供的35学时培训证明&#xff0c;没有这个培训证明也就直接意味着…

使用 Go-Ora 连接到 Oracle 数据库

前文 《 一鍵啓動 Oracle 23c Free 》 介绍了如何使用容器技术快速拉起 Oracle 23c 数据库。 这个开发者版本可以很便捷的拉起、测试、销毁&#xff0c;对开发者是非常友好的。 本文将介绍如何使用 Go 语言构建项目&#xff0c;并连接到 Oracle 数据库。 Go 环境配置 本文使用的…

计算机视觉之三维重建(7)---多视图几何(下)

文章目录 一、透视结构恢复问题1.1 概述1.2 透视结构恢复歧义1.3 代数方法1.4 捆绑调整 二、P3P问题三、随机采样一致性 一、透视结构恢复问题 1.1 概述 1. 透视结构恢复问题&#xff1a;摄像机为透视相机&#xff0c;内外参数均未知。 2. 问题&#xff1a;已知 n n n 个三维…

一起学习python——基础篇(10)

前言&#xff0c;Python 是一种面向对象的编程语言。以前大学读书的时候经常开玩笑说的一句话“如果没有对象&#xff0c;就new一个”。起因就是编程老师上课时经常说一句“首先&#xff0c;我们new一个对象”。 今天讲一下python的类和对象。 类是什么&#xff1f;它是一种用…

互联网大厂ssp面经之路:计算机网络part2

什么是 HTTP 和 HTTPS&#xff1f;它们之间有什么区别&#xff1f; a. HTTP&#xff08;超文本传输协议&#xff09;和HTTPS&#xff08;安全超文本传输协议&#xff09;是用于在Web上传输数据的协议。它们之间的区别在于安全性和数据传输方式。 b. HTTP是一种不安全的协议&…