Java入门须知。
1.C&C++
- 1972年C诞生
- 贴近硬件,运行极快,效率很高
- 可开发操作系统,编译器,数据库,网络系统等
- 指针和内存管理(操作过程复杂繁重)
- 不同系统间可移植性差。
- 1982年C++诞生
- 添加了面向对象的过程
- 兼容C
- 在图形与游戏领域发挥作用
2.反抗
- 我们要建立一个新的语言
- 语法有点像C
- 没有指针
- 没有内存管理
- 真正的可移植性,编写一次,到处运行
- 面向对象
- 类型安全
- 高质量的类库
- ......
3.Java初生
- 1995年的网页简单而粗糙,缺乏互动性
- Java展示了图形界面的程序(Applet)
- 无数程序员加入Java
- 比尔盖茨说:这是迄今为止设计最好的语言!
- Java 2 标准版(J2SE):占领桌面端
- Java 2 移动版(J2ME):占领手机端
- Java 2 企业版(J2EE):占领服务器
- 大量巨头加入
4.Java发展
- 程序员们基于Java开发了巨多的平台、系统、工具
- 2006:Hadoop(大数据领域)
- 2008:Android(手机端)
- Java帝国诞生
- 简单性
- 面向对象
- 可移植性(Write once run anywhere)
- 高性能
- 分布式
- 动态性(反射机制)
- 多线程
- 安全性
- 健壮性
- JavaSE:标准版(桌面程序,控制台开发..)
- JavaME:嵌入式开发(手机、小家电..)
- JavaEE:E企业级开发(web端、服务器开发..)
- JDK:Java Development Kit(Java开发者工具,包含JRE)
- JRE:Java Runtime Environment(Java运行时环境)
- JVM:JAVA Virtual Machine(Java虚拟机)
1.JDK下载与安装
- 搜索JDK8,找到下载地址
- 同意协议,点击合适版本下载
- 注册并登录Oracle账号
- 双击安装
- 将安装目录设置为易于寻找的目录下,并记住安装路径
- 配置环境变量
- 文件—>此电脑—>右键—>属性—>高级系统设置
- 点击环境变量配置JAVA_HOME变量
- 在系统变量中新建JAVA_HOME
- 在新建中将变量名设置为”JAVA_HOME“,将变量值设置为JDK的安装路径
- 点击确定,完成JAVA_HOME配置
- 配置path变量
- 在系统变量中,双击path,新建两个目录,分别为“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”
- 点击确定,完成配置
- 测试JDK是否安装成功
- 在cmd中输入“java -version”回车,若出现java1.8,则说明环境搭建成功
2.下载notepad++
3.JDK卸载
- 文件—>此电脑—>右键—>属性—>高级设置—>环境变量
- 在系统变量中双击“JAVA_HOME”,获得它的安装目录(变量值)
- 根据路径找到jdk文件,删除该文件
- 在系统变量中删除“JAVA_HOME”
- 在系统变量中双击path,在编辑环境变量页面,删除与“JAVA_HOME”相关的文件(两个)
- 点击确定
- 打开cmd,输入“java -version”回车,若输出如下,则卸载成功
- 新建一个java文件,edit with notepad++
- 编写代码,并保存
public class HelloWorld{
public static void main(String[] args){
System.out.print("Hello world!");
}
}
- 在java文件路径前输入cmd+空格+回车,进入cmd
- 输入“javac HelloWorld.java”,编译文件,会生成一个class文件
- 输入“java HelloWorld”,运行class文件
七、Java程序运行机制可能会出现的问题:
- 每个单词的大小写不能出现问题,Java对大小写敏感
- 尽量使用和输出英文(有些控制台输出中文会乱码)
- 文件名和类名必须保持一致
- 符号为英文状态
- 创建java文件时,文件名中不要包含空格,cmd会因识别错误而导致找不到该文件。例如,我创建名为“Hello World”的”.java“文件,在cmd中编译该文件时,cmd会将该文件识别为”World.java“文件,之后报错,正确文件名因改为”HelloWorld“
八、使用IDEA开发程序执行过程中,分为编译型语言和解释型语言两种
- 编译型语言
对于编译型语言,开发完成以后需要将所有的源代码都转换成可执行程序,比如 Windows 下的
.exe
文件,可执行程序里面包含的就是机器码。只要我们拥有可执行程序,就可以随时运行,不用再重新编译了,也就是“一次编译,无限次运行”。
- 解释型语言
对于解释型语言,每次执行程序都需要一边转换一边执行,用到哪些源代码就将哪些源代码转换成机器码,用不到的不进行任何处理。每次执行程序时可能使用不同的功能,这个时候需要转换的源代码也不一样。
更多关于编译型语言与解释型语言的区别与联系,请参考C语言中文网