数组day05

方法中参数的“兼容匹配”和“完全匹配”问题。

完全匹配:参数类型完全对应上方法的参数列表中的参数类型

兼容匹配:在可以默认的类型转换中进行调用,例如没有x(int)方法而有x(double)方法时,可以x(int),不过这个int被当作double处理


Java中的数组:

不同类型的编程语言中都有自己的数组,这是一种重要的数据结构;

数组是什么?

用来保存同种类型的数据集合;这种集合中的数据是可以重复的

将无规律变为“有规律”


数组名,下标,元素

访问数组集合中的每个值(元素),用数组名加下标的方式:arrayName[index]

其中index的范围为:[0,len)  区间

Java中的数组操作中,可以通过数组对象的属性length来得到元素个数;

在方法中定义局部变量或块变量时,在使用之前一定要初始化(首次赋值);

CC++中通常情况下也需要对变量初始化,但不是必须的。

但在javaC#这些完全面向对象的语言中,一个变量在使用前必须初始化;

用什么值对变量初始化?

用这种类型的“零”值!

各种基本类型的零值分别是多少?

byte: 0

short:0

int:0

long:0L,0l

float:0.0f,.0f

double:0.0,.0

boolean:false

char:0,’\0’,’\u0000’



Java中,所有非内置类型的类型,称为对象类型,或非内置类型,或构造类型;

Java中的数组是基本类型吗?

不是。它是一种对象类型,一种构造类型;

构造类型对象的“零值”,统一为null;

int[] xs = new int[6];

使用引用xs来指向一个连续的内存块,这个内存块可以存放6个整型元素,每个块中是否有值,可能有三种情况:

1、 有垃圾值存在

2、 像对待简单变量,不进行初始化

3、 对每个元素进行了初始化,用0

Java中,没有垃圾值这个概念;

Java中,定义的局部变量不会自动初始化,但数组对象中的每个元素会初始化;

java中简单内存分析:

硬盘与内存:

数据存储到硬盘上,因为硬盘存储量大,存取效率低;

程序运行在内存中,因为内存存储量小,但速度快;


“虚拟内存”,通常是由硬盘来虚拟的;

“空间换时间”;

物理内存在Java中和在其他语言中一样,也是分为几部分:

1、 栈区:stack,6%左右,用来存放内置类型的变量,引用变量(只与所在系统中整数占用的内存相同),

2、 堆区:heap,90%左右,用来存放对象,数组元素;

哪个区域中内存分配的效率高?栈区效率高。

3、 代码区域:代码,静态变量,静态属性,常量池,

一维数组的特点和优势:

特点:

1、 是一种线性结构,通过数组名加下标访问

2、 它有且只能有一个首元素,首元素前没有前趋元素;

3、 它有且只能有一个尾元素,尾元素后没有后继元素;

4、 中间元素,有且只能有一个前趋元素和一个后继元素;

优势:

1、 访问方便,随机(任意下标)访问;

不足之处:

1、 一旦数组被定义,长度就不能改变。会在堆区给这个数组分配内存,在可见范围内,内存不会释放,内存块也不能增加和删减;

2、 删除和插入时效率很低;

数组的不足之处,由哪些数据结构可以须弥补?

链表:删除和插入节点效率非常高;

能否存在一种数据结构,涵盖了数组和链表两种结构的优势,而没有其不足?

->二叉树

采用二叉树时,在查找某个元素是否存在时,采用二分法查找,如果元素数为n,则最多的查找次数为:log2(n)




for(表达式1;表达式2;表达式3){//循环体}

称为“经典的for循环”

5.0版本之后,对经典的For循环进行了扩展,扩展为for_each循环;

这里的”each”指集合中的每一个元素;

for_each是遍历数组用的;


多维数组?称为“数组的数组”

无论一个数组有多少维,都先看成是“一维数组”;

1 2 3

4 5 61

在多维数组(非一维)中,维度相同的元素,可以互相赋值;


基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值