1、学习java的原因
- 全行业都需要
- 发展上限高
2、java可以做什么(主要做互联网系统的开发)
- 桌面应用开发
- 服务器开发
- ........
3、java技术体系
- Java SE标准版(java技术核心和基础)
- java EE企业版(企业级应用开发的一套解决方案)
- java ME小型版
4、java的安装和下载
java产品叫jdk,必须安装jdk才可以使用java,教学环境推荐jdk17,但是我安装的jdk21
注:
安装路径:jdk.exe安装包可以随便下载到一个目录,jdk可以安装到一个方便查找的目录,如develop/java/jdk17(不包含中文和空格)
验证:jdk下载后,使用java -version和javac -version
bin目录:java的bin目录下有javac(编译工具)和java(执行工具)
卸载旧版jdk:在C盘输入“控制面板”,点击程序卸载
小结:
5、DOS窗口常见命令
D:切换到D盘(盘符)
dir:查看当前目录下的文件信息
cd:切换目录
cls:清屏
6、开发第一个Java入门程序
(1)新建文件
(2)编写代码(类名与文件名一样)
(3)编译代码
(4)编译和执行
小结:
7、Java程序的常见错误
8、jdk组成
小结:
9、java的Path和JAVA_HOME环境变量的配置
path用于配置java程序的路径,使我们在命令行任意目录都可以启动java程序。
小结:
10、下载和卸载intelliJ IDEA
注:下载后打不开,可能需要卸载重新换一个版本安装。
11、IDEA开发一个程序
(1)java程序结构
- 新建工程
- 新建模块
- 新建包
- 新建类
(2)java程序新建步骤
小结:
12、IDEA的配置和快捷键
13、IDEA的其他操作
- 删除类文件
- 修改类文件
- 修改模块
- 导入模块
- 删除模块
- 打开工程
(1)修改模块
(2)导入模块方法一
复制一个模块文件到javapro工程里去
在IDEA中file-new-module from Existing Sources
将需要导入模块的路径输入,点击黑色图标的文件
(3)导入模块方法二
(4)删除模块
(5)打开工程
14、代码的注释
15、字面量
小结:
16、变量(int和double)
变量相当于一个盒子
17、变量的注意事项
18、关键字和标识符
1、数据在计算机中存储的原理
数字是变成二进制存储的,那么图片,声音这些是怎么存储的。
2、其他数据的存储原理
(1)字符在计算机的存储方式(ascii码表中对应的二进制形式)
(2)图片和音频文件的存储方式
也是通过二进制的方法存储的。
3、进制转化
二进制转换十进制:1111为15
十进制转换二进制:13为1101
十进制与八进制、十六进制的转换:
注:
1、0开头的数字为八进制,如:0141
2、0B开头为二进制,如:0B01100001
3、0x开头为十六进制,如:0xFA
4、1B=8b(一个字节为8bit)
4、数据类型
整型:byte,short ,int ,long
浮点型:float ,double
字符型:char
布尔型:boolean
小结:
5、类型转换
6、算数运算符与符号连接符
比如账户短信会用到拼接。
7、自增,自减
只能操作变量。
小结:
8、补充拓展
9、赋值运算符
10、逻辑运算符、三元运算符、运算符优先顺序
(1)逻辑运算符
(2)三元运算符
(3)运算符优先级
()、&&、||
11、API介绍,Scanner
1、分支结构:if和Switch
(1)if的实例
(2)if的小结
(2)switch的实例
(4)switch的注意事项
(5)switch和if的区别以及应用场景
2、for循环
3、while循环
(1)while案例
(2)while与for循环的区别
while不确定要循环几次,而for知道循环要执行几次。
该案例中由于纸张折叠的次数不确定,所以用while解决。
4、do-while循环
(1)do while案例
(2)三种循环的区别
5、死循环、循环的嵌套
(1)死循环用法
(2)循环嵌套案例
6、break和continue
(1)应用
(2)注意事项
7、随机数random
(1)从0开始的随机数
(2)区间随机数
(3)小结
(4)随机数例题
需求:随机生成一个1-100之间的数字,提示用户猜测,猜大提示过大,猜小提示过小。
1、数组概述
(1)有变量,为什么还要用数组
当用变量解决随机点名,则需要大量的变量,需求繁琐。而使用数组就更加简洁。
2、静态初始化数组
(1)数组静态初始化
(2)数组的存储原理
(3)小结
3、数组的访问
(1)数组的访问:访问元素、访问数组长度
(2)小结
4、遍历数组
(1)遍历数组
(3)小结
(4)案例(数组遍历-求和)
需求:某部门5名员工销售额分别为:16,26,36,6,100。请计算出他们部门的总销售额。
注:“{”的一一对应,很容易出错。
5、动态化初始化数组
(1)编写动态化数组
注:不能静态动态混用
(2)动态初始化数组元素默认规则
(3)小结
(4)案例(评委评分,求平均分)
6、数组内存的执行原理
数组也相当于一个变量
(1)数组和变量的执行结果
(2)数组和变量的执行原理图及小结
(3)多个变量执行同一个数组
(4)小结
注:变量、数组变量1,数组变量2的内存分布情况和执行原理。
7、数组案列
(1)数组求最值:一组数求最大值
- 定义数组
- 定义最大值变量,存第一个数组元素
- 遍历,判断
难点:遍历是从第二个元素开始的。
(2)数组反转
注:交换中间值,i和j下标怎么表示。
8、数组案例
(1)随机排名
1、方法概述
(1)方法格式
(2)求和方法
(3)小结:
2、方法定义的参数和返回值、方法调用形式
(1)无参数无返回值
(2)方法的调用形式
3、方法案例
(1)1-n的和
需要参数,并需要返回值
(2)判断一个数是奇数还是偶数
需要传入参数,不需要返回结果(具体的数值)
(3)小结
4、方法在计算机的执行原理
5、java的方法参数传递
(1)基本类型的参数传递-值传递
栈内存:在main方法中a变量的值一直没有变。
(2)引用类型的参数传递
- 数组变量
- 调用方法-传参
- 输出数组变量的索引值
堆内存:数组的元素发生了变化。
6、java方法参数传递的案例
(1)输出数组的格式
(2)判断两个数组是否相同
在定义方法时,return执行后后面的代码就不执行了
7、方法重载,return关键字
(1)方法重载
(2)return的用法
- return当返回值值,不能再void方法中出现
- return用于控制程序流程时,可以在void方法中出现(直接结束跳出方法)
1、买飞机票
小结:
2、生成验证码
给类的成员变量赋值步骤:
1、创建对象s1
2、传入构造器参数或直接使用s1.name方式
1、面向对象基础-入门程序
(1)、使用对象、变量还是数组
变量:只存一个数据
数组:存一组相同类型的数据
对象:存一组有关联的数据,如图:
(2)快速入门代码:求一个学生的平均成绩和总成绩
(3)对象本质是一种特殊的数据结构:相当于一张表
每次创建一个s1对象就当成创建一个Student类结构的表
(4)类称为对象的设计图(或者是表的模板)
2、面向对象基础:对象执行原理
(1)执行原理图
- 方法区:放置.class文件(包含main方法和其他方法)
- 栈内存:方法调用时放栈内存。
- 堆内存:存放创建的成员变量
(2)小结
每次new Student,就会在堆内存开辟一块内存区域代表一个学生对象。
s1变量存放的是学生对象的地址
(3)类与对象的注意事项
- 类名驼峰模式:Student
- 一个代码文件可以有多个类,但只能有一个public类
- 成员变量的书写:修饰符 数据类型 变量名=值;
3、面向对象基础:this关键字
(1)this的打印输出及执行原理
(2)this的应用场景:解决变量名称冲突
(3)this小结
4、面向对象基础:构造器
创建对象时直接对对象的成员变量进行初始化赋值
(1)构造器的语法
Student类中创建有参和无参构造器
(2)构造器的特点
创建对象时,对象会去调用构造器
(3)构造器的应用场景
创建对象时直接对对象的成员变量进行初始化赋值。
5、面向对象基础:封装
(1)封装的案例(对成员变量进行保护)
隐藏score成员变量,设置合适的getScore方法来供外界访问