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我…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...