JavaSE(上)-Day6
JavaSE(上)-Day6
- 数组
- 数组的定义
- 数组的初始化
- 打印数组分析
- 数组索引
- 数组内存图
- 方法
- 方法的定义和调用
- 方法的重载
- 方法的内存图
- 二维数组
- 二位数组的创建和初始化
- 二维数组的内存图
数组
1.数组是一种容器,可以一次存储多个相同类型的数据
数组的定义
int[] array1;int array2[];
数组的初始化
// 1.两种静态初始化 静态初始化当开始明确了数组填充的值使用// 1.1 完整格式int[] array3 = new int[]{18, 24, 32};// 1.2 简写格式double array4[] = {175.5, 173.5, 182.0};// 2. 一种动态初始化 动态初始化开始只可以确定长度时使用int[] array33 = new int[10];array33[0] = 1;// 注意:数组动态初始化,会赋予默认值// 基本数据类型中:整数 0 浮点数 0.0 char '\u0000' boolean false // 引用数据类型: null
打印数组分析
// 打印是数组的地址//[I@4eec7777、[D@3b07d329 [表示数组 I/D表示数组的类型 @后面是16进制,真正的地址
数组索引
- 数组索引从零开始
- 注意:数组索引不在范围内会报错
数组内存图
- 方法运行就会进入栈中执行
- new出现就会在堆中开辟地址 图1
- 多个数组可以指向同一个地址 图2


方法
- 方法是程序执行的最小单位
- 方法用于打包重复或者独立功能的代码
- 方法提高了代码的复用性和可维护性
方法的定义和调用
package com.itheima.demo;/*** 方法练习*/
public class MehthodDemo01 {public static void main(String[] args) {// 无参无返回值方法的调用// 看到方法调用方法,方法执行完毕返回调用处。playGame();//有参无返回值方法的调用// 方法调用填充的变量或字面量的数目和类型要与方法定义是参数保持一致// 方法调用的参数叫实参ChangC(15, 5);cicleS(2.2);// 有参有返回值方法的调用double s1 = getArea(1.2, 2.2);double s2 = getArea(1.5, 1.7);if (s1 > s2) {System.out.println("第一个长方形的面积大");} else if (s1 < s2) {System.out.println("第二个长方形的面积大");} else if (s1 == s2) {System.out.println("两个长方形的面积一样大");}}// 无参无返回值方法的定义public static void playGame() {System.out.println("1.选择角色");System.out.println("2.进入王者峡谷");System.out.println("3.对线");System.out.println("4.推水晶");System.out.println("5.打赢结束");}// 有参无返回值方法的定义// 方法定义的是形参// 计算长方形的周长public static void ChangC(int length, int width) {System.out.println(length * 2 + width * 2);}// 计算圆的面积public static void cicleS(double r) {System.out.println(r * r * Math.PI);}// 比较两个长方形的面积public static double getArea(double len, double width) {return len * width;}
}
方法的重载
- 同一个类中,有数目不同或形参类型不同的多个重名方法称之为重载,与返回值类型无关
方法的内存图
- 基本数据类型和引用数据类型的区别
- 基本数据类型的数据值是存在栈里变量定义的空间中的
- 引用数据类型的数据值是存在堆里开辟的空间的,开辟空间的地址存在栈里变量定义的空间中
- 数据类型的传值传递的就是栈里存储的数据。对应基本数据类型是真正的值,对应引用数据类型是地址。
二维数组
二维数组应用于对一组数据进行分组
二位数组的创建和初始化
- 静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5,6}};
int[][] arr2 = {{1,2,3},{4,5,6}};
- 动态初始化
int[][] arr3 = new int[2][3];
arr[0][0] = 1;
- 遍历二维数组(略)
- 动态给二维数组赋值(略)
二维数组的内存图
- 栈中执行main方法
- 栈中创建arr变量
- 堆中初始化一个长度为2的二维数组 索引0和1初始为null
- 堆中初始化两个长度为3的一位数组 索引填充值为0,地址分别填充至二维数组
- 栈中arr变量保存堆中的二维数组地址

1.特殊情况1 不指定每个一位数组的长度

- 特殊情况2

