(一)什么是JDK?
JDK是java开发环境,它里面包含了运行环境jre,以及开发工具(调试器,解析器,javadoc等)
jre是JDK的一部分,jer也是java运行环境他里面包括了java虚拟机和类库,他们都是写好的程序运行时需要的运行环境。
1.jdk与jre的区别:
jdk是开发环境(开发程序所需要的环境)
包含开发工具和jre
开发工具有:编译器,调试器,javadoc等
jre是运行环境(程序运行所需要的环境)
包含jvm和类库
1、jvm在运行java程序
2、源文件(*.java)
3、通过调用编译器进行编译源文件,
编译成字节码文件(*.class)
4、jvm运行字节码文件
java语言的运行原理(图解):
java源文件扩展名(.java)
|
|--------编译过程(javac.exe)
|--------javac Demo.java
java字节码文件(.class)
|
|---开启jvm,运行字节码文件(千万不要写扩展名)
| java Demo
|
程序开始跑起来了
(三)java语言跨平台运行的原因
因为每个操作系统都对应一个jvm。
java语言的特性:跨平台(平台就是操作系统)
因为每个平台上都有自己版本的jvm,而任何版本的jvm都会执行*.class文件(二进制字节码文件)
(四)配置环境变量
在计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量
(1)新建一个环境变量名为:
JAVA HOME
变量值:C:\Program Files\Java\jdk1.8.0_121\bin
即一堆命令所在的bin的父目录
(2)新建一个环境变量名为:
CALSSPATH
变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
(3)找到系统变量开的path:追加值。
追加的内容如下:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
配置完我们需要检查是否配置成功:
打开命令提示符界面:
输入两个命令:
java -version
javac
不出现“不是内部或外部命令.........”,即配置成功。
进入命令提示符界面:
切换盘符:
直接输入D:
cd:表示切换目录(文件夹)
cd ..表示切换到父目录下
..父目录
.当前目录
如:从D:下进入1802里的day01里
cd 1802\day01
javac.exe:表示编译器对源文件进行编译成字节码文件
编译期间会检查原文件中的语法,
如果没错误,就会生成.class文件如果有错误,一定不会产生.class文件
编译期间出现语法错误,我们称之为编译错误
(四)java语言的注释
注释有三种:
(1)文档注释:
/**注释*/
(2)多行注释:
/*注释*/
(3)单行注释:
//注释
通常:文档注释用于解释类或方法
多行或单行注释用于解释方法内的逻辑
(五)
class是类的关键字,后面是class的名称
必须与文件名称一致。
首字母必须大写
紧跟着的{}称之为类体
固定语法:main方法,即主方法
作用:被启动程序,使jvm调用它,执行main里的逻辑。
(六)变量
1、什么是变量?
变量就是jvm在内存中开辟的一个很小的储存空间用于存储一个类型中的一个数据的,
程序通过操作变量名来操作存储空间,变量必须定义一种类型。
2、变量的命名规则
1、名称由字母,数字,_和$任意组成,数字不能开头
2、大小写敏感
3、可以使用汉字但是不建议使用
4、尽量做到驼峰命名法即见名知意
5、不能使用关键字(java保留字)
3、变量的使用规则:
1、必须先定义(声明,创建)和初始化(赋值)
2、变量可以重复使用,即可以进行多次存取操作,不需要强调类型,
但是存储数据类型时一定要与第一次声明时的类型匹配。
3、变量的作用域:变量有自己的使用范围。出了范围变量失效。
作用域:即从定义开始,到所在大括号的结束符号为止
出了作用域:想使用,需要重新定义和初始化。
java语言的特点,除了跨平台运行,还有一个特点,
叫强类型的特点:
就是变量必须在定义期间规定一个类型,
赋值时类型必须匹配。
(七)类型
1、java语言中共分两大类型:
1、基本数据类型-原始数据类型
2、引用数据类型
2、一共8种基本数据类型:
基本数据类型:8种
byte,short,int,long,double,float,char,boolean
整数类型:四种
byte,short,int,long
浮点型:
double,float,
字符类型:
char
布尔类型:
boolean
整数类型:
byte(不常用):也叫做字节类型,在内存中占八位二进制,
即在内存中占一个字节大小空间,是数据存储的最小单位。
0000 0000 0
0111 1111 127
1000 0000 -128
1000 0001 -127
1111 1111 -1
范围:-128~127
幂表示:-2^7~2^7-1
short(不常用):也叫短整型。在内存中占16位二进制,2字节大小。
0000 0000 0000 0000 0
0111 1111 1111 1111 32767
1000 0000 0000 0000 -32768
1111 1111 1111 1111 -1
范围:-32768~32768-1
幂表示:-2^15~2^15-1
int(常用)
也叫整形。在内存中占32位的二进制,4字节大小
范围:-2^31~2^31-1
幂表示:-2^31~2^31-1
long(常用):
也叫长整型。在内存中占64位二进制
8字节大小
范围:正负922亿亿左右
幂表示:-2^63~2^63-1
浮点数类型:两种(double,float)
float:在自内存中占4字节大小,32位二进制
范围:
-3.403E38~3.403E38
double:
在内存中占8字节大小,64位二进制
范围:
-1.79E308~1.79E308
字面量:默认类型为double类型,即64位浮点数类型
如果直接写32位的浮点数,需要在数值后添加F/f
比如:
double num = 3.14;
float num1 = 3.14;
前六中按范围大小排列:
精度从大到小排序:
long>int>double>fouble
再给变量赋值时,默认就是int类型的数,在内存中占32位二进制
再给byte和short类型的变量赋值时,直接写的整数值,只要没超出响应类型的范围,
就不会出现编译错误(语法错误)
直接写的整数值,叫字面量
未完待更新。。。。。。