02.Java入门
Java
是SUN(Starfard University Network)公司在1995年开发的一门完全面向对象的,开源的高级编程语言。
Java的发展历史
1995年诞生,1996年发布第一个版本,现在已经出到了Java第九个版本。
1995年 Java诞生
1996年 jdk1.0发布
1998年 jdk1.2发布 J2SE(1.2,1.3,1.4)
2004年 jdk1.5发布 JavaSE
2014年 jdk1.8发布 有些功能不向下兼容
Java的优势
跨平台,一次编写,多次运行
Java是运行在JVM之上的。为不同的平台开发不同的JVM。所有的JVM对Java语言本身的规范是一样的。所以Java才有很好的跨平台行。
操作系统就是调用控制计算机硬件资源的,我们的软件是运行的操作系统之上的。那么我们的问题来了,我们的软件也要指挥激计算机的运作,是通过操作系统来指挥计算机运行的。JVM是用来执行Java代码的。

Java的版本
JavaSE:Java standard edition,Java标准版,是Java的基础。
JavaME:Java micro edition,移动端,小型设备,PDA等
JavaEE:Java enterprise edition,Java的企业级版本,JavaWeb等
JVM,JRE,JDK
JVM-Java virtual machine Java虚拟机,运行Java程序
JRE-Java runtime environment Java运行时环境
JDK-Java development kit Java 开发工具包

下载JDK来安装 www.oracle.com




下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。

需要配置环境变量
在DOS中执行命令,操作系统会根据系统的环境变量Path去寻找对应的可执行程序(.exe,.bat)。
安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\Program Files\Java\jdk1.8.0_151。
在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。

变量设置
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_151(这里是你JDK的安装路径,可以更换)
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
目的:配置classpath的目的是为了在任意路径下都可以执行.class文件。所谓的classpath指定的是.class文件所在的位置。
classpath不配置的时候,java命令会在当前目录下进行查找.class文件,如果找不到,会报以下错误

如果设置了classpath,那么会从classpath指定的路径去寻找.class。如果classpath的值后面不加分号:查找的是classpath指定的路径下是否有.class文件。如果加了分号,先查询classpath指定的路径,再查找当前目录下是否有.class文件。
注意:通常配置classpath会以.;开头,表示查询的是当前路径。
变量名:Path
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
目的:配置path的目的是在任意路径下都可以执行java,javac命令。
测试JDK是否安装成功
"开始"->;"运行",键入"cmd";
键入命令"java -version","java","javac"几个命令,出现画面,说明环境变量配置成功;

编写一个HelloWorld应用程序
所有的Java程序都是以.java结尾
class HelloWorld{
public static void main(string[] args){
System.out.println("Hello World!");
}
}
保存为HelloWorld.java文件。
编写好的应用程序,也就是以.java结尾的文件,称为源文件。编写好的源文件需要通过javac命令进行编译,编译的目的是为了让JVM可以认识并且执行。

编译后会生成一个.class文件,该文件称为字节码文件,能够被JVM认识并执行。

运行程序:使用Java命令进行运行。运行的是.class文件。

Java程序的编写流程
编写源文件---->通过javac命令编译源文件---->通过Java命令执行字节码文件。
javac编译时需要跟上后缀.java,而java命令后直接跟文件即可,不需要后缀。
HelloWorld详细注解
//class时java程序中的一个关键字,用于定义类,这个词在写代码时不能用来做其他的事情,只能用来定义类
//HelloWorld 时程序的类名。类名可以自定义。建议使用英语。注意首字母大写。
//所有的java程序都是写在类中。后面的大括号用于表示该类的范围。
class HelloWorld{
//表示一个main方法。是程序的入口。程序入口:表示所有的代码执行该从方法开始。
//args可以改变为其他名称,也可以是String args[]
public static void main(String[] args){
//表示程序的输出,双引号中的内容可以改变。
System.out.println("Hello World!");
}
}
02.Java入门的更多相关文章
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)
091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包
090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包
089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点
087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...
随机推荐
- ASP.NET MVC控制器里捕获视图的错误验证信息(ErrorMessage)
ViewModel类: /// <summary> /// 评论用验证视图 /// </summary> public partial class VCreateShopCom ...
- Spring学习手札(一)
Spring能做什么 1. 能根据配置文件创建及组装对象之间的依赖关系: 2. 面向切面编程,能帮助我们无耦合的实现日志记录,性能统计,安全控制等: 3. 提供第三方数据访问框架(如Hibernate ...
- 精尽 Kafka 学习指南【优秀学习指南汇总】
1. 视频 炼石成金 <中间件之 Kafka> 一共有 19P .概念部分讲的蛮细的. 尚硅谷 <大数据视频_Kafka视频教程> 一共 24P .讲的还不错的. 书生小四 & ...
- Git 学习之Git 基础(二)
Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...
- BZOJ3672: [Noi2014]购票(dp 斜率优化 点分治 二分 凸包)
题意 题目链接 Sol 介绍一种神奇的点分治的做法 啥?这都有根树了怎么点分治?? 嘿嘿,这道题的点分治不同于一般的点分治.正常的点分治思路大概是先统计过重心的,再递归下去 实际上一般的点分治与统计顺 ...
- 注重结构、语义、用户体验的Tab选项卡
效果如下图所示: HTML code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- Docker for Windows(三)Docker镜像与容器的区别&常用命令
Docker镜像(Image)是一堆只读文件(read-only layer),容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是 ...
- egg.js-基于koa2的node.js进阶(一)
一.路由进阶Egg路由的路由重定向,路由分组 在router.js修改为如下格式require引用 module.exports = app => { const { router, contr ...
- python之定义函数
1.定义函数和参数检查 通过def语句定义一个函数,自己定义的函数,当参数个数不对时,python解释器可以抛出TypeError,但是当参数类型不对时,无法抛出TypeError,为此可以通过isi ...
- React-Native开发之BUG 总结
本博客将详细记录在React-Native开发中所遇到的各种问题以及其解决方法. 个人感觉,React-Native开发初期真的是一脚一个大坑,分分钟被虐趴下. 不说了,直接上Bug 1.在Windo ...