目录
JVM JRE JDK:
JVM:Java虚拟机是核心
JRE:Java运行时环境 JRE=JVM+核心类库
JDK:Java开发功工具包 JDK=JRE+开发工具
JDK的安装包
Oracle官网下载
区分操作系统
版本号:8 1.8
已下载的安装包
JDK1.0-JDK1.1-JDK1.2
J2SE:基础版 ,标准版,Java基础
J2ME:移动端的版本
J2EE:企业版
JDK安装
检查当前环境知否安装好JDK
cmd窗口
java -version:查看版本号
如果显示版本号,表示安装成功
配置环境变量
环境变量新建JAVA_HOME,内容为jdk的路径
配置Path:
编辑
新建
%JAVA_HOME%\bin
入门案例
HelloWorld
1、新建文本文档 文件名为HelloWorld 改后缀为.java
2、定义一个类
格式:
class 类名{}
例如:
class HelloWorld{}
3、类中定义main方法-主方法 主函数
程序的入口
格式:
public static void main(String[] args){} //主函数-main函数
4、在main方法中写输出语句
System.out.println(" HelloWorld");
5、完整代码
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
执行程序
编译
格式:
javac 文件名(加.java后缀)
例如:javac HelloWorld.java
注意:如果程序修改,则一定要重新编译再运行
运行
基于已经生成的class文件来执行程序
格式:
java 类名
例如:
java HelloWorld
注意:
1、文件名和类名可以不一致
编译之后的字节码文件的文件名和类名保持一致
2、一个.java文件中可以包含多个类
编译之后每个类都会生成一个对应的class文件
3、如何让文件名和类名必须一致
在定义类时,加public修饰
常见问题
1、Java严格区分大小写
2、拼写错误
3、符号:所有符号都应为英文半角符
4、细心
5、如果类中没有定义main 编译不会报错,运行会报错
关键字
概念:被Java赋予了特定含义的单词
例如:class ----定义类
public----权限修饰符 公共
break | ||||
case | const | |||
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
注意:
1、一般来说,关键字都是小写的
2、如果后期使用开发工具 如idea,对关键字会有特殊标识
3、特殊的关键字 例如 const/goto 又称为保留字
标识符
概念:给类、方法、变量起名字的字符序列
组成规则:
1、英文大小写字母 中文汉字
2、数字
3、$ _
除了以上三条规则中包含的字符 其他字符都不能用于标识符
注意:
1.Java严格区分大小写,Windows不严格区分大小写
2.标识符不能和关键字冲突
3.不建议使用中文汉字
4.数字不能开头也不能单独使用
5.$ _有特殊的使用场景,一般不建议随意使用
组成规范:
建议遵守,但是不遵守,编译运行也不会有问题
1*见名知意:提高程序的可读性
例如:User Student
2*驼峰命名
例如:CarServiceImpl
大驼峰:每一个单词的首字母都要大写
类名\接口名\
小驼峰:第一个单词小写,从第二个首字母要大写
方法名addUser
变量maxValue
注释
概念:
解释说明程序
特点:
只用于说明程序,不会影响程序的正常编译和运行
格式:
//行注释
/*内容*/ 块注释
/** 内容*/ 文档注释
文档注释:
可以通过javadoc将文档注释中的内容提取成说明文档
类必须被public修饰
文档注释一般用在类上,属性上,方式上
执行提取文档的命令:
javadoc -d mydoc(放到mydoc文件,如没有则新建) HelloWorld.java(要提取的文件名);
注意:
1*行注释可以嵌套
2*块注释不能嵌套
作用:
调试代码
建议大家多写注释 可以提高程序的可读性
进制
概念: 计数时进位的机制
常见: 二进制: 满二进一 0 1 10(2) 11(3)
十进制: 满十进一 0-9 11 12 13
八进制 满八进一 0-7 10(8) 11(9)
十六进制 0-9 a-f a(10) f(15) 10(16) 11(17)
进制的转换:
二进制和十进制
十进制->二进制
除二取余
总结:十进制数除2取余,直到商为0,将余数倒叙排列为二进制数
二进制->十进制
二进制的每一位上的数字乘以2的相应的幂次并求和,就得到十进制数
幂次:最低位0
最高位:位数-1
二进制->八进制
从最低位开始,三位为一组,如果不够三位左侧补0,将每一组的二进制都转为0-7的数字都转为0-7的数字,从左向右组合即为八进制数
八进制->二进制
将八进制每一位上的数组拆分为三位二进制数,如果不足三位左侧补0,从左向右组合即为二进制数
二进制和十进制简化方案
2的幂次
二进制->十进制
11100001=2^7+2^6+2^5+2^=128+64+32+1=225
十进制->二进制
65=64+1=2^6+2^0=1000001
11=8+2+1=2^3+2^1+2^0=1011
计算机中数据的表现形式
计算机底层只认识二进制,计算机中的数据例如十进制数,字符,图片,视频,音频,最终都需要转换为二进制数进行存储和计算.
二进制单位: bit:比特位/二进制位 一位二进制
byte:字节 1byte=8bit
KB: 1KB=1024byte
MB: 1MB=1024KB
GB: 1GB=1024MB
TB: 1TB=1024GB
PB: 1PB=1024TB
字符如何存储?---码表
ASCLL码表
常用的英文大小写字母及计算机符号进行映射
e-127指定了128字符的映射规则
a--------97
A-------65
数字字符编号和数字本身不一样
占用一个字节开存储一个字符
GB2312
兼容ASCLL码表
加入了常用的中文汉字
占用两个字节来存储一个字符
GBK
兼容ASCLL码表
加入了更多的中文汉字
占用两个字节来存储一个字符
unicode编码规则
只指定了字符的映射关系,没有指定存储的大小
兼容ASCLL码表
几乎涵盖了全世界的字符
utf-16/utf-32
基于unicode编码规则来实现
utf-16占用2个字节来表示一个字符
utf-32占用4个字符来表示一个字符
utf-8
基于unicode编码规则来实现
通过变长的字节来存储字符
常用的字符 占用1个字节
一般常用的字符 占用2个字节
不太常用的字符 占用3个字节
很少用到的字符 占用4个字节
注意:在utf-8中,一个中文汉字占3个字节
总结:
1*Java环境的安装配置
2*执行Java程序的流程
3*关键字 标识符 注释
4*进制
5*码表
码表的作用
常见的码表
ASCll GBK UTF-8