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 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...
随机推荐
- idea创建maven的web工程
然后一路点next 接下去添加tomcat 成功 控制台出现乱码的话 输入:-Dfile.encoding=UTF-8 控制台乱码解决
- Builder 设计模式的学习
Buileder(生成器)—对象创建型模式 一 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 二 适用性 在以下情况使用Build模式: 1 当创建复杂对象的算法应 ...
- Android开发之旅5:应用程序基础及组件
引言 上篇Android开发之旅:应用程序基础及组件介绍了应用程序的基础知识及Android的四个组件,本篇将介绍如何激活组关闭组件等.本文的主题如下: 1.激活组件:意图(Intents) 1.1. ...
- mysql + excel 校正线上数据
积分问题处理 1. 所有应补汇总 select driver_id, SUM(integral) from detail_score group by driver_id; 2. 原汇总积分 sele ...
- [转]c# winform tcp connect timeout 连接超时设置
转自:https://www.cnblogs.com/jhlong/p/5622336.html 简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的 ...
- JavaScript、HTML、CSS学习—思维导图
- cocos2d-x学习网站
非常好的学习cocos2d-x网站 强烈推荐!---游戏蛮牛
- MapReduce:Shuffle过程详解
1.Map任务处理 1.1 读取HDFS中的文件.每一行解析成一个<k,v>.每一个键值对调用一次map函数. <0,hello you> & ...
- 关于微信小程序开发中遇到的缺少game.json问题的解决
一.小程序开发的两种选项 ①小游戏开发:内部对应的入口配置文件为game.json丶game.wxml之类的文件或者项目. ②小程序开发:内部对应的入口配置文件为app.json丶app.wxml之类 ...
- protobuf 源代码分析 (1)准备工作
protobuf简介 protobuf是google开源的跨平台的一种数据序列化的代码自动生成器,支持c++.java和python语言,支持跨网络的传输数据,与平台类型无关.并且其生产的序列化数据具 ...