相关文章:
JavaSE(上)-Day6
JavaSE(上)-Day6 数组数组的定义数组的初始化打印数组分析数组索引数组内存图 方法方法的定义和调用方法的重载方法的内存图 二维数组二位数组的创建和初始化二维数组的内存图 数组 1.数组是一种容器,可以一次存储多个相同类型的数据 数组的…...
(二十五)Flask之MTVMVC架构模式Demo【重点:原生session使用及易错点!】
目录: 每篇前言:MTV&MVC构建一个基于MTV模式的Demo项目:蹦出一个问题: 每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领…...
[ C++ ] STL---list的使用指南
目录 list简介 list的常用接口 构造函数 赋值运算符重载 迭代器 容量相关接口 元素访问接口 修改相关接口 头插push_front() 头删pop_front() 尾插push_back() 尾删pop_back() insert() erase() list的迭代器失效 list简介 1. list是可以以O(1)的时间复杂度在任意…...
数据可视化-ECharts Html项目实战(2)
在之前的文章中,我们学习了如何创建简单的折线图,条形图,柱形图并实现动态触发,最大最小平均值。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下…...
【Network Management】DCM模块唤醒网络是主动唤醒还是被动唤醒
目录 前言 正文 1.CanNm的状态机分析 2.ComM的状态机分析 3.诊断报文唤醒网络知识扩展...
yum repolist命令的介绍
yum repolist 命令在基于 Red Hat 的 Linux 发行版中用于列出当前配置的 YUM 仓库中所有可用的软件包及其版本信息。这个命令会从本地缓存中获取软件包的索引信息,并显示所有软件包的名称和版本号,而不会实际安装或更新任何软件包。 具体来说,…...
【日志分析】Android 运营商名称显示优先级(AlphaTag/SPN)
规则说明 MTK平台的设计,优先级:(MD)CIEV > Eons > Nitz > xml 功能代码说明 【笔记】Android Telephony 漫游SPN显示定制(Roaming Alpha Tag)-CSDN博客 日志分析 关键字:lookupOpe…...
ocp考试是中文还是英文?ocp认证好考吗
ocp认证是中文还是英文考试ocp认证的考试常用语种是英文,除开英文之外还有日语等语种,但是目前没有中文(12c的时候有过中文考试),所以考生最好具有一定的英语水平再报名参加考试,ocp认证考试的形式为机试,考试的题型全…...
python问题:vscode切换环境,pip安装库网络错误,不使用anaconda安装库
python问题:vscode切换环境,pip安装库网络错误 vscode切换环境pip安装库网络错误 不使用anaconda安装库 记录一下遇见的python问题。 vscode切换环境 在vscode上面的搜索框输入 > select interpreter然后选择需要的环境。 pip安装库网络错误 用…...
理财第一课:炒股词典
文章目录 基础代码规则委比委差量比换手率市盈率市净率 短线操作散户亏钱的原因庄家分析炒股战法波浪理论其它 钱者,人生之大事,死生存亡之地,不可不察也。耕田之利,十倍;珠玉之赢,百倍;闹革命&…...
矩阵消元-MIT
文章目录 1. 行变换消元法,XA 左乘行变换 1. 行变换消元法,XA 左乘行变换 假设我们有一个方程组表示如下: x 2 y z 2 ; 3 x 8 y z 12 ; 4 y z 2 (1) x2yz2;\quad 3x8yz12;\quad4yz2\tag{1} x2yz2;3x8yz12;4yz2(1)矩阵表示如下: [ 1 2 1 3 8 1…...
基于nodejs+vue班级管理系统的设计与实现-flask-django-python-php
随着电子技术的普及和快速发展,线上管理系统被广泛的使用,有很多事业单位和商业机构都在实现电子信息化管理,班级管理系统也不例外,由比较传统的人工管理转向了电子化、信息化、系统化的管理。随着互联网技术的高速发展࿰…...
2024年起,游戏开发团队62%的从业人员使用AI智能技术
易采游戏网3月19日消息:游戏引擎制造商最新发布的《Unity》报告证实,近六成的全球游戏开发团队已在各个环节全面采用人工智能技术,以大幅提升生产效率并节约宝贵时间。 伴随着科技的快速发展,游戏开发领域逐渐转向借助人工智能技术…...
mysql 主从复制、读写分离、高可用
MySQL 的主从复制、读写分离和高可用性是数据库架构中常见的概念,它们旨在提高数据库的可靠性、性能和可扩展性。下面我将分别解释这三个概念: 1. MySQL 主从复制 主从复制 是 MySQL 中的一个功能,允许数据从一个 MySQL 数据库服务器&#…...
力扣爆刷第100天之hot100五连刷86-90
力扣爆刷第100天之hot100五连刷86-90 文章目录 力扣爆刷第100天之hot100五连刷86-90一、139. 单词拆分二、300. 最长递增子序列三、152. 乘积最大子数组四、416. 分割等和子集五、32. 最长有效括号 一、139. 单词拆分 题目链接:https://leetcode.cn/problems/word-…...
Sublime Text3 C/C++一键调试运行代码
minGW的系统环境配置: 使用的C/C编译器是minGW,点此进入官网链接,下载后需要在线安装,安装后需要将安装目录下的bin目录所在路径加入path环境变量。本菜鸡的电脑里安装了CodeBlocks,在CodeBlocks的安装目录下有MinGW&…...
robots协议详解:爬虫也要有边界感
随着互联网的迅猛发展,信息的获取变得越来越便捷,而网络爬虫(Spider)技术就是其中之一。网络爬虫是一种自动化程序,它能够遍历互联网上的网页,提取信息,用于各种用途,例如搜索引擎索引、数据挖掘、价格比较等。但是,爬虫技术虽然强大,但是也是一把双刃剑,在正当使用…...
C#面:简述 var 和 dynamic
var 关键字: var 关键字是在编译时进行类型推断的。也就是说,编译器会根据变量的初始化表达式来确定变量的类型,并在编译时将其替换为实际的类型。var 关键字只能用于局部变量,不能用于字段、方法参数或返回类型。var 关键字声明…...
S32 Design Studio PE工具配置DMA
工具配置 DMA位置跟设备不一样,在Referenced_components里面。 Configurations里面就默认配置就行 channels是比较重要的,一条信号传输用到一个通道。可以选择UART、ADC、CAN之类的,这里用在了SPI通讯里面。 生成代码 在 Generated_Code\dm…...
【Effective C++】36绝不重新定义继承而来的non-virtual 函数
例子如下: class B { public:void mf(); };class D : public B {};D x; // x是一个类型为D的对象 // 方式一 B* pB &x // 获得一个pB 指向 x pB->mf(); // 经由指针调用mf// 方式二 D* pD &x // 获得一个指针指向x pD->mf(); // 经由指针调用mf我…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
