跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第二十五天:IO流
生活本就沉闷,但跑起来有风
狂神未更新,转动力节点(bilibili.com)
学习内容IO流的概述用于读写文件中的数据(可以读写文件,或网络中的数据)
I: input
O: output
IO流的分类
按照流向(以内存作为参照):
输出流:程序->文件
输入流:文件->程序
按照操作类型(数据读写方式):
字节流:可以操作所有类型的文件(这种流一次读写一个字节byte,等同于一次读写8个二进制。可以读写文本、图片、声音、视频等文件)
字符流:只能操作纯文本文件(这种流按照字节读取数据,一次读写一个字符,这种流是为了操作文本文件存在的)
IO流的体系结构
IO流类的命名规则
注意:只要类名以Stream结尾的都是字节流,以”Read/Write“结尾的都是字符流
四大家族的首领都是抽象类(j ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第二十四天:HashSet、TreeSet、自平衡二叉树
知识最大的敌人不是无知,而是错觉。
狂神未更新,转动力节点(bilibili.com)
学习内容HashSet集合特点:无序,不可重复
12345678910111213141516171819202122232425262728293031package com.joker_yue.javalearn.DataStruct;import java.util.HashSet;import java.util.Set;public class HashSetTest { public static void main(String[] args) { Set<String> str = new HashSet<>(); //添 ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第二十三天:泛型、自动推断机制、自定义泛型
“基础决定你未来的高度”
狂神未更新,转动力节点(bilibili.com)
学习内容泛型(相当于C++模板类,可以参照学习)不使用泛型之前(Java5),分析程序存在缺点
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package com.joker_yue.javalearn.DataStruct;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class GenericTest { public static void main( ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第二十二天:集合
“简单之至则为雅致。”
狂神未更新,转动力节点(bilibili.com)
学习内容什么是集合,有什么用?数组其实就是一个集合,集合实际上就是一个容器。可以用来容纳其他类型的数据
集合在实际开发中使用较多集合是一个容器,是一个载体,可以一次承载多个对象。在实际开发中,假设连接数据库,数据库中有10条记录,那么假设把这10条记录查询出来,在java程序中会将10条数据封装成10个java对象,然后10个Java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来
集合中储存什么集合不能直接储存基本数据类型,另外集合也不能直接存储Java对象,集合当中存储的都是Java对象的内存地址(或者说集合中存储的是引用)
不过有这样一条代码
1list.add(100);
看上去是存了一个int类型数据,实际上因为Java的 ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第二十一天:SimpleDateFormat类、System类
代码生成就跟喝酒一个样,适度就好
狂神未更新,转千锋教育 (bilibili.com)
学习内容SimpleDateFormat这是一个以与语言环境有关的方式来格式化和解析日期的具体类
进行格式化(日期->文本)、解析(文本->日期)
常用的时间模式字母:
字母
日期或时间
示例
y
年
2019
M
年中月份
08
d
月中天数
10
H
一天中小时数(0-23)
22
m
分钟
16
s
秒
59
S
毫秒
367
将日期转为字符串1SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日:HH::mm::ss");
表示将Date对象格式化成如上所示
1234 ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第二十天:Calendar类
吾日三省吾身:早上吃什么,中午吃什么,晚上吃什么
狂神未更新,转千锋教育 (bilibili.com)
学习内容Calendar
Calendar提供了获取或设置各种日历字段的方法
构造方法:
protected Calendar(): 由于修饰符是protected,所以无法直接创建对象
构造方法摘要
protected
Calendar() 构造一个带有默认时区和语言环境的 Calendar。
protected
Calendar(TimeZone zone, Locale aLocale) 构造一个带有指定时区和语言环境的 Calendar。
获取时间1234567891011121314151617181920212223242526272829package com. ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第十九天:Date类
我就是洗衣机里某件衣服口袋里的餐巾纸,你们把我卷烂了大家都没好果子吃
狂神未更新,转千锋教育 (bilibili.com)
学习内容Date
Date表示特定的瞬间,精确到毫秒,Date类中的发部分方法都已经被Calendar类中的方法所取代时间单位
1秒=1000毫秒
1毫秒=1000微秒
1微妙=1000纳秒
在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。
尽管 Date 类打算反映协调世界时 ( ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第十八天:BigDecimal
哪一场战不难打,越难打,越要打
狂神未更新,转千锋教育 (bilibili.com)
学习内容引入
思考:以下程序的输出结果是多少
123456789package com.joker_yue.javalearn.bigDecimal;public class BigDecimal { public static void main(String[] args) { double d1= 1.0; double d2= 0.9; System.out.println(d1-d2); }}
上述结果为
10.09999999999999998
我们再来试试这个
12345678910111213package com.joker_y ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第十七天:String类
加油,奥里给~!
狂神未更新,转千锋教育 (bilibili.com)
学习内容String
字符串是常量,创建之后不可改变
Java对字符串进行了保护,不能直接修改这块内存中字符串的值。我们要修改的话将会创建一块新的空间。
字符串字面值储存在字符串池中,可以共享
在JDK6.0及之前版本,字符串常量池是放在Perm Gen区(也就是方法区)中; 在JDK7.0版本,字符串常量池被移到了堆中了。至于为什么移到堆内,大概是由于方法区的内存空间太小了
12345678package com.joker_yue.javalearn.string;public class Demo01 { public static void main(String[] args) { String name ...
跟随狂神学Java
作者:joker2yue链接:https://github.com/Joker2Yue/Joker2Yue-Blog来源:Github著作权归原作者所有。商业转载请联系原作者获得授权,非商业转载请注明出处。
第十六天:Object类
那日云淡天高,我们正值年少
狂神未更新,转千锋教育 (bilibili.com)
学习内容Object类的概念
超类、基类,所有类的直接或间接父类,位于继承树的最顶层(也就是所有的类都会直接或间接继承这个类)
任何类,如果没有显式的指明extends继承某个类,都会默认继承Object类,否则为间接继承
Object类中所定义的方法,是所有对象都具备的方法
Object类型可以储存任何对象
作为参数,可接受任何对象
作为返回值,可返回任何对象
位于java.lang.Object包中
Object类中的一些方法getClass()方法
pubic final Class<?> getClass() {}
返回引用中储存的==实际对象类型==
应用:通常用于判断两个引用中实际 ...