第一周java.1

一维数组

java数组要求所有数组元素具有相同的数据型。因此,在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据 。

一旦数组的初始化完成 ,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变。即使把某个数组元素的数据清空 , 但它所占的空间依然被保留 ,依然属于该数组,数组的长度依然不变。 Java 的数组既可以存储基本类型的数据 ,也可以存储引用类型的数据,只要所有的数组元素具有相 同 的类型即可 。 值得指出的是,数组也是一种数据类型 , 它本身是一种引用类型 。 例如 int 是一个基本类型,但是Int[]是一种引用类型。

Java 语言支持两种语法格式来定义数组:

type[] arrayName; 
type arrayName[] ; 

数组是一种引用类型的变量 , 因此使用它定义一个变量时,仅仅表示定义了一个引用变量( 也就是 定义了 一个指针) 这个引用变量还未指向任何有效的内存 , 因此定义数组时不能指定数组的长度 .而 且 由 于定义数组只是定义了 一个引用变量,并未指向任何有效的内存空间 , 所以还没有内存空间来存储数组元素,因此这个数组也不能使用,只有对数组进行初始化后才可以使用。

值得指出的是 , 执行静态初始化时 , 显式指定的数组元素值的类型必须与 new 关键字后的 type 类型相同,动态初始化也是如此。

//定义一个 int 数组类型的变量,变量名为 
intArr int[] intArr;
// 初始化数组时只指定数组元素的初始值,不指定数组长度 
intArr =new i n t [] {5 , 6 , 8 , 20} ; 
定义数组时使用的 type类型的子类。
//数组的定义和初始化同时完成,使用动态初始化语法
int[] prices = new int[5] ; 

各类数组初始化值。

为些数组元素分配初始值。 指定初始值时, 系统按如下规则分配初始值 。

数组元素的类型是基本类型中 的整数类型(byte ,shot,int 和 long ) 则数组元素的值是 0 .

数组元素的类型是基本类型中 的浮点类型(float ,double ),

则数组元素的值是 0.

数组元素的类型是基本类型中的字符类型(char),则数组元素的值是'\uOOOO '。

数组元素的类型是基本类型中的布尔类型(boolean),则数组元素的值是 false.

数组元素的类型是引用类型(类、接口和数组) 则数组元素的值是 null .

二维数组

public class TwoDimensionTest
{
    public static void main(Str 工 ng[] args) 
{   //定义一个二维数组
       int [][]a; 
  //把a当成一维数组进行初始化,初始化a是一个长度为4的数组
  //a数组的数组元素又是引用类型
     a=new int[4][] ; 
  //把a数组当成一维数组,遍历a数组的每个数组元素
  for (int i = 0 ,len = a.length; i < len ; i++ ) 
 {
   System.out.println(a[i]) ; 
  }
   //初始化 a 数组的第一个元素
    a[0] = new int[2]; 
  //访问 a 数组的第一个元素所指数组的第二个元素
   a[0][1] = 6; 
  //a数组的第一个元素是一个一维数组,遍历这个一维数组
 for (int i = 0 ,len = a[0].length ; i < len ;i++ ) 
   System.out.println(a[0][i]);
}
}

数组的地址

如果直接调用数组,将打印数组在内存中的地址值。调用数组值直接调用下标,数组下标从0开始。对于数组在内存中的变化,可以通过这两个空间进行分析

栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行

堆 :存储对象或者数组,new来创建的,都存储在堆内存

public static void main(String[] args)
{
 int [] arr=new int [2];
 sout(arr);
 sout(arr[0]);
 sout(arr[1]);
 }

第三行左边就是在栈中定义了一个变量——int类型的名为arr的数组,右边则是堆中开辟了一个空间,索引长度为数组长度,然后通过等号将右边的地址值赋值给左边。无论是赋值还是调用都是通过右边去查找地址,再进行操作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《昇思25天学习打卡营第7天|函数式自动微分》

