Java学习–快速入门
学习原资料网页:Java教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
一、简介
Java最早是由SUN公司(已被Oracle收购)的詹姆斯·高斯林(高司令,人称Java之父)在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,在1995年以Java的名称正式发布。随着互联网的高速发展,Java逐渐成为最重要的网络编程语言。
Java介于编译型语言和解释型语言之间。编译型语言如C、C++,代码是直接编译成机器码执行,但是不同的平台(x86、ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。解释型语言如Python、Ruby没有这个问题,可以由解释器直接加载源码然后运行,代价是运行效率太低。而Java是将代码编译成一种“字节码”,它类似于抽象的CPU指令,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。
随着Java的发展,SUN给Java又分出了三个不同版本:
Java SE
:Standard EditionJava EE
:Enterprise EditionJava ME
:Micro Edition
简单来说,Java SE就是标准版,包含标准的JVM和标准库,而Java EE是企业版,它只是在Java SE的基础上加上了大量的API和库,以便方便开发Web应用、数据库、消息服务等,Java EE的应用使用的虚拟机和Java SE完全相同。
目前主要以学习Java SE为主,随后进阶学习Java EE
推荐的Java学习路线图如下:
- 首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用;
- 如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的;
- 如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,他们都基于Java或Scala开发;
无论怎么选择,Java SE的核心技术是基础,这个教程的目的就是让你完全精通Java SE!
1.1 名词解释
JDK
:Java Development KitJRE
:Java Runtime Environment
简单地说,JRE就是运行Java字节码的虚拟机。但是,如果只有Java源码,要编译成Java字节码,就需要JDK,因为JDK除了包含JRE,还提供了编译器、调试器等开发工具。
JSR规范
:Java Specification RequestJCP组织
:Java Community Process
JSR是一系列的规范,从JVM的内存模型到Web程序接口,全部都标准化了。而负责审核JSR的组织就是JCP
二、安装
2.1、安装JDK
因为Java程序必须运行在JVM上,所以首先需要安装JDK
2.2、设置环境变量
安装完JDK后续设置电脑环境变量
由于本机已安装JDK、maven,此部分没有实操
三、第一个Java程序
public class Hello {
public static void main(String[] args){
System.out.println("Hello,world");
}
}
注意:文件名应和类名一致,如上方代码保存为文件时必须为
Hello.java
3.1、定义类
在Java程序中会包含这样的一个结构
//申明一个公共的 Hello 类
public class Hello{
...
}
public
:用于表明该类是公共的class
:用于定义一个类Hello
:为类名,首字母需大写
public 和 class 为java关键字,必须小写
3.2、类中的方法
//声明一个静态方法
public static void main(String[] args) {
...
}
static
:用于表明该方法是一个静态方法void
:用于表明该方法的返回值类型(void表示无返回值main
:方法名String[]
:用于表明参数类型(String[] 表示为字符串数组
注意:方法的代码每一行使用 ; 结尾
Java规定,某个类定义的
public static void main(String[] args)
是Java程序的固定入口,因此,Java程序总是从main方法开始执行
3.3、运行程序
Java源码本质是一个文本文件,我们需先使用javac
把Hello.java
编译成字节码文件Hello.class
,然后使用java
命令执行这个字节码文件
第一步,进入java文件所在目录
javac Hello.java
第二部
java Hello
//输出 Hello,world
javac
编译代码,java
执行已编译代码
四、Java程序基本结构
4.1、类
/**
* 特殊多行注释,可用于自动创建文档
*/
public class Hello {
public static void main(String[] args) {
//向屏幕输出文本
System.out.println("Hello,world")
/*
普通多行注释
*/
}
}//class定义结束
类名要求
- 类名必须以英文字母开头,后接字母,数字和下划线的组合
- 尽量使用驼峰写法
- 必须使用大写字母开头
4.2、方法
public class Hello {
public static void main(String[] args){
//方法代码...
}
}
方法定义了一组执行语句,方法内部的代码将会被依次顺序执行
目前,我们只需知道,Java入口程序
规定的方法必须
是静态方法,方法名必须为main
,方法参数必须为String数组
方法名的命名规则与class
基本一致,但首字母小写,
方法内部的语句,每一行必须以分号 ;
结束
4.3、注释
// 单行注释
/*
多行注释
*/
/**
* @author 指定Java程序作者
* @version 指定源文件的版本
* 文档注释 java特有
*
*/
文档注释一般写在类和方法的定义处,
该注释的内容可以被JDK提供的工具javadoc解析,生成网页文件形式的说明文档