前言:这个系列的文章是自己学习Java基础时的笔记,记录下学习历程。
一、面试时表达能力和技术各占50%。
二、多学多练,注重动手能力
三、Java概述
1.创始人 James.Gosling
2.重要的版本 Java 5.0\8.0\11.0
四、跨平台原理
1.原理:Java源程序经过编译生成字节码文件,字节码文件是运行在JVM环境下的,同一个源程序要在不同平台运行,只需要在相应平台下的JVM里运行即可。
2.Java源程序(.java)文件不能直接运行,需要由编译器(javac.exe)将源文件(.java)编译成字节码文件(.class),然后JVM运行字节码文件。
3.JVM底层原理? 待定
4.什么是JVM? JVM:Java Virtual Machine 即Java虚拟机。
五、JRE\JDK\JVM关系
1.JDK:Java Development Kit Java开发工具包,,包含JRE和开发人员使用的工具:编译工具(javac.exe)和运行工具(java.exe)等命令。
2.JRE:Java Runtime Environment Java运行环境,包含JVM和核心类库
3.JVM:虚拟机
4.结论:JDK>JRE>JVM
六、安装JDK
1.一台电脑同时装多个JDK会有什么情况? 可以安装多个JDK,只需修改JAVA_HOME的路径即可
七、第一个程序
1.常用DOS命令:
进入到某个盘 盘符:
查看当前目录文件 dir
进入当前目录下的子目录 cd
返回上级目录 cd…
进入目录3 cd 1\2\3
返回盘符目录 cd
清屏 cls
退出 exit
2.命令区分大小写么? 命令、目录不区分大小写。windows不可以创建字母相同,大小写不同的文件夹。
3.之后讲到HelloWorld程序。注意各个符号要英文字符。
八、环境变量配置
1.为什么要配置环境变量?
为了要在任何目录下都可以用java.exe和javac.exe等命令
2.为什么是JAVA_HOME变量?其他的名字可以吗?大小写区分么?
后期用到,必须是JAVA_HOME
3.PATH环境变量中%作用?
%%中间的JAVA_HOME等价于JAVA_HOME的值(此处为为他的安装目录)
4.PATH原理
DOS窗口输入java,现在当前目录搜索,没有的话就到path下的目录中找
5.配置完环境变量为什么要重新启动DOS命令窗口?
当前的DOS窗口是在修改前的环境变量打开的,并不是实时反馈
6.JAVA_HOME不能直接配置到bin目录吗?
可以,但是JAVA_HOME这个名字后期要用到
九、Hello World程序入门
1.后面跟的是类名还是文件名?
结论:javac后跟的是文件名,java后跟的是类名
解释:javac属于编译命令,编译的是源程序文件,所以javac后需要源程序文件名。(.java)源程序中有多少个类就编译生成多少个(.class)文件。(.java)是运行命令,运行的是字节码(.class)文件,所以java后跟的是类名。
2.println\print都是什么意思?
前者输出换行
3.类名与文件名需要一致的问题?
1. 有public修饰的类,文件名需要与类名一致。
2. 一个文件中,public修饰的类只能有一个,类可以有多个
3. 一个文件有多个类,javac后生成多个.class文件。
public为修饰符,去掉后文件名与类名可以不一致。深入理解修饰符public
4.可以有多个类么?
可以
十、注释
注释规则
// 单行注释
/*
多行注释
多行注释
*/
注:不能嵌套,就近匹配。
/*
/*
错误
*/
*/
/**
文档注释
*/
十一、 关键字
- 全部小写
- 常用代码编辑器,关键色有特殊颜色
十二、 常量
1.分类:字符串、整数、小数、字符、布尔、空
2.空常量不能直接输出?
NULL不能直接输出
3.字符可以是字符串,字符串不能是字符?
可以这么理解,但是不是同一种类型,严格意义上这种说话不严谨
4.常量优化和自动类型转换?
常量优化发生在运算时,自动类型转换发生在赋值时
十三、 数据类型
1.四种八类:
整数型:byte short int long
浮点型:float double
字符型:char
布尔型:true false
2.byte的取值范围为什么是-128~127
1000 0000就是-128
3.为什么浮点型内存小,范围很大?
有位数表示科学记数法
十四、 变量
1.本质:是内存中的一块区域
2.变量的使用:取用和修改
3.变量修改时发生了什么?
修改内容区域中的数据