# 环境搭建与语法入门

# 环境搭建

# 前置知识

# Java 简介

  • Java 是一门面向对象的程序设计语言
  • Java 是在 1995 年 sun 公司发布

# JVM

  • JVM(Java Virtial Machine), Java 虚拟机
  • JVM 是 Java 平台无关性实现的关键
# Java 程序执行过程
// 类 包含 主方法
// HelloImooc.java  类[文件名要与类的名字一样]
class HelloImooc{
  public static void main(String[] argrg){
    System.out.println("HelloImooc!");
  }
}
// 1 编译
Javac HelloImooc.java // 生成HelloImooc.class文件
// 2 解释 【 不需要 .class 】
Java HelloImooc
                                          字节码->具体平台  解释在java虚拟机上完成
Helloword.java -> compiler[编译器]      interpreter[解释器] -> Program
  源文件              |-> Helloword.class ->|
                            字节码文件

# JDK

  • JDK(Java Development Kit), Java 语言的软件开发工具包
  • 两个重要组件:
    • javac 编译器,将源程序转换成字节码
    • java 运行编译后的 java 程序(.class 后缀)

# JRE

  • JRE(Java Runtime Environment) Java 运行环境的简称
  • 包括 Java 虚拟机(JVM)、Java 核心类库和支持文件
  • 如果只需要运行 Java 程序,下载并安装 JRE 即可【JDK 的区别】
  • 如果要开发 Java 软件,需要下载 JDK
  • JDK 中付带 JRE 查看虚拟机是哪个文件, <JRE 安装目录>/bin/client 中的 jvm.dll 里

# JDK、JRE 和 JVM 三者的关系

JDK > JRE > JVM 包含 JRE = JVM+JavaSE 标准类库 JDK = JRE+开发工具集(如 Javac 编译工具等)

# Java 平台

  • JavaSE Java 标准版 开发桌面程序
  • JavaEE Java 企业版 实现 Web 程序
  • JavaME Java 微型版 移动端设备的开发【安卓,iOS 的兴起,JavaME 用的少了】

# Mac

# 1. 检查本地是否有 java,有就不用装了,没有就第二步

java -version
> java version "1.8.0_201"
> Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
> Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

# 2. 从官网下载需要的 JDK 版本【团队统一 JDK 版本,自己就无所谓了】

下载地址 一路下一步 Java 默认的安装目录为 /Library/Java/JavaVirtualMachines/

# 3. 编写环境变量并刷新环境变量

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH

# 4. 终端上运行 java ok 就好了,不 ok,具体错误具体解决

# 实例

# 命令行参数的执行

// ArgsDemo.class
// 类 class 关键字   public class ArgsDemo {}
class ArgsDemo {
  // 主方法嵌套到类里
  // args命令行参数传值 不传会报错
  public static void main(String[] args){
    System.out.println(args[0]);
  }
}
// javac ArgsDemo.class
// java ArgsDemo helloworld

# 编辑器

# eclipse