大家好,我是xiaoxie,希望你看完之后对你能有所帮助,不足之处,请批评指正!
希望可以和大家一起交流学习进步!
我们刚开始学习Java时首先要做的第一步准备的就是运行Java的工具,我们第一步先要从IDEA
中选择合适的Java的开发 集合环境的版本,这里的版本一般是你的老师平时教你时用什么版本,你就用什么版本。随后再下载好Java的开发工具包JDK 这里一般推荐下载比较稳定的JDK8或者是JDK17
我们首先配置JAVA_HOME环境变量,值为JDK的安装目录,首先我们打开电脑的设置后点击高级系统设置如图:
打开系统变量底下的新建
之后在变量名输入JAVA_HOME注意不要加任何符号,空格也不行,变量值为你安装JDK后的地址
配置Path
, 需要注意Path
路径一般是存在的,只需要追加即可。这里使用%JAVA_HOME%
的意思是直接引用上面配置的JAVA_HOME
的值,这样的好处在于,如果Java安装目录发生变话,主需要修改JAVA_HOME
的值,不用再修改Path
变量的值。
也是一样的和第一步一样的步骤
打开系统 -> 高级系统 -> 环境变量 ->系统变量 ->找到系统变量 ->找到path路径 -> 新建输入%JAVA_HOME%\bin也是一样不能加任何符号
配置CLASSPATH
也是一样的和第一步一样的步骤
打开系统 -> 高级系统 -> 环境变量 ->系统变量 ->找到系统变量 -> 新建 -> 变量名CLASSPATH ->变量值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
注意.;以及所有的都不加空格
完成前面三步后我们就可以验证一下JDK的环境变量是否成功
java -version
命令如果输出如下图,表示安装配置成功,否则需要检查安装和配置是否正确。
JDK:JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
JRE:
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,由太阳微系统所研发,JRE可以让计算机系统运行Java应用程序(Java Application)。
JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。
JVM:
JVM即Java虚拟机,是一种抽象计算机,它有一个指令集,在运行时操作各种内存区域。
而它们三者的关系为下图
标识符不可以使用数字,关键字开头,并且大小写也要严格区分。
abstract |
assert |
boolean |
break |
byte |
case |
catch |
char |
class |
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 |
关键字 |
含义 |
abstract |
表明类或者成员方法具有抽象属性 |
assert |
断言,用来进行程序调试 |
boolean |
基本数据类型之一,声明布尔类型的关键字 |
break |
提前跳出一个块 |
byte |
基本数据类型之一,字节类型 |
case |
用在switch语句之中,表示其中的一个分支 |
catch |
用在异常处理中,用来捕捉异常 |
char |
基本数据类型之一,字符类型 |
class |
声明一个类 |
const |
保留关键字,没有具体含义 |
continue |
回到一个块的开始处 |
default |
默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
do |
用在do-while循环结构中 |
double |
基本数据类型之一,双精度浮点数类型 |
else |
用在条件语句中,表明当条件不成立时的分支 |
enum |
枚举 |
extends |
表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
final |
用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally |
用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float |
基本数据类型之一,单精度浮点数类型 |
for |
一种循环结构的引导词 |
goto |
保留关键字,没有具体含义 |
if |
条件语句的引导词 |
implements |
表明一个类实现了给定的接口 |
import |
表明要访问指定的类或包 |
instanceof |
用来测试一个对象是否是指定类型的实例对象 |
int |
基本数据类型之一,整数类型 |
interface |
接口 |
long |
基本数据类型之一,长整数类型 |
native |
用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new |
用来创建新实例对象 |
package |
包 |
private |
一种访问控制方式:私用模式 |
protected |
一种访问控制方式:保护模式 |
public |
一种访问控制方式:共用模式 |
return |
从成员方法中返回数据 |
short |
基本数据类型之一,短整数类型 |
static |
表明具有静态属性 |
strictfp |
用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
super |
表明当前对象的父类型的引用或者父类型的构造方法 |
switch |
分支语句结构的引导词 |
synchronized |
表明一段代码需要同步执行 |
this |
指向当前实例对象的引用 |
throw |
抛出一个异常 |
throws |
声明在当前定义的成员方法中所有需要抛出的异常 |
transient |
声明不用序列化的成员域 |
try |
尝试一个可能抛出异常的程序块 |
void |
声明当前成员方法没有返回值 |
volatile |
表明两个或者多个变量必须同步地发生变化 |
while |
用在循环结构中 |
用于数据类型的关键字有 boolean、byte、char、 double、 float、int、long、new、short、void、instanceof。
用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
class、 extends、 implements、interface、 package、import、throws。还有些关键字,如 future、 generic、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。
goto、const、null。它们不是关键字,而是文字。包含Java定义的值。和关键字一样,它们也不可以作为标识符使用。
使用最广泛的整数类型,占4个字节
int的包装类型为Integer
int的取值范围为 -2^31---(2^31)-1
用于处理文件和网络传输等字节级别的数据,占1个字节
byte的包装类型为Byte
byte的取值范围为 -128—127
可以用于节约内存空间的需求,占2个字节
short的包装类型为Short
byte的取值范围为 -2^15----(2^15)-1
用于处理需要较大值的整数计算,占8个字节
long的包装类型为Long
long的取值范围为 -2^63--(2^63)-1
用于科学计算和需要高精度计算的场景,占4个字节
float的包装类型为Float
float的取值范围为 -2^31--(2^31)-1
使用最广泛的浮点数类型,占8个字节
double的包装类型为Double
double的取值范围为 -2^63--(2^63)-1
可以表示任何字符,占2个字节
char的包装类型为Charzcter
char的取值范围为 -2^15--(2^15)-1
是一种只能取两个值(true或false)的数据类型,它主要用于条件判断和布尔运算
boolean的包装类型为Boolean
boolean的取值范围为只能为true或者是falase
int a=10;
byte b=15;
b=a;
像上图,要把int类型的a赋值给byte类型的b,编译器会报错,不能把数据类型大的赋值给数据类型小的,如果是 a=b;那就可以。
假如你想强行把a赋值给b,可以通过强制类型转换,但一般不建议用,因为可能会造成数据泄露
int a=10;
byte b=15;
b=(byte)a;
int a=10;
byte b=15;
int c=a+b;
小于四个字节的数据会被提升成4个字节再运算
以上就是一些Java的最基础的知识了,博主本人也刚开始学习Java,所以有些不足之处,请多多谅解,让我们一起共同学习共同成长。