当前位置: 首页 > news >正文

零基础学习Java 03

目录

数组

 动态初始化数组

静态初始化

数组的应用

数组两种典型的异常

 

 length关键字求出数组的长度

数组遍历在IDEA中输出快捷语句

对象数组

 

数组的遍历:foreach方法

二维数组

枚举(enum)


数组

1在方法中可以返回一个数组,但是在定义方法时类型要为数组类型;

​ 在方法中作为参数传入数组作为参数:

​ eg: public static void print(int[] array)

###:不管是作为参数还是返回值,传递的都是数组的地址!!!

2 数组在程序运行期间,长度不可以发生改变,如果一个数组给它**重新new了一个值则,则这个新的会覆盖旧的**;

​ eg:

​ int[] num = new int[3];

​ `num = new int[5]; //此时就将长度3 变成了5//

3 数组不能直接打印,因为这样打印出的是数组的所在内存地址;

4 打印和C语言一样;

 动态初始化数组


​ 格式:数据类型 [ ] 数组名称 = new 数组类型 [数组长度];

​ eg:int[] str = new int[10];

​ 也可以写成:

​ double[] str6;
​ str6 = new double[5];
使用动态初始化数组时:内部元素会有一个默认值;
 

静态初始化

​ 基本格式:数据类型 [ ] 数组名称 = new 数组类型 [ ] {元素1 ,元素2 ,元素3…};

​ eg:int[] str3 = new int[] {1,2,3,4,5,6,7,8};

​ 也可以写成:

			int[] str5;str5 = new int[]{5,6,2,8,5};

 

数组的应用

​ 如果将一个数组A等于另外一个数组B时,则相当于将该数组A的地址给了另外一个数组B,另外一个数组B的值也就等于了该数组A的值,如果**被赋值的数组B的值发生了改变,则原数组A的值也发生改变**;

		int[] num3 = {1,2,3,4};int[] num5;num5 = num3;//将num3的地址给了num5//num5[3] = 2;num5[2] = 3;//原数组该位置的值也发生了改变//System.out.println();for(int i=0;i<4;i++){System.out.print(num5[i]+"  ");}System.out.println();for(int i=0;i<4;i++){System.out.print(num3[i]+"  ");}

 

数组两种典型的异常

1:ArreyIndexOutofBoundsException

​ 就是一个数组应用时超出了数组定义的范围;

2:空指针异常:NullPointerException

​ 就是给了数组一个null空值,在之后并没有进行具体的new创建内容,从而报错;

 

 length关键字求出数组的长度

​ eg: int n = num.length; // n 是用来接收数组的长度,num是数组的名称//

 

数组遍历在IDEA中输出快捷语句

​ 格式:数组名 + “.” + for + 要进行循环的变量名称

​ eg:num.fori;

​ 会形成:for (int i = 0; i < num.length; i++)

 

对象数组

1:首先写一个标准类;

public class arrayObject {private String name;private int age;public arrayObject() {}public arrayObject(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

 2:创建对象数组;

public static void main(String[] args) {arrayObject[] str = new arrayObject[3];		//创建对象数组,其中arrayObject是创建的类的名称//arrayObject one = new arrayObject("aaa",10);	//创建对象,然后进行赋值//arrayObject two = new arrayObject("bbb",20);	//创建对象,然后进行赋值//arrayObject three = new arrayObject("ccc",30);  //创建对象,然后进行赋值//str[0] = one;	//将对象的地址传给对象数组//str[1] = two;	//将对象的地址传给对象数组//str[2] = three; //将对象的地址传给对象数组//for (int i = 0; i < 3; i++) {		//输出数组//System.out.print(str[i].getName()+"  ");System.out.println(str[i].getAge());}
}

 

数组的遍历:foreach方法

这只是一个使用方法名称,并不是一个关键字,是java为了方便遍历而弄的一种更加简单的方式。

格式:

​ for(int 循环变量 :数组){

​ System.out.println(循环变量);

​ }

public class Protect1{public static void main(String[] args) {int[] num = new int[]{5,2,4,1,9,6,8,7};for (int i:num) {System.out.print(i+" ");}}
}

二维数组

Java中二维数组最大的特征是它的每一行元素的个数可以不相等

 

1:定义

一定要记得除了最后一行,其它都要加【,】。数组结尾要加【;】。)

格式:

数组类型[ ] [ ] 数组名称 = {

​ { 第一行元素 },

​ { 第二行元素 },

​ …

​ { 第N行元素 }

} ;

2:获取数组的元素个数

​ 1:int 接收变量 = 数组名称 . length; // 输出二维数组的行数

​ 2:int 接收变量 = 数组名称 [ 行数 ] . length; //输出第n行的元素个数

3:调用输出

其实和C语言没啥区别;

for(int i =0;i<num1.length;i++){for (int j=0;j<num1[i].length;j++){System.out.print(num1[i][j]+" ");}System.out.println();
}

 

枚举(enum)

以下是枚举最简单的说明:

枚举在我看来更加像是一个存储自己想要存储的元素的集合;

写在主方法之前;

1:格式:enum 枚举名{ 要存入的各种值(如果是字符串不需要加双引号直接写就好)};

	eg: enum week{Mon,Tue,Wed,Thu,Fri,Sat,Sun};

#:最后的引号可以不加,但是如果其中含有方法,就必须要加;

2:枚举类型数据的调用:枚举名 接受数据变量名 = 枚举名 . 枚举中具体的元素;

	eg: week day = week.Mon;

 

 

 

 

相关文章:

零基础学习Java 03

目录 数组 动态初始化数组 静态初始化 数组的应用 数组两种典型的异常 length关键字求出数组的长度 数组遍历在IDEA中输出快捷语句 对象数组 数组的遍历&#xff1a;foreach方法 二维数组 枚举(enum) 数组 1在方法中可以返回一个数组&#xff0c;但是在定义方法时类型要…...

PG数据库超时退出 TCP设定

数据库在使用psql工具以及jdbc进行远程连接时&#xff0c;在经过一定时间之后报错-致命错误&#xff1a; terminating connection due to client no input timeout。 排查安全参数&#xff0c;hg_clientnoinput 0&#xff1b; 问题原因 操作系统TCP相关参数设置不正确&…...

每日学术速递4.4

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CL 1.Baize: An Open-Source Chat Model with Parameter-Efficient Tuning on Self-Chat Data 标题&#xff1a;Baize&#xff1a;一种对自聊天数据进行参数高效调优的开源聊天模型 作者…...

ChatGPT将引发大量而普遍的网络安全隐患

ChatGPT是一个基于人工智能的语言生成模型&#xff0c;它可以在任何给定的时间&#xff0c;使用自然语言生成技术&#xff0c;生成文本、对话和文章。它不仅可以被用来编写文本&#xff0c;还可以用来编写语言、生成图像和视频。目前&#xff0c; ChatGPT已广泛应用于语言翻译、…...

购买学生护眼台灯几瓦最好?有哪些推荐护眼灯

现今的近视已然成为普遍现象&#xff0c;而且有往低年龄段发展的趋势。究其原因&#xff0c;长期使用电子设备是一方面&#xff0c;还是就是我们日常工作、学习、生活没有很好的护眼环境&#xff0c;很多时候我们不经意的错误习惯&#xff0c;久而久之就有可能诱发近视。对孩子…...

什么是 SYN 攻击?如何避免 SYN 攻击?

SYN 攻击方式最直接的表现就会把 TCP 半连接队列打满&#xff0c;这样当 TCP 半连接队列满了&#xff0c;后续再在收到 SYN 报文就会丢弃&#xff0c;导致客户端无法和服务端建立连接。 避免 SYN 攻击方式&#xff0c;可以有以下四种方法&#xff1a; 调大 netdev_max_backlo…...

数据分析练习——学习一般分析步骤

目录 一、准备工作 二、导入库和数据 1、导入必要的库&#xff1a; 2、模拟数据 三、数据分析过程 1、读取数据&#xff1a; 2、数据概览和描述性统计&#xff1a; 2.1、查看数据概览&#xff1a; 2.2、查看描述性统计&#xff1a; 3、数据清洗&#xff1a; 3.1、处…...

Linux环境下挂载exfat格式U盘,以及安装exfat文件系统

目录Linux一般支持的文件系统有&#xff1a;1.安装exfat软件安装工具环境以及exfat件依赖的系统软件下载exfat源码包并安装2.挂载exfat格式U盘查看U盘在那个目录执行挂载命令Linux一般支持的文件系统有&#xff1a; 文件系统名称详情ext专门为Linux核心做的第一个文件系统&…...

网格布局grid

grid网格定义 css网格是一个用于web的二维&#xff08;行和列的组合&#xff09;布局&#xff0c;利用网格&#xff0c;你可以把内容按照行和列的格式进行排版&#xff0c;另外&#xff0c;可以轻松的实现复杂布局。 1.定义网格和fr单位 1.1定义网格 在父元素加上&#xff…...

《扬帆优配》环境更优!这类资金,迎利好!

近来&#xff0c;第一批主板注册制新股连续发动申购&#xff0c;网下询价中&#xff0c;组织出资者频繁现身打新商场&#xff0c;公募基金、社保基金、养老金、保险资金等中长时间资金&#xff0c;成为全面注册制下新股发行商场的重要参加者。 多位业内人士对此表明&#xff0c…...

RK3568平台开发系列讲解(内存篇)内存管理的相关结构体

🚀返回专栏总目录 文章目录 一、硬件架构二、Linux 物理内存管理结构体沉淀、分享、成长,让自己和他人都能有所收获!😄 📢应用程序想要使用内存,必须得先找操作系统申请,我们有必要先了解一下 Linux 内核怎么来管理内存,这样再去分析应用程序的内存管理细节的时候,…...

如何理解二叉树与递归的关系

二叉树一般都是和递归有联系的&#xff0c;二叉树的遍历包括了前序&#xff0c;后序&#xff0c;中序&#xff0c;大部分题目只要考虑清楚应该用那种遍历顺序&#xff0c;然后特殊情况的条件&#xff0c;题目就会迎刃而解。 1. 先来说说二叉树的遍历方式 其实二叉树的遍历很简…...

CSS 高级技巧

目录 1.精灵图 1.1为什么需要精灵图 1.2 精灵图&#xff08;sprites&#xff09;的使用 2.字体图标 2.1字体图标的产生 2.2字体图标的优点 2.3字体图标的下载 2.4字体图标的引入 2.5字体图标的追加 1.精灵图 1.1为什么需要精灵图 一个网站往往回应用很多的小背景图像作…...

ToBeWritten之MIPS汇编基础铺垫

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…...

MySQL数据库对数据库表的创建和DML操作

1&#xff0e;创建表user&#xff0c;其中包含id、name、password,其中主键自增&#xff0c;name&#xff0c;唯一是可变长度&#xff0c;最大长度是30&#xff0c;密码&#xff0c;可变长度&#xff0c;最大长度为20&#xff0c;不为空。 以下是创建符合要求的user表的SQL语句…...

【PCB专题】PCB 阻焊层(solder mask)与助焊层(paste mask)有什么区别

一块标准的印刷电路板 (PCB) 通常需要两种不同类型的“罩层 (mask)”。其中阻焊层 (solder mask) 和助焊层 (paste mask) 都是“罩层”,但在 PCB 制造过程中,它们分别用于两个完全不同的部分,因此也存在很大的区别。 阻焊层定义 阻焊层定义了电路板外表面的保护材料涂抹范围…...

ThreeJS-纹理旋转、重复(十一)

旋转 文档&#xff1a;three.js docs 关键代码&#xff1a; //设置旋转中心,默认左下角 docColorLoader.center.set(0.5,0.5); //围绕旋转中心逆时针旋转45度 docColorLoader.rotation Math.PI/4; 完整代码: <template> <div id"three_div"></div>…...

CSDN——Markdown编辑器——官方指导

CSDN——Markdown编辑器——官方指导欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表…...

DN-DETR调试记录

博主在进行DINO实验过程中&#xff0c;发现在提取了3个类别的COCO数据集中&#xff0c;DINO-DETR对car,truck的检测性能并不理想&#xff0c;又通过实验自己的数据集&#xff0c;发现AP值相差不大且较为符合预期&#xff0c;因此便猜想是否是由于DINO中加入了负样本约束导致背景…...

ASP消防网上考试系统设计与实现

本文以ASP和Access数据库来开发服务器端&#xff0c;通过计算机网络技术实现了一个针对消防部队警官的网上考试系统。为了。提高消防部队的工作效率和信息化水平&#xff0c;体现消防部队信息化进程的特色&#xff0c;开发一个适合消防部队的计算机网上考试系统是非常必要的。鉴…...

MongoDB - 数据模型的设计模式

简介 官方文章的地址是 Building with Patterns: A Summary&#xff0c;其中汇总了 12 种设计模式及使用场景。 上述的图表列举了 12 种设计模式及应用场景&#xff0c;主要是以下这些&#xff1a; 近似值模式&#xff08;Approximation Pattern&#xff09;属性模式&#xf…...

3D格式转换工具助力Shapr3D公司产品实现了 “无障碍的用户体验”,可支持30多种格式转换!

今天主要介绍的是HOOPS Exchange——一款支持30多种CAD文件格式读取和写入的工具&#xff0c;为Shapr3D公司提供的重要帮助! Shapr3D是一家有着宏伟目标的公司&#xff1a;将CAD带入21世纪&#xff01;该公司于2016年首次推出其同名应用程序&#xff0c;并将Shapr3D带到了macOS…...

虚拟环境-----virtualenv和pipenv的安装和应用

1.pip install virtualenv 2.pip安装虚拟环境管理包virtualenvwrapper-win 3.创建一个存放虚拟环境的目录&#xff08;建议命名为.env或者.virtualenv&#xff09; 4.配置环境变量&#xff08;变量名&#xff1a;WORKON_HOME,值&#xff1a;上面创建的目录路径&#xff09; …...

awd pwn——LIEF学习

文章目录1. 什么是LIEF2. 加载可执行文件3. 修改ELF的symbols4. ELF Hooking5. 修改got表6. 总结1. 什么是LIEF LIEF是一个能够用于对各种类型的可执行文件&#xff08;包括Linux ELF文件、Windows exe文件、Android Dex文件等&#xff09;进行转换、提取、修改的项目&#xf…...

亚商投资顾问 早餐FM/0330 6G发展持开放态度

01/亚商投资顾问 早间导读 1.工信部副部长&#xff1a;中国对6G发展持开放的态度已成立工作组推动关键技术研究 2.易纲、周小川最新发声 中国加快绿色低碳发展的决心坚定不移 3.中移动出手&#xff01;450亿溢价包圆邮储银行定增股份 4.海南全面启动全岛封关运作准备 免税消…...

cookie和session的区别

文章目录cookie和session的区别1. 存储位置不同2. 生命周期不同3. 存储数据大小不同4. 数据类型不同5. 安全性不同cookie和session的区别 1. 存储位置不同 cookie&#xff1a;cookie数据保存在客户端。 session&#xff1a;session数据保存在服务器端。 2. 生命周期不同 s…...

android 人脸考勤机 卡死原因

Android人脸考勤机卡死的原因可能有以下几个方面&#xff1a; 硬件限制&#xff1a;如果使用的设备性能较低&#xff0c;如处理器、内存、存储等都不足以支持应用程序的运行&#xff0c;就容易出现卡顿、卡死等问题。 代码优化&#xff1a;代码的优化也是影响应用程序性能的重…...

安装k8s工具之三-kube-ansible

一、介绍 Kube-ansible 是一个开源的 Kubernetes 部署和管理工具&#xff0c;它使用 Ansible 自动化工具来管理 Kubernetes 集群。Kube-ansible 提供了一套可扩展的框架&#xff0c;可以方便地部署和管理 Kubernetes 集群。 Kube-ansible 的主要特点包括&#xff1a; 支持多…...

《程序员面试金典(第6版)》面试题 08.09. 括号(回溯算法,特殊的排列问题,C++)

题目描述 括号。设计一种算法&#xff0c;打印n对括号的所有合法的&#xff08;例如&#xff0c;开闭一一对应&#xff09;组合。 说明&#xff1a;解集不能包含重复的子集。 例如&#xff0c;给出 n 3&#xff0c;生成结果为&#xff1a; ["((()))","(()())…...

大厂面试篇--2023软件测试八股文最全文档,有它直接大杀四方

前言 已经到了金三银四的黄金招聘季节了&#xff0c;还在准备面试跳槽涨薪的小伙伴们可以看看本篇文章哟&#xff0c;这里呢笔者就不多说废话了直接上干货&#xff01;答案已整理好&#xff0c;文末拿去即可&#xff01;非常好用&#xff01; 一、字节跳动测试面经篇 1、在搜…...