02Java入门
软件、程序、计算机语言
程序
计算机程序通常称为软件,是发给计算机的指令。程序设计就是创建一个可以让计算机执行并完成所需任务的程序。
计算机本身的语言:机器语言,指令都是以二进制代码的形式存在。
汇编语言:低级的程序设计语言。具有机器依赖性,只能在某种特定的机器上执行。
高级语言:像英语,易于学习和编写程序。
COBOL(面向商业的通用语言)
C(由B的设计者开发):具有汇编语言的强大功能以及高级语言的易学性和可移植性。
C++(基于C语言的一种面向对象程序设计语言):非常适合开发系统软件项目,例如,编写编译器和操作系统。Microsoft公司的Windows操作系统就是用C++编写的。
C#(Microsoft公司开发的类似Java的语言):用来开发基于微软.NET平台的应用程序。
Java(Sun公司开发):广泛用于开发一些独立于平台的互联网应用程序。
用高级语言编写的程序称为源程序或源代码。(计算机不能理解)
操作系统
运行在计算机上最重要的程序,可以管理和控制计算机的活动。
https://zh.wikipedia.org/wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F
API、JDK、JRE和IDE
API(Application Program Interface):
应用程序接口,包括为开发Java程序而预定义的类和接口。简而言之,就是JDK提供给我们的一些提高编程效率的java类。
Java有三个版本:
Java标准版(Java Standard Edition,Java SE):开发客户端独立的应用程序或applet
Java企业版(Java Enterprise Edition,Java EE):开发服务器端的应用程序
Java微型版(Java Micro Edition,Java ME):开发移动设备的应用程序
JDK(Java Development Toolkit):Java开发工具包,可以编写、编译及运行JAVA应用程序与小应用程序的工具。
JRE(Java Runtime Environment):可以运行JAVA应用程序与小应用程序的工具。
IDE(Integrated Development Environment):集成开发环境,例如Eclipse。
编译和执行
扩展名为.java的源文件(源代码),通过编译器(compiler)编译成扩展名为.class的字节码文件(类似于机器指令),再通过JVM翻译为目标机器代码然后执行。
虚拟机不是物理机器,而是一个解释Java字节码的程序。
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够”一次编译,到处运行“的原因。
反编译
反编译器 、 反编译工具
安装与配置JDK
1、下载安装JDK,有解压版和安装版,无区别。
2、配置环境变量
不区分大小写,我的电脑-属性-高级系统设置-环境变量
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_91;
Path = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
3、查看版本
开始 —> 运行 —> cmd —> java -version
4、源码
安装版的JDK,根目录下有 src.zip 和 javafx-src.zip ,即 JDK源码。
JDK1.5之后,并不是必须配置 CLASSPATH ,只需要配置 JAVA_HOME 和 Path 即可!
JDK1.5之后,JRE 能自动搜索目录下类文件,并且加载dt.jar和tool.jar的类。
官方文档中提到,rt.jar
和 tool.jar
这两种属于java平台自身的包,不需要添加到 CLASSPATH 中,只有一些第三方类或者自定义类需要,但并不推荐使用配置 CLASSPATH 的方法,更推荐使用 -classpath
选项。
说明:
1、归一原则, 当你 JDK 路径被迫改变的时候, 你仅需更改 JAVA_HOME 的变量值即可, 否则,你就要更改任何用绝对路径引用 JDK 目录的文档, 要是万一你没有改全, 某个程序找不到 JDK , 后果是可想而知的—-系统崩溃!
2、第三方软件会引用约定好的JAVA_HOME变量,不然,你将不能正常使用该软件,以后用JAVA久了就会知道,要是某个软件不能正常使用,不妨想想是不是这个问题。
3、.
表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;
4、JAVA_HOME
指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。
5、PATH
环境变量,保证在任何路径下都可使用java、javac命令。里面记录的是可执行性文件,如.exe文件。当在命令提示符窗口输入命令时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序,并且执行。
6、CLASSPATH
是java加载类(class or lib)路径,目的是令 classpath 目录中的类(.class文件)能在任意目录运行。java命令通过CLASSPATH找到(识别).class文件。
7、dt.jar
是关于运行环境的类库,主要是用于swing的包,如果不使用可以不配置。
8、tools.jar
是工具类库,它在编译和运行一个类时被使用。
Java规范
- JAVA代码通常写在类中。
- 一个.java文件中可以有多个类。
- 一个.java文件中只能一个public的类。
- public类的名字必须与文件名保持一致。
- main()程序的入口。
- 通常情况下,main()需要出现在public的类中。
- JAVA代码区分大小写。
- 每句JAVA代码使用分号表示结束。
- JAVA程序中只能直接使用半角的标点。
- **JAVA命名规范:类名(接口名)首字母大写,其它均为小写。**如果类名由多个单词组成,每个单词首字母大写,其它均为小写(如:User,UserDao,UserService)。
Java文件的分类
1..java文件:保存源代码,也称为源文件,文本文件。
2..class文件:保存字节码,也称为类文件,二进制文件。
JAVA 命令
开始-运行-cmd
1.javac命令:检查JAVA代码是否正确,如果代码正确,则根据.java文件生成对应的.class文件。
基本格式:javac 文件名(不区分大小写).java
2.java命令:运行指定的JAVA程序
基本格式:java 类名(区分大小写)