JDK包含了开发工具和JRE,而JRE中又包含了Java基础类库和JVM。 其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机还需要类加载器,Java的基础类库等。如果只是Java程序,可以只安装JRE,而无需JDK,如果要开发Java程序,必须安装JDK。
可以参考其他大佬博文的详细解释,注意配置PATH环境变量
和CLASSPATH环境变量,在系统变量列表框中新建JAVA_HOME变量值,保证所添加路径与安装路径一致。
经过曲折的安装过程,我将自己踩过的坑,犯过的错误放在这里,并写下具体解决操作,希望这样可以给你们一些帮助。
这个错误和p2错误相同,典型的JDK未安装好,多半是环境变量路径设置有问题,需仔细检查CLASSPATH与PATH变量的路径是否与安装路径相同。若安装正确,则会出现下面两图。
版本安装完成
javac运行无误
以下是另一错误:
在创建JAVA文件时,一定要使public class 后跟的类名与文件名相同,否则运行时就会出现找不到文件的情况。
在cmd界面运行JAVA文件时,应先输入对应文件夹路径,然后输入javac 所运行文件名.java,未出现报错后则java 所运行文件名,可出运行结果,如下图步骤。
这是java文件保存时,若原文件有变动,一定要另存一个新文件。错误原因同上。
数据类型分为基本数据类型和引用数据类型。基本数据类型有8种,分别为byte,short,int,long,float,double,char,boolean;引用数据类型为string,字符串拼接任何数据类型,其结果就是一个字符串。
整型类型变量用来存储整数数据,即没有小数部分的值,在JAVA中整数类型分为4种不同类型:字节型(byte),短整型(short),整型(int)和长整型(long),所占存储空间大小和取值范围如表
类型名 | 占用空间 | 取值范围 |
---|---|---|
byte | 1个字节 | -27~27-1 |
short | 2个字节 | -215~215-1 |
int | 4个字节 | -231~231-1 |
long | 8个字节 | -263~263-1 |
在为long变量赋值时,所赋值的后面要加一个字母L或l,说明赋值为long类型,如果赋的值未超过取值范围,则可以省略字母L。
浮点型类型变量用来存储小数数值,在JAVA中,浮点数类型分为两种:单精度浮点数(float)和双精度浮点数(double)。double型所表示的浮点数比float型更精准,两种浮点数所占存储空间大小如表
类型名 | 占用空间 |
---|---|
float | 4个字节 |
double | 8个字节 |
字符类型变量用于存储一个单一字符,在JAVA中用char表示,JAVA中每一个char类型的字符变量都会占2个字符,给char赋值时要用一对半角格式单引号把字符括起来。单精度浮点数后面以F或f结尾,双精度浮点数以D或d结尾,也可以在结尾处不加后缀,虚拟机会默认double为双精度浮点数,浮点数常量还可以用指数形式表示。与C不同,JAVA采用Unicode字符集,Unicode字符以\u开头,空白字符Unicode码表中对应的值是’\u000’。
布尔类型变量用来存储布尔值,在java中用bolean表示,该变量只有两个值,即true和false。
注意:
1,Java 的 boolean 类型和 int 不能相互转换,不存在 1 表示 true, 0 表示 false 这样的用法。
2,boolean 类型有些 JVM 的实现是占 1 个字节,有些是占 1 个比特位,这个没有明确规定。
硬性指标:
一个变量名只能包含数字, 字母, 下划线。
数字不能开头。
变量名是大小写敏感的。即 num 和 Num 是两个不同的变量。
虽然语法上也允许使用中文/美元符($)命名变量,但是强烈不推荐这样做。
软性指标:
变量命名要具有描述性,见名知意。
变量名不宜使用拼音。
变量名的词性推荐使用名词。
变量命名推荐小驼峰命名法,当一个变量名由多个单词构成的时候,除了第一个单词之外,其他单词首字母都大写。
比较运算符也是双目运算符,用于关系表达式。比较运算符对两个操作数进行比较,并返回比较结果,比较结果的值为一个布尔值(true或false)。下表列出了Java语言支持的关系运算符,表中例子假设A和B不相等,并且其A小于B。
逻辑运算符连接两个关系表达式或布尔变量,用于解决多个关系表达式的组合判断问题,返回的运算结果为布尔值。下表列出了Java语言支持的逻辑运算符,表中假设布尔变量A为真,变量B为假。
有与运算(&),或运算(|),异或运算(^),非运算(!),短路与(&&),短路或(||)。
在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,通常把这种顺序称作运算符的优先级。接下来通过表2-11来展示Java中运算符的优先级,其中数字越小表示优先级越高。