JavaSE总结知识点 9天看完
- Day1
- Day2
- Day3
- Day4
- Day5
- Day6
- Day7
-
- 八、Stream流
- 九、IO流
-
- 1、Java 中 IO 流分为几种
- 2、既然有了字节流,为什么还要有字符流
- 3、BIO,NIO,AIO 有什么区别?
- 4、字节输出流 FileOutPutStream(File file // String name)
- 5、字节输入流 FileInputStream(File file // String name)
- 6、字符输出流 FileWriter
- 7、字符输入流 FileReader
- 8、缓冲流
- 9、字节缓冲输出流 BufferedOutStream(OutputStream out, int size)
- 10、字节缓冲输入流 BufferedInputStream(InputStream in, int size)
- 11、字符缓冲输出流 BufferedWriter(FileWriter out, int size) extends Writer
- 12、字符缓冲输入流 BufferedReader(FileReader in, int size) extends Reader
- 13、转换流
- 14、打印流 PrintStream(File file // OutputStream out // String fileName)
- 15、属性集
- 16、序列化
- Day8
- Day9
Day1
一、Java基础概述
1、常用DOS命令
-
d(e/f/g): 盘符切换
-
dir: 列出当前目录下的东西
-
md:创建目录
-
rd:删除目录
-
cd:改变指定目录
-
cd…:退回到上级
-
cd:退回到根目录
-
del:删除文件
-
exit:退出dos窗口
-
cls:清屏
2、Java发展史
-
詹姆斯高斯林,1990年发展出语言“Oak”,后改名为Java
-
Java Development Kit:
- 1.0.2
- 1.1.1 -> 1.1.6 -> 1.1.7 -> 1.1.8
- 1.2.1
-
Java 2 SDK
- 1.2.2
- 1.3.0 -> 1.3.1
- 1.4.0 -> 1.4.1 -> 1.4.2 -> 1.5.0(5.0) -> 1.6.0(6.0) -> 1.7.0(7.0)
- jdk8
3、Java语言特点
-
简单易学
-
面向对象(封装、继承、多态)
-
与平台无关——跨平台(Java虚拟机)
-
可靠、安全、结构中立、健壮
-
支持多线程(C++语言没有内置多线程机制,必须操作系统的多线程来进行线程程序设计,而Java语言提供了多线程支持)
-
支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的)
-
编译与解释并存
4、JVM、JRE、JDK
-
JVM——Java Virtual Machine——Java虚拟机:运行Java字节码的虚拟机
-
JRE——Java Runtime Environment——Java运行环境:包括JVM和一些核心库
-
JDK——Java Development Kit——Java开发工具包:供开发人员使用,包括了JRE
5、Java和C++的区别
-
都是面向对象的语言,都支持封装、继承和多态
-
Java不提供指针来直接访问内存,程序内存更加安全
-
Java的类是单继承的,C++支持多重继承
-
Java的类不可以多继承,接口可以多继承
-
Java有自动内存管理垃圾回收机制(GC),不需要程序员手动释放无用内存
-
在C语言中,字符串或字符数组最后都会有一个额外的字符’\0’来表示结束
-
Java语言中没有结束符这一概念,可参考:java与C语言在字符串结束符上的区别
6、import java和javax的区别
-
开始:JavaAPI所必需的包是java开头的包,javax当时只是扩展API包来使用
-
后来:javax逐渐地扩展成为Java API的组成部分
-
最终:javax包将成为标准API的一部分
7、Java编译与解释并存
-
高级编程语言按执行方式分为编译型与解释型
- 编译型:编译器一次性翻译成机器码(等翻译人员一次性翻完后再阅读)
- 解释型:编译器逐行地翻译成机器码(在翻译人员一边翻译就一遍阅读)
-
Java具有两种特征,因此先编译生成*.class文件,后解释成机器码执行
8、Java的加载与执行的理解
-
java代码这种普通文本被称为:java源代码
- 文件扩展名必须是:xxx.java
- 源代码不能直接执行,需要先进行编译,生成源代码对应的“字节码”
- 1个java源文件是可以编译生成多个class文件的
-
编译生成的字节码文件扩展名是:xxx.class
- 字节码文件不是二进制文件,如果是二进制的话,就不需要JVM了
- 只留下字节码可以执行
- JVM将字节码文件解释为二进制码
二、Java基础语法
1、字符型常量和字符串常量的区别
-
形式上:字符型是单引号的一个;字符串是双引号的0个或若干个
-
含义上:字符型相当于整型值,可以参加表达式运算;字符串代表一个地址值(字符串在内存中存放的位置)
-
内存:字符型只占2个字节;字符串占若干个字节(注:char在Java中占2个字节)
字符封装类Character的成员常量Character.SIZE值为16,单位是bits,即得到2个字节
- Java里使用long类型的数据一定要在数值后面加上L,否则将作为整型解析
2、标识符和关键字
对于程序、类、变量、方法等的名字就是标识符,具有特殊含义的标识符就是关键字
- 关键字
- 组成关键字的字母全部小写
- goto和const作为保留字存在,目前并不使用
- 标识符
- 英文大小写字母、数字字符、$和_
- 不能以数字开头、不能是Java中的关键字、区分大小写
3、数据类型的转换
-
boolean类型不能转换为其他的数据类型
-
默认转换:小容量向大容量转换