1 Java语言介绍
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性(跨平台)、多线程、动态性等特点。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
2 JDK介绍
JDK:Java Development Kit(java开发工具包),是Sun公司(已被Oracle收购)针对Java语言的软件开发工具包,本质上是一个应用软件,主要包括三部分:
JRE Java运行环境 | Java Runtime Environment | 包含JVM虚拟机及Java核心类库(解释.class文件) |
JVM Java虚拟机 | Java Virtual Machine | 用于将中间码(字节码)文件翻译成特定平台下的机器码(二进制文件)然后运行。 JVM是一个进程虚拟机,是一个提供特定的指令集运行.class文件的运行环境,同时也是一个高级语言虚拟机 |
基本组件 | javac/java/jdb |
注意:只有jvm可以运行代码吗?
不行,运行代码还需要运行时依赖的java类库的支持(如:jre/lib/rt.jar)
Eclipse/IntelliJ Idea:集成开发环境,编写Java程序的工具,集成了很多辅助开发程序的组件。
注意:jdk的位数版本要和eclipse一致,即jdk是 64位版本,eclipse也要是64位版本
3 安装JDK
1 下载jdk
注意jdk的操作系统版本(windows/linux/Mac)和位数(32位/64位)
2 安装jdk
注意不要放在C盘,因为C盘是系统盘,重装系统的话,原先安装的jdk也会被删除掉
3 打开高级系统设置,配置系统环境变量
新建:JAVA_HOME = D:\Program Files\Java\jdk1.6.0_06
修改:PATH = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
4 检查jdk是否安装成功
Win+R打开dos命令控制台,执行cmd命令,输入:java –version
显示如上图,即表示jdk安装成功
4 编译与运行
Java开发程序三步:开发、编译、运行
- 编写一个带有main方法的java文件(没有main方法你的程序运行什么?)
- Win+R打开控制台,然后输入cmd命令,找到第1步创建的java文件的目录,执行javac命令对java文件进行编译,会在.java文件同级目录下生成一个.class文件
javac Hello.java
- 执行java命令,运行.class文件
java Hello
dos命令:
e: #访问E盘
cd [文件夹名] #打开文件夹
dir #当前目录文件列表
ipconfig #查看内网ip地址
ping [ip地址或域名] #检测地址是否能正常访问
5 Java如何实现跨平台的
首先,通过与平台无关的编译器(javac)将Java源程序编译生成的中间码(.class),该中间码与平台无关。然后通过Java虚拟机(Java Virtual Machine,简称 JVM)将中间码(字节码)文件翻译成特定平台下的机器码(二进制文件)然后运行。
JVM也是一个软件,在不同的平台有不同的版本。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,即运行我们编写的Java程序, 从而实现了”一次编译,到处运行“的目的。
注意:编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。
不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。跨平台的是Java程序,不是JVM。JVM是用C/C++开发的,与各个平台是相关的。JVM编译后的机器码是不能跨平台的。
所以,运行Java程序必须有JVM的支持,因为编译的结果不是机器码,必须要经过JVM的再次翻译才能执行。即使你将Java程序打包成可执行文件(例如 .exe),仍然需要JVM的支持。
5 安装eclipse
注意: 选择与jdk安装版本位数(32位或64位)相对应的eclipse版本
下载地址:Eclipse Downloads | The Eclipse Foundation
打开eclipse,配置jdk
顶部导航栏window——preference——java——Installed JREs
点击右上角add按钮,弹出下图弹框,选中standard VM,点击按钮next
点击dictionary选择jdk的安装目录,点击finish