230704(环境相关)
cmd
作用:人机交互
打开命令提示符窗口
常用指令
盘符切换:C: D: E: .....
查看当前目录下的内容: dir
进入某个路径 cd 路径名
清屏: cls
cdm退出: exit
问题:打开某些文件不方便,解决方案:配置环境变量
作用:打开文件更加灵活
java
概括:人与计算机进行交流
230705(java引入)
Java程序的注意事项
java中多个单词和关键词中间的空格不能省略
Java中关键词是大小写敏感的
编码应该有缩进,方便查看
Java发展历史
自1.8版本改名为JDK8
兼容问题:新版本和老版本之间是向下兼容
Java三大平台
JavaSE
封装了基础的API
JavaME
主要用于嵌入式开发和移动端开发,目前已经消亡
JavaEE
用于企业级应用开发,是Java应用最深入、最主要的领域
Java的主要特性
面向对象,多线程,安全性
Java的跨平台性体现在一次编写代码,到处运行。只需要针对不同的操作系统提供不同的Java虚拟机(JVM),就可以运行相同的程序
JVM、JRE和JDK之间的关系
JDK是Java的开发工具包,是最小的开发单元
JRE是Java的运行环境,是最小的运行环境。
JVM是Java虚拟机,位于JDK和JRE之间,可以理解为将Java代码转换为机器语言的运行环境。
注释
单行注释 //
多行注释 /**/
文档注释 /** */
变量
可以改变的内存中储存的量
使用步骤: 先声明变量,再进行赋值
要避免与一些关键字和保留字重复
230706(变量,命名,类型)
算数运算符
+ - * / %
.java程序交互工具 Scanner
使用步骤
导包
创建对象
使用对象
资源关闭
作用:java提供的一个工具类,可以帮助我们进行人机交互
基本数据类型(四类八种)
整数类型
byte
【- 2的7次方 ~ 2的7次方-1】
short
int
long
字面量后面一般都加上L/l
浮点数类型
float
字面量后面一般都加上F/f
double
字符类型
char
需要添加 '' 范围: 0-65535
布尔类型
boolean
命名规则
可以包含字母,数字,下划线,$
注意事项:
1.不能以数字开头
2.严格区分大小写
3.尽量做到见名知意
使用 驼峰命名法
230707(类型转换,几种运算符)
类型转换
隐式转换
自动进行类型的转换,小类型->大类型
强制转换
需要显示的进行转换操作,大类型---->小类型
注意事项
大类型转换为小类型,有可能出现精度丢失
int类型强转为byte类型:中间差值256,会循环出现
++ 和 --
++
++在前:先自增,后赋值
++在后:先赋值,后自增
--
--在前:先自减,再赋值
--在后:先赋值,再自减
赋值运算符
+= -= *= /= %=
注意:隐藏了强制类型转换
关系运算符
> < == >= <= !=
逻辑运算符
或: | || true || false ===>true
只要有一个为true,结果为true
且:& && true && false
只要有一个为false,结果为false
非:! !true ===>false !false===>true
230710(顺序,循环,分支)
三元运算符 【三目运算符】
格式: 布尔表达式 ? 语句1 : 语句2;
什么是布尔表达式?
由逻辑运算符(如与、或、非)和逻辑操作数(如真、假)组成,用于判断某个条件是否为真或假。
流程控制语句
顺序结构
代码执行默认结构
分支结构
有多种选择
循环结构
重复着干某一件事
分支结构
if else
switch case default
case穿透 不加break,匹配到对应的语句后,后续的会继续执行
230711(for循环)
循环分类
for循环
while循环
do...while循环
for循环
语法结构
for(循环初始化条件;循环判断条件;循环改变条件){
循环体;
}
230712(while循环,do while循环)
while循环
语法结构
循环初始条件1;
while(循环判断条件2){
循环体4;
循环改变条件3;
}
do...while:
语法结构
循环初始条件1;
do{
循环体4;
循环改变条件3;
}while(循环判断条件2);
特点
不论条件是否匹配,都先执行一次!
while后的条件为true,do块继续循环执行;为false,循环结束
三种循环选取标准
for: 固定次数的循环,优先考虑使用for 【使用最多的循环】
while: 不确定次数的循环中,优先考虑使用
do...while: 当程序需要先执行一次,再考虑是否满足条件的情况,优先使用
死循环
for(;;){}
while(true){}
do{}while(true)
嵌套循环
注意: 循环嵌套有三层及以上循环的嵌套,就要考虑业务是否有问题
特点:外层循环跑一次,内层循环跑一圈
Random工具类
创建Random工具类对象
调用对象
break continue关键字
break:终止循环,不管后面有没有需要执行的,都将结束循环
break可以作为死循环的跳出条件
continue: 跳出本次循环【看到该关键字后,本轮循环中后续的代码不执行】,后续循环继续执行
230713(数组)
什么是数组?为什么要数组?
因为要存放数据,而变量只能储存一个,为解决储存多个数据
存放多个数据的容器,
如何定义数组
静态创建
知道元素的个数以及内容
动态创建
只是知道需要存储的元素的类型,具体需要存储的元素内容不清楚【注意:数组的长度】
如何使用数组
数组元素的访问
数组下标:索引
特点:从0开始,连续不断,递增1
数组的长度
数组的长度与下标的关系:下标的最大值=length-1;
使用中容易出现的问题
ArrayIndexOutOfBoundsException:数组下标越界【下标的访问超出范围了】
230714(二维数组)
Arrays工具类
sort() 可以实现数组排序
toString() 可以实现数组的输出
copyof() 可以实现数组的复制
二维数组
如何创建
静态创建
int[ ][ ] arr = { };
动态创建
int[ ][ ] arr = new int[ 长度 ][长度 ];
数据访问
arr[ i ][ j ]
数据修改
arr[ i ][ j ] = 值;
230717(方法)
什么是方法?为什么要用方法?
什么是方法?
封装了一段逻辑,这段逻辑可以被重复使用!
为什么要用方法?
提高代码可读性
提高代码复用性
提高代码可扩展性
怎么定义方法?
修饰词 返回值类型 方法名称(参数列表){
方法体;
}
怎么调用方法?
方法名(参数)
注意:方法定义只有一次,方法的调用可以有多次
方法的参数列表
多个参数时: 参数类型 参数名称 , 参数类型 参数名称.......
方法的重载
方法名相同,方法列表不同
不同的参数列表可以让方法变得更加灵活
方法的返回值
不需要返回值
void
需要返回值
根据业务逻辑决定返回值类型