java基础
day01 java入门
01、Java简介
Java是什么?Java是哪家公司哪一年研发的?哪一年被收购,现在属于哪家公司?Java之父是谁?Java能做什么,主要做什么?Java有哪三大使用平台?
02、JDK的介绍和安装
要使用Java,必须先安装什么?如何获取JDK,去哪里下载?JDK 是什么?LTS版本有哪些?很多企业还在使用哪个JDK版本?怎么打开命令行窗口?如何验证JDK是否安装成功了?JDK中最重要的2个命令程序是什么?各自的作用是啥?
03、常用命令
怎么切换到某个磁盘?怎么列出当前目录下的文件信息?怎么直接进入到某个目录下?怎么进入到当前下一级的某个目录?怎么退回到上一级?怎么退回到根路径?怎么清除命令行窗口的内容 ?
04、HelloWord入门程序
不用idea开发java程序步骤?怎么编译、运行java程序?
05、第一个程序的常见问题
怎么打开Windows系统中的文件扩展名?从JDK几开始,java程序可以直接运行HelloWorld.java?
06、程序的原理
Java程序最终是怎么执行的?机器语言是由什么组成的啊?
07、JDK的组成
JDK由哪三部分组成?JRE是什么?JVM是什么?
08、跨平台
Java语言的跨平台是什么含义?Java如何实现跨平台的?
09、环境变量
什么是Path环境变量?什么是JAVA_HOME?
10、IDEA的介绍,下载和安装
怎么安装idea?
11、idea创建程序的步骤
什么是IDE?什么是idea?IDEA管理Java程序的总体结构?怎么用idea创建一个程序?idea中的java程序是自动编译和执行的,那编译后的class文件在哪里?
12、主题,背景色,字体
怎么设置idea主题,背景色,字体?
13、快捷键
快速main函数、输出函数?复制当前行数据到下一行 ?删除所在行?格式化代码 ?上下移动当前代码?单行注释、多行注释?
14、idea的其他操作
打开工程? 关闭工程? 删除类文件? 修改类名称? 修改模块? 导入模块? 删除模块?
15、注释
单行注释、多行注释、文档注释?
16、注释拓展
怎么把注释内容提取到程序说明文档?
17、字面量
什么是字面量?字符用什么围起来?怎么输出tab空格?怎么输出换行?
18、变量的认识
变量定义格式?
19、变量
为什么要使用变量?
20、变量的注意事项
变量的有效范围?变量定义的时候可不可以不赋初始值,但在使用时,变量可不可以没有值?
21、标识符、关键字
什么是标识符、关键字?标识符命名规则是什么?
day02-数据类型,运算符
01、数据的存储原理:二进制
int a = 6;在计算机里怎么存放?十进制转换二进制的算法?怎么打开电脑的计算器?计算机中表示数据的最小单元,符号怎么写?字节中的每个二进制位是什么,完整符号怎么写,简称什么)?
02、文本和音视频在计算机中的存储
字符'0','A','a'的十进制表示?什么是美国信息交换标准编码?System.out.println('a');和System.out.println('a' + 1);的区别?字符数据在计算机中是怎么存的?
03、二进制转十进制,八进制,十六进制
怎么十进制数转十进制数,二进制数转十进制数?什么是8421码?八进制和十六进制有什么用?
二进制、八进制、十六进制的数据,分别以开头?
数据大小的单位换算是怎么样的?1B = ?b 、1KB = ?B 、1MB = ?KB 、1GB = ?MB、 1TB = ?GB
04、数据类型
数据类型的分类?基本数据类型:4大类8种有哪些?为什么float占4个字节却比long占8个字节存放的范围更大?随便写的整数、小数字面量,它们默认什么类型?引用数据类型有什么?
05、自动类型转换
为什么要自动类型转换?自动类型转换在计算机中的执行原理是什么?
//输出是什么?为什么?
char ch = 'b';
int it = ch;
System.out.println(ch);
System.out.println(it);
06、表达式的自动类型转换
表达式的自动类型转换排序?表达式的最终结果类型由表达式中的什么决定? 在表达式中,byte、short、char 是直接转换成什么类型参与运算的?
// 为什么报错
byte a1 = 11;
byte a2 = 12;
byte a3 = a1 + a2; // 报错
07、强制类型转换
为什么要强制类型转换?强制类型转换格式?强制类型转换造成溢出的底层原理?浮点型强转成整型原理?
08、基本的算术运算符
算数运算符有哪些?如果两个整数做除法,其结果一定是什么,为什么?+ 除了做基本数学运算,还有哪些功能?
09、拆分数字
数值拆分公式是什么?
10、自增自减
自增、自减运算只能操作什么?自增、自减运算符单独使用和非单独使用,放在变量前后有区别吗?
11、自增自减的案例
// 结果是多少
int c = 10;
int d = 5;
int rs3 = c++ + ++c - --d - ++d + 1 + c--;
System.out.println(rs3);
System.out.println(c);
System.out.println(d);
12、赋值运算符、扩展的赋值运算符
什么是赋值运算符?a += b的底层代码是什么?
13、关系运算符
什么是关系运算符?
14、逻辑运算符
逻辑运算符有哪些?逻辑异或? 短路与、 短路或?
15、三元运算符
三元运算符格式?三元运算符执行原理?运算符优先级排序?&&和||谁优先?
16、扫描器
API是什么?API文档是什么,怎么下载?Java程序中如何实现接收用户键盘输入的数据?
day03-程序流程控制
01、程序流程控制
02、if分支结构
03、switch
04、switch的穿透性
05、for循环的概述
06、for循环案例
07、水仙花数
08、while循环
09、while系例:珠穆朗玛峰
10、do-while循环
11、死循环
12、循环的嵌套
13、break、continue
14、Random生成随机数
15、Random的案例
day04-数组
01、认识数组
使用数组的好处?
02、数组的定义
怎么静态初始化数组,完整格式,简化格式?“数据类型[] 数组名”也可写成?
数组是属于什么类型,数组变量名中存储的是什么?
除了8种基本数据类型,其他的全部都是什么数据类型?
怎么数组的动态初始化?
03、数组的访问
数组访问的格式?怎么输出数组的长度?数组的最大索引可以怎么表示?
04、数组的遍历
什么是遍历?如何遍历数组?
05、数组的案例
06、动态初始化数组
07、数组的动态初始化案例
08、程序的执行原理
09、多个变量指向同一个数组对象
10、数组案例:求最值
11、数组交换
12、随机排名
13、debug
day05-方法
01、方法的定义格式
02、方法的其他定义形式
03、方法定义时的注意事项
04、求1-n的和
05、求奇偶数
06、方法的执行原理
07、基本类型的参数传递机制
08、引用类型的参数传递机制
09、数组传递的案例1:打印数组内容
10、判断两个整型数组的内容是否一样
11、方法重载
12、return关键字
day06-编程思维训练
01、编程案例
02、买飞机票
03、验证码
04、评委打分
05、加密程序
06、数组拷贝
07、抢红包
08、找素数
09、找素数2
day07-面向对象编程
01、面向对象快速入门
02、深刻认识面向对象
03、对象在计算机中的执行原理
04、类和对象的一些注意事项
05、this关键字
06、构造器
07、封装
08、实体类
09、综合案例
day08-api
01、常用API说明
02、包
03、String的概述
04、String的常用方法
05、String的注意事项
06、String的案例登录
07、验证码
08、ArrayList集合的常用方法
09、ArrayList集合的应用案例
10、ArrayList的案例
day09-atm
01、ATM项目介绍
02、系统架构搭建、欢迎页面设计
03、开户功能
04、开户功能-生成新卡号
05、用户登录
06、登录后的操作页展示、查询账户、退出
07、存款、取款
08、转账
09、销户操作
10、密码修改
java进阶
day10-面向对象进阶(一)
01、课程总体介绍
02、课程总体说明
03、static关键字
04、static修饰成员变量的应用场景
05、static修饰方法
06、static修饰方法的区别
07、static修饰成员变量的注意事项
08、代码块
09、单例设计模式
10、懒汉式单例
11、继承的概述
12、继承的好处
day11-面向对象进阶(二)
01、多态概述
02、多态下的好处和存在的问题
03、多态下的类型转换问题
04、final关键字
05、常量详解
06、抽象类
07、抽象类的场景
08、模板方法设计模式
09、接口的认识
10、接口的好处
11、接口的综合案例
12、接口的多继承
13、接口新增的三种方法
14、接口的注意事项
day12-面向对象高级部分:匿名内部类,泛型,枚举
01、内部类-成员内部类
02、内部类-静态内部类
03、内部类-局部内部类
04、匿名内部类的认识
05、匿名内部类的使用场景
06、匿名内部类的拓展
07、认识枚举
08、枚举的场景
09、认识泛型
10、泛型类
11、泛型接口
12、泛型方法、通配符
13、APl
14、Object
15、Objects类
16、包装类
day13-常用API
01、StringBuilder
02、StringBuilder的案例
03、Stringjoiner
04、System、Runtime、Math
05、BigDecimal
06、LocalDate、LocalTime、LocalDateTime
06、Zonedld、ZonedDateTime
07、Instant
08、DateTimeFormatter
09、Duration、Period
10、高考时间
day14-常用API(二):Lambda、方法引用详解
01、Arrays类的方法
02、Arrays的排序
03、Lambda表达式简化函数式接口
04、Lambda简化代码
05、Lambda的省略规则
06、方法引用-静态方法引用
07、方法引用-实例方法引用
08、方法引用:特定类型方法的引用
09、方法引用:构造器引用
10、算法:冒泡排序
11、选择排序
12、二分查找
13、正则表达式
14、正则表达式书写规则
15、正则表达式的案例
16、正则爬取内容
17、正则爬取内容
18、搜索 分割
day15-异常、Collection
01、认识异常
02、异常的作用
03、自定义异常
04、异常的处理
05、集合体系架构
06、Collection的方法
07、迭代器遍历集合
08、增强for遍历
09、Lambda遍历
10、遍历对象
11、遍历的区别
12、List系列集合的特点,特有方法,遍历方式
13、ArrayList集合的原理
14、ArrayList的源码
15、LinkedList
16、手写链表
17、Set集合的概述
18、对象的哈希值
19、HashSet集合
20、树.mp4
21、Hashset集合去重复的机制
22、LinkedHashset
23、TreeSet
day16-Collections、Map
01、可变参数
02、Collections工具类
03、斗地主游戏
04、斗地主游戏
05、对牌排序
06、Map集合的概述
07、Map集合的常用方法
08、Map集合的遍历方式:键找值
09、Map集合的遍历方式二:键值对
10、Map集合的遍历方式三:Lambda
11、Map集合的案例
12、HashMap
13、LinkedHashMap
14、TreeMap
15.集合嵌套
day17-Stream、File、方法递归
01、Stream流
02、集合获取Stream流
03、Stream流的常用方法
04、Stream流的终结方法
05、File和IO概述
06、File创建文件对象
07、File的判断方法
08、File的创建和删除
09、File的遍历
10、方法递归
11、递归算法
12、递归问题
13、文件搜索
14、字符集
15、字符集
16、字符集的编码和解码
day18-字符集、I0流(一)
01、10流的概述
02、字节流
03、字节流每次读取多个字节
04、字节流每次读取完全部字节
05、字节输出流
06、字节流复制文件
07、资源关闭的方式
day19-10(二)
01、字符流
02、字符输出流
03、字节缓存流
04、缓存字符输出流
05、出师表案例
06、缓冲冲流,字节流性能分析
07、不同编码读取乱码的问题
08、字符输入转换流
09、字符输出转换流
10、打印流
11、特殊数据流
12、序列化和反序列化
13、IO框架
14、复制文件夹
15、删除文件夹
16、啤酒问题
day20-特殊文件、日志技术
01、特殊文件和日志概述
02、Properties
03、案例
04、xml的创建
05、dom4j解析XML
06、dom4j解析案例
07、XML的创建
08、约束
09、日志概述
10、日志技术框架搭建
11、日志级别
day21-多线程
01、多线程创建方式一
02、多线程创建方式二
03、多线程创建方式三
04、线程的APl
05、线程安全问题
06、取钱案例
07、线程同步-同步代码块
08、线程同步-同步方法
09、线程同步-Lock锁
10、线程通信
11、线程池
12、线程池的创建方式
13、线程池处理Runnable任务
14、线程池处理Callable任务
15、线程池
16、比发井行
17、线程的生命周期
day22-网络编程
01、网络编程概述
02、网络通信三要素
03、|P地址
04、端口
05、协议
06、UDP通信
07、UDP多发多收
day23-Java高级技术
01、junit单元测试框架
02、Junit注解
03、反射第一步:Class对象
04、反射获取构造器对象
05、反射获取成员变量对象
06、反射获取方法对象
07、反射做通用框架
08、认识注解
09、元注解
10、解析注解