JDK的下载与环境变量的配置
JDK的下载
首先在官网找到JDK,然后根据电脑配置选择x64或者x32,然后一直next就可以了,不过重要的一点是记住存放的路径,因为后续环境配置需要复制这个路径。
为什么要配置环境变量
第一:JAVA_HOME环境变量,值为JDK的安装目录,为什么要这么配置能,主要是应为很多开源软件的依赖到这个变量,用于寻找机器上的Java环境,比如:Tomcat , Maven。
第二:Path变量值中追加Java命令的路径,道理很简单,就是希望能够在命令行中,直接使用JDK中提供的命令,比如:java, javac。
环境变量的配置
第一步:配置JAVA_HOME
第二步:配置Path
注意Path路径一般是存在的,通过追加即可。这里用%JAVA_HOME%(注意这里不要复制错误了不要多复制空格)的意思是直接引用上面配置的JAVA_HOME的值。重要!!部分Windows10的系统在重启之后%JAVA_HOME%\bin配置的失效,这里解决方法是配置全路径即可。
第三步:配置CLASSPATH变量名
变量值: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
注意前面的 . 这个点号不能省略掉
JDK是否正常运行的校验
第一步:打开cmd
命令行窗口
第二步:输出java -version
命令,如果输出对应的版本号就说明成功了,表示安装配置成功,否则需要检查安装和配置是否正确
初识Java
Java的运行
Java程序运行需要经过编译,运行这两个阶段
编译:javac 命令,先通过javac编译程序把源文件进行编译,编译后生的.class文件是由字节 码组成的平台无关、面向JVM的文件
运行:java 命令。java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够 理解的形式来运行
初识JAVA程序
Java程序的结构由如下三个部分组成:
1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个 类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
public class test01 {
public static void main(String[] args) {
System.out.println("hello world");
}
}
程序中语法的注意点:
public修饰的类名要和所创建的文件名一致,一个Java文件中只有一个和当前文件名一样的类。Java中的赋值一定要赋初值,不赋初值编译是无法通过的(这一点和C语言有较大的区别)。另外就是打印和C语言有所区别这里是打印带上了换行。
数据类型与变量
由于Java中很多数据变量的用法和C语言的差异不是很大,所以我们这里主要介绍与C语言不同的几个。
变量命名
1. 一个变量名只能包含数字, 字母, 下划线
2. 数字不能开头.
3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量.
注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但是 强烈 不推荐这样做.
浮点类型变量
float num = 1.0;
System.out.println(num);
这种情况下就会报错,因为在编译器默认中为double类型,这样就会发生冲突,一次单精度浮点型一般后面要加上f或者F。
布尔类型变量
1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.
2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
3. boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定.
这种情况下:我们可以看出程序报错,如果在C语言中是不会报错的,为啥在Java就会报错里,是因为在Java中Boolean只会返回true或者是false,不在是C语言中返回0或者1。
字符串类型变量
String 变量名 = "初始值";
//C语言中的表示方法
char arr[]="初始值";
这里不用和C语言一样要借助,数组来进行直接就可以赋值,此外用法也更加的便利如:Java 使用 双引号 + 若干字符 的方式表示字符串字面值,字符串的 + 操作, 表示字符串拼接,还可以用字符串和整数进行拼接。
下面是一个案例分析
我们看见这个就会想为啥这两个出现不一样的结果,其实这里正是字符串+就是拼接。所以出现了这样的现象。
强制类型转换
public class test01 {
public static void main(String[] args) {
int a = 10;
double b = 1.0;
b = a;
//C语言中强制转换
a=(int)b;
//错误现象
a=b;
}
}
这个案例我们就可以看出C和Java的区别,在c语言中强制类型转换必须入例子中那样,但是在Java中不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行。
总结
以上就是本次Java的总结内容,主要涉及Java的基础知识,并与C语言进行了对比,不全的内容因为和C的较为相似,所以未进行补充。最后期待各位大佬的一键三连(收藏,关注,点赞)。