文章目录 今日所学&#xff1a;一、函数与计算图二、微分函数与梯度计算三、Stop Gradient四、Auxiliary data五、神经网络梯度计算总结 今日所学&#xff1a; 今天我学习了神经网络训练的核心原理&#xff0c;主要是反向传播算法。这个过程包括将模型预测值&#xff08;logit…

PyCharm远程开发配置(2024以下版本)

目录 PyCharm远程开发配置 1、清理远程环境 1.1 点击Setting 1.2 进入Interpreter 1.3 删除远程环境 1.4 删除SSH 2、连接远程环境 2.1 点击Close Project 2.2 点击New Project 2.3 项目路径设置 2.4 SSH配置 2.5 选择python3解释器在远程环境的位置 2.6 配置远程…

EXCEL返回未使用数组元素(未使用值)

功能简介&#xff1a; 在我们工作中&#xff0c;需要在EXCEL表列出哪些元素&#xff08;物品或订单&#xff09;已经被使用了&#xff08;或使用了多少次&#xff09;&#xff0c;哪些没有被使用。 当数量过于庞大时人工筛选或许不是好办法&#xff0c;我们可以借助公式&…

鸿蒙数据防泄漏(DLP)【Data Loss Prevention Kit简介】

Data Loss Prevention Kit简介 Data Loss Prevention Kit&#xff08;数据防泄漏服务&#xff0c;简称为DLP&#xff09;&#xff0c;是系统提供的系统级的数据防泄漏解决方案&#xff0c;提供文件权限管理、加密存储、授权访问等能力&#xff0c;数据所有者可以基于帐号认证对…

Python基础小知识问答系列-可迭代型变量赋值

1. 问题&#xff1a; 怎样简洁的把列表中的元素赋值给单个变量&#xff1f; 当需要列表中指定几个值时&#xff0c;剩余的变量都收集在一起&#xff0c;该怎么进行变量赋值&#xff1f; 当只需要列表中指定某几个值&#xff0c;其他值都忽略时&#xff0c;该怎么…

【数据分享】《中国金融年鉴》1986-2020年PDF版

而今天要免费分享的数据就是1986-2020年间出版的《中国金融年鉴》并以多格式提供免费下载。&#xff08;无需分享朋友圈即可获取&#xff09; 数据介绍 《中国金融年鉴》自1986年起&#xff0c;逐年记录着中国金融领域的发展历程、政策变化和市场动态。这部年鉴不仅是金融专业…

PD虚拟机和VirtualBox有什么区别?Parallels Desktop 19.1.1 破解版

随着计算机技术的不断发展&#xff0c;虚拟机软件在现代信息技术领域中扮演着越来越重要的角色。虚拟机不仅可以帮助用户在一台物理机器上运行多个操作系统&#xff0c;还能有效隔离不同环境&#xff0c;提升系统安全性。在众多的虚拟机软件中&#xff0c;PD虚拟机&#xff08;…

Halcon 基于分水岭的目标分割

一 分水岭 1 分水岭介绍 传统的分水岭分割方法&#xff0c;是一种基于拓扑理论的数学形态学的分割方法&#xff0c;其基本思想是把图像看作是地质学上的拓扑地貌&#xff0c;图像中每一像素的灰度值表示该点的海拔高度&#xff0c;每一个局部极小值及其周边区域称为集水盆地&…

Redis理解【精细】【快速上手】

目录 1. 了解3V和3高 2.什么是redis 3. redis可以做什么 4. Windows安装 5. 使用redis客户端操作redis 5.1 redis基本命令 5.1.1 切换数据库 5.1.2 查看当前数据库的大小 5.1.3 查看当前数据库所有的key ​​​​​​​ 5.1.4 清空当前数据库所有key 5.1.5 清空所…

操作系统真象还原:编写硬盘驱动程序

第13章-编写硬盘驱动程序 这是一个网站有所有小节的代码实现&#xff0c;同时也包含了Bochs等文件 13.1 硬盘及分区表 13.1.1 创建从盘及获取安装的磁盘数 要实现文件系统&#xff0c;必须先有个磁盘介质&#xff0c;虽然咱们己经有个虚拟磁盘 hd60M.img&#xff0c;但它只…

