Java基础知识
Day01
--java语言
--环境变量配置(临时配置_ classpath)
Day02
--java语言基础_1
--关键字,标识符,常量,进制,字符类型运算
--算数运算符,赋值运算符
面试题目
short s=3;赋值运算,3是整数,4个字节,s是2个字节,转换动作。
s+=4;一次赋值运算,进行自动转换
s=s+4;两次运算,
一个编译失败,一个编译成功。
s+=4;在底层中做了强制转化动作,做了类型提升
s=(short)(s+4);
Day03
--java语言基础_2
--比较运算符,逻辑运算符
--位运算符,三元运算符,if格式(3种)
--局部代码块
--if练习(星期,季节)
--switch语句,do while语句,for语句
--while联系(累加思想,计数器思想)
--循环语句场景
知识点:
1,加密运算:一个数异或同一个数两次,还是原来的数。(用于加密)
2,左移几次其实就是该数据乘以2的几次方。
右移几次其实就是除以2的几次幂;对于高位出现的空位,原来高位是 什么,就用什么补这个空位
>>>无符号右移,空位置统一用0补充
3,比较运算符,运算玩的结果必须true或者false;
4,
对一个整数的最后一个字节,高四位和低四位进行换位。
int num = 0101-1100 & 255;
1100-0101
61 = 0011-1101
1101-0011 = 211
*/
int num = 61;
int n1 = num & 15;//低四位
int n2 = num & (15<<4);//高四位
int n = n1<<4 | n2>>>4;
5,
{//局部代码块可以定义局部变量的生命周期。
int a = 3;
//a 的运算。
System.out.println(a+4);
}
6,
if和switch的应用:
if:
1,对具体的值进行判断。
2,对区间判断。
3,对运算结果是boolean类型的表达式进行判断。
switch:
1,对具体的值进行判断。
2,值的个数通常是固定的。
对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存。
效率相对高一点。
7,
do while语句的特点:无论条件是否满足,循环体至少执行一次。
面试题目
1,
&&:
和&的运算结果是一样的。但是运算过程有点小区别
&:无论左边的结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运算的
同理 ||
2,
快速实现乘法运算,位移
3,快速交换2个数
3种方式
方式一:常用的阅读性强
int c ;
c = a;
a = b;
b = c;
方式二:一般别用,如果数值过大,容易超出int范围,导致强制类型转换
a = a + b; //a = 3 + 5;a = 8;
b = a - b; //3+5-5 = 3;b = 3;
a = a - b; //3+5-3 = 5;a = 5;
方式三:异或运算实现(面试的时候用)
a = a ^ b; //a = 3 ^ 5;
b = a ^ b; //b = (3^5)^5; b = 3;
a = a ^ b; //a = (3^5)^3; a = 5;
Day04
--java语言基础_3
--for循环嵌套
--break & continue
--函数
--定义,格式,细节
--两个细节
--内存加载,重载
--数组
--概括,定义,内存空间的划分
--栈内存&堆内存
--内存图解,常见问题
知识点:
1,
\n:回车:
\t:制表符。
\b:退格。
\r: 按下回车键。
windows系统中回车符其实是由两个符号组成的 \r\n.
linux中回车符是 \n.
2,
Break:当break单独存在时,下面不要跟语句,因为执行不到
Day05
--java基础_数组
--数组第二种定义格式
--常见操作,遍历,最值,选择排序,
冒泡排序,位置替换
性能分析,查找,折半查找
--进制转换,查表法,整合
Day06
--二维数组
--定义及应用
--面向对象_1
--概括,举例
--类和对象的体现
--成员变量和局部变量,匿名对象
--基本数据类型参数传递,引用数据类型参数传递
--封装的代码及思想
Day07
--面向对象_2
--构造函数,概括,默认构造函数,重载,内存
--this关键字,使用及应用
--static关键字,数据共享,特点,成员变量和静态变量,
Main函数,静态代码块,构造代码块
Day08
--面向对象_3
--数组工具类,对象建立,文档注释,静态的使用
--继承
--概述,单继承和多继承
--子父类中成员函数的特点,覆盖
Day09
--继承
--子类的实例化
--面向对象
--final关键字
--抽象类
--接口interface,implements
--接口的多实现,细节,和抽象类的区别
Day10
--面向对象
--接口的应用
--多态,概述,好处,弊端,转型,类型判断(instanceof)
成员变量,成员函数,静态函数
--内部类,概述,修饰符,细节,局部内部类
--匿名内部类,概述,应用,细节
--对象的初始化过程
Day11
--面向对象
--异常,概述,体系,原理,抛出(throw,thorows,try_catch)
Finally代码块,应用
--object
--equals方法,hashcode方法,getclass方法,toString方法
Day12
--面向对象
--包,导入import,jar包,
--练习
--多线程
--概述,示例,继承thread,图解
Day13
--多线程
--第二种runnabale接口
--卖票
--线程安全
--同步代码块,好处,弊端,验证,锁,死锁
Day14
--多线程
--线程通信,等待唤醒机制,多生产者多消费者问题
--wait和sleep
--停止线程的方式,定义标记,interrupt
--守护线程,setdaemon,join
--面试题
Day15
--常见API
--string类,特点,构造函数,常见功能
获取,转换,判断,比较
--intern方法
--字符串数组排序
--子串的次数,最大子串,去除两端空白
--stringbuffer类,特点,插入,删除,查找,修改,
--可变长度数组
--练习
Day16
--对象包装类
--概述,字符串转成,进制转换,自动装箱拆箱
--集合框架
--概述,体系,方法演示
--迭代器
--list和set
--listiterator接口
Day17
--集合框架
--vector集合
--linklist集合
--linklist集合练习(堆栈和队列)
--arraylist集合
--hashset集合
--哈希表
--linkedhashset集合
--treeset集合,comparator比较器,二叉树,字符串长度排序
Day18
--泛型
--概述,擦除和补偿,应用
--泛型限定,上限,下限,通配符,集合阅读技巧
--Map集合
--常用方法
--keyset,entryset
--values
--hashMap
--treeMap
Day19
--Map集合
--linkedhashmap,关联源码
--记录字母次数思路
--Map查表法
--集合框架工具类
--collections,排序,折半,最值,逆序,替换
--arrays方法,aslist
--foreach循环
--函数可变参数,静态导入
Day20
--其他API
--system类
--runtime类
--match类
--data类
--calendar类
--IO流
--输入流和输出流
--字节流和字符流
--字符流
--filewriter,filereader
Day21
--字符流
--复制文本
--缓冲区bufferwriter,bufferreader
--自定义mybufferreader,readline
--缓冲区抓实设计模式,和继承的区别
--lineNumberReader
--字节流
--复制MP3
Day22
--IO流
--演示键盘录入
--读取键盘录入
--转换流
--流的基本操作
--File对象
--获取,创建,删除,判断,重命名,过滤器
Day23
--File对象
--深度遍历,递归,删除
--Properties集合
--list方法,store方法,修改配置信息
- --文件清单列表
--打印流printstream,printwriter
--序列流sequenceinputstream,枚举和迭代
Day24
--文件切割和合并
--objectoutputstream对象序列化
--objectinputstream对象序列化
--序列化接口serializable
--关键字transient
--randomaccessfile写入,读取
--管道流pipedstream
--流对象datastream
--编码表
--编码解码问题
Day25
--GUI
--Frame演示
--事件监听
--actionlistener
--鼠标和键盘事件
--swing演示
--列出目录内容
--菜单
Day26
--网络编程
--网络模型概述
--网络要素,IP地址,端口,传输协议,
--InAddress
--域名解析
--UDP协议,发送端,接收端,聊天程序
--TCP协议,客户端,服务端,交互,文本转换客户端,上传文本文档
Day27
--网络编程
--TCP,上传图片客户端,上传图片服务端,服务端多线程技术
--客户端和服务端原理
--模拟浏览器获取信息
--URL&URLConnection
--常见网络结构
Day28
--反射机制
--概述,应用
--细节,获取class对象的三种方法
--获取class的构造函数
--反射练习
--正则表达式
--概述,规则
--常见功能,匹配,切割,替换,获取
--练习
--网络爬虫
Day29
--HTML
--概述,操作思想
--常用工具
--列表,图像,表格,标签,超链接,矿建,画中画,
--表单input,selec,textarea
--GET和HOST
--服务端和客户端校验
--标签的分类
Day30
--CSS
--概述,和html结合
--基本选择器
--关联选择器和组合选择器
--伪元素
--css样式
--盒子模式
--布局,漂浮,定位,图文混排,图像签名