当前位置: 代码迷 >> 综合 >> Day04-important
  详细解决方案

Day04-important

热度:44   发布时间:2024-03-09 22:18:14.0

死循环


常用
while(true){

}
死循环的作用:
1.在服务器设计的时候 需要让服务器永远服务 这时候就可以使用死循环
2.在即时通信(微信聊天 qq )的时候 可以 使用死循环来建立聊天连接

结束语句
1.continue break
2.continue 表示结束本次循环 执行下一次循环
3.break 停止 中断 此次循环

嵌套循环

1.一个完整的循环结构嵌套另一个完整的循环结构 三种循环都是可以进行相互嵌套 但是在开发中双重for进行嵌套的使用最多(部门(多)==>员工(多)
2.双重for循环
语法:
for(初始化语句①;循环条件的判断①;循环变量的递增①) { ==>外层 循环
for(初始化语句②;循环条件判断②;循环变量的递增②) { ==> 内层循环

                执行循环操作

}

}
执行流程
初始化语句① ==> 循环条件判断①(false) ==> 结束循环
==>循环条件判断①(true) ==> 初始化语句②
==>循环条件判断②(false) ==>执行外层循环条件的判断①
>循环条件判断②(true)>执行循环操作 …

说明
1.外层循环循环一次 内层循环循环一轮(一遍)
2.外层循环条件不满足 内存循环是不执行

方法的重载

1.没有方法重载之前 执行相同逻辑的方法 都需要使用不同名字来进行表示,增加了调用者记忆负担 需要记住大量重复逻辑的方法名
2.有方法重载之后 : 执行相同逻辑的方法 只需要使用一个名字来表示
3.方法重载的规则
在同一个类中 方法名字相同 与参数列表有关 与返回值类型无关
解析:
在同一个类中 方法重载只能发生在一个类中 不能够发生在多个类中
方法名字相同 重载的方法名 必须是一样(包括大小写)
参数列表有关 参数的个数不同 或者是参数的类型不同 (与参数的名字没有关系)
与返回值无关 方法重在与返回值类型没有关系 可以是任意的类型

数组两种初始化
1.数组两种初始化方式: 静态初始化 动态初始化
2.动态初始化 在创建数组的时候 不给其进行赋值 而是程序运行的时候给其赋值
动态初始化的语法:
数据类型 [] 数组名称 = new 数据类型[数组的长度]
赋值:通过索引来进行赋值 索引是从0开始 索引的最大值是数组的长度-1(数组的索引永远比较其长度小1)
3.赋值的语法 : 数组名称[索引] = 值
4.注意点:
数组动态进行赋值 一般都是索引0开始 依次进行赋值
数组动态创建之后 是有默认值 int 类型数组 默认值是0

静态初始化 在创建的时候 就给数组进行赋值
语法: 数据类型 [] 数组名称 = new 数据类型[]{数据罗列}

注意事项
1.[] 不需要来指定具体的长度,是由数据来推算数组的长度
2.数据罗列 有多个数据 需要使用逗号来进行分割
3.数据罗列的数据 必须与数组数据类型一致
4.静态初始化简单的编写方式
数据类型 [] 数组名称 = {数据罗列}; (编写的时候不能进行拆分)

取值:
语法: 数组名称[索引]

jvm

1.jvm是java程序运行的容器
jvm 划分为五块 栈内存 堆内存 方法区 本地方法区 程序计数器
栈内存:用于来执行方法,所以的方法执行都会进栈 栈内存中特点 先进(压栈)后出(弹栈)
堆内存: 所以new 对象 都在堆内存中开辟中间 数组 对象 …
方法区: 用于存字节码文件[Class文件] 常量 静态变量
本地方法区 用于调用本地的方法 native 修饰的方法都是本地的方法 c c++ 的代码
程序计数器 用于来控制程序的执行 也就是控制具体代码的执行

一个数组内存图
在这里插入图片描述
两个数组的内存图
在这里插入图片描述

以上是我今天的总结,是一些我比较容易忘记的知识点。

作业

第一题
在这里插入图片描述
第二题
在这里插入图片描述
在这里插入图片描述
第三题
在这里插入图片描述