党建科普3D数字化展馆支持实时更新迭代

3D虚拟策展逐渐成为新时代下的主流方式&#xff0c;深圳华锐视点作为专业的web3d开发公司&#xff0c;具有专业化的3D数字化空间还原能力&#xff0c;能根据企业/个人不同需求和预算&#xff0c;为您打造纯线上虚拟3D艺术展&#xff0c;让您彻底摆脱实体美术馆的限制&#xff0…

好看的风景视频素材在哪下载啊?下载风景视频素材网站分享

随着短视频和自媒体的兴起&#xff0c;美丽的风景视频不仅能让人眼前一亮&#xff0c;更能吸引大量观众。无论是旅游博主分享那些令人心旷神怡的旅行片段&#xff0c;还是视频编辑师寻找背景素材来增强作品的视觉效果&#xff0c;高质量的风景视频素材需求量巨大。以下是几个下…

2024年上半年典型网络攻击事件汇总

文章目录 前言一、Ivanti VPN 的0 Day攻击(2024年1月)二、微软公司高管账户泄露攻击(2024年1月)三、Change Healthcare网络攻击(2024年2月)四、ConnectWise ScreenConnect漏洞利用攻击(2024年2月)五、XZ Utils软件供应链攻击(2024年3月)六、AT&T数据泄露攻击(20…

Continual Test-Time Domain Adaptation--论文笔记

论文笔记 资料 1.代码地址 https://github.com/qinenergy/cotta 2.论文地址 https://arxiv.org/abs/2203.13591 3.数据集地址 论文摘要的翻译 TTA的目的是在不使用任何源数据的情况下&#xff0c;将源预先训练的模型适应到目标域。现有的工作主要考虑目标域是静态的情况…

【数据分享】《中国建筑业统计年鉴》2005-2022 PDF

而今天要免费分享的数据就是2005-2022年间出版的《中国建筑业统计年鉴》并以多格式提供免费下载。&#xff08;无需分享朋友圈即可获取&#xff09; 需要2023的数据的请添加小编咨询 数据介绍 在过去的十八个年头中&#xff0c;中国建筑业经历了翻天覆地的变化。从《中国建…

web自动化(三)鼠标操作键盘

selenuim 键盘操作 import timefrom selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait from selen…

windows@无密码的本地用户账户相关问题@仅用用户名免密登录远程桌面登录和控制@无密码用户访问共享文件夹以及挂载问题

文章目录 abstract此用户无法登录账户被禁用问题访问共享文件夹时带上凭据错误案例和解决 两类登录方式控制台登录与远程登录的区别为什么限制空密码账户只允许控制台登录相关安全策略如何修改该策略注意事项 启用允许被免密登录功能使用空密码进行远程桌面连接设置远程桌面链接…

day02-广播机制

广播机制 广播是numpy对不同形状的数组进行数值计算的方式&#xff0c;对数组的算术运算通常在相应的元素上进行 1.如果两个数组a和b形状相同&#xff0c;即满足a.shape b.shape&#xff0c;那么a*b的结果就是a与b数组对应位相乘。这要求维数相同且各维度的长度相同 a np.a…

干货:科技论文写作保姆级攻略

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。科技论文是报道自然科学研究或技术开发工作成果的论说文章。通常基于概念、判断、推理、证明或反驳等逻辑思维体系&#xff0c;使用实验调研或理论计算等研究手段&#xff0c;按照特定格式撰写完成。 科技论文可以粗略分为…

在Linux操作环境下搭建内网源

在修改配置文件之前都应该有备份。 比如在/目录下专门创建一个目录用来储存文件的备份。 1.安装vsftpd软件 首先使用命令yum search ftpd 来查看当前Linux操作系统下是否有ftpd软件。 随后使用yum install vsftpd&#xff0c;来安装vsftpd软件 2.修改vsftpd的配置文件&…
最新文章