什么是Java
Java是sun公司开发的一套编程语言,主设计者是James Gosling,最早来源于Green的项目,是为家用电子消费产品开发的一个分布式代码系统,用于通过网络对家用电器进行控制。最初,sun公司的工程师门准备采用C++,但由于C++过于复杂并且安全性弱,最后决定基于C++开发一种新的语言Oak,这就是Java的前身,Oak是用于网络精巧而安全的语言。但是不久,sun公司投标项目落败,导致Oak处于“无家可归”的状态。恰巧这时Marc Andreessen开发的Mosaic和Netscape启发了Oak项目的成员,从此,触发了Java进军Internet.
Java的语言特点(这里不具体展开细说)
-
- 简洁有效
- 可移植性(多平台运行)
- 面向对象(大大提升了软件开发能力)
- 解释型(一次编译,到处运行)
- 适合分布式计算
- 拥有较好的性能
- 健壮(主要体现在编译器,其他语言中必须通过运行才能暴露的问题,Java在编译阶段就发现了)
- 具有多线程处理能力
- 有较高的安全性
Java程序运行机制&Java虚拟机
由图可见,java中源文件名称的扩展名为*.java,之后通过编译器生成一个*.class文件,在计算机上执行*.class文件但是执行*.class文件的计算机并不是一个真实的的计算机,而是java中的虚拟机(JVM),java中的可移植性也是通过虚拟机(JVM)实现的。
java中的所有程序都是在虚拟机(JVM)上运行的,接下来虚拟机(JVM的基本原理图)
由此可见,所有的*.class文件都是在虚拟机(JVM)上运行的,即*.class文件只认虚拟机(JVM),由虚拟机(JVM)去适应不同的操作系统
java开发环境的搭建
java开发环境主要是JDK,这里配置的为JDK1.8版本,可以到oracle官网下载 https://www.oracle.com/index.html
下载完成之后,默认点击下一步,到达这个页面时,将安装路径换一下,默认是C盘,可以换为C盘以外的盘都可以,更便于之后的开发。切换后等待暗转即可
JDK安装完成之后,便是配置环境变量
找到环境变量
配置环境变量
1、 新建用户变量 ,注意这里的变量值,是填写你安装的JDK的位置,按照你实际安装的位置填写
2、 新增系统变量 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
注意:前面的符号都不能省
3、 修改 系统变量 Path(注意分号不能省)
4、配置完成之后,可以检验是否配置成功,win+r,输入cmd,再输入 java -version
像这样,就成功的配置好了JDK
第一个java程序实现
打开编程环境,这里使用idea作为展示,以输出Hello world!为例
运行结果:
java中的程序是以类为单位,所有的程序都必须在class定义范畴之内,对于类的定义有两种
class 类名称{
//代码
}
public class 类名称{
//代码
}
注意:类名称必须与文件名保持一致,不然编译时会有错误提示信息
再来看主方法(mian()),它是一切程序的起点,所有的程序代码都是从主方法开始执行的,定义如下
public static void main(String[] args){
//执行的代码
}
如果想要显示信息,可以使用 System.out.print()
public static void main(String[] args){
System.out.print("输出信息")
System.out.println("输出信息") //主要是在输出之后追加一个换行
}
总结
1. java实现可移植性是靠JVM,JVM是一台虚拟的计算机,只要在不同的操作系统上植入不同版本的JVM,就可以实现“一次编写,到处执行”
2. java程序的执行步骤
使用javac将一个*.java文件编译成*.class文件
使用java可以执行一个*.class文件
3. 每次使用java命令执行一个class的时候,都会启动JVM
两道练习题
1、输出“我正在了解java”
public class Hello {
public static void main(String[] args) {
System.out.println("我正在了解java");
}
}
2、打印出如下图案
********************
**** java程序 ****
********************
public class Hello {
public static void main(String[] args) {
System.out.println("********************");
System.out.println("**** java程序 ****");
System.out.println("********************");
}
}