Java 基础 一

346 阅读5分钟

第一章 Java 语言概述

软件开发介绍

常用 DOS 命令

  • 盘符: : 切换盘符
    C: \users\weili>d: // 直接切换到D盘
    D:\>
    
  • dir: 列出当前目录下的文件及文件夹
    D:\>dir // directory 目录
    
  • md: 创建目录
    // make directory
    D:\>md java
    
  • rd: 删除目录
    // remove directory
    D:\java\class1>rd team2 // rd 只能删除空文件夹
    D:\java\class1>
    D:\java\class1>del team1 // del 删除 team1目录下的所有文件
    D:\java\class1>rd team1 // 删除 team1空文件目录
    
  • cd: 进入指定目录
    D:\>cd d:\java // 进入D盘下的java文件夹中
    d:\java>
    
  • cd.. : 退回到上级目录
    D:\java>cd.. // cd..退回到上级目录
    D:\>
    
  • cd: 退回到根目录
    D:>cd java\class1\team1
    D:\java\class1\team1>
    D:\java\class1\team1>cd\ // 退回到根目录下
    D:\>
    
  • echo 文件内容>1.doc : 创建一个文件类型为doc名称为1的内容为name:li,age=23的文件
    D:\java\class1\team1>echo name:li,age=23>1.doc
    
  • del: 删除文件
    D:\java\class1\team1>del 1.doc
    // 删除所有以 .txt 结尾的文件
    D:\java\class1\team1>del *.txt // * 通配符
    
  • exit: 退出dos命令行

计算机编程语言介绍

第一代语言

  • 机器语言: 指令以二进制代码形式存在

第二代语言

  • 汇编语言: 使用助记符表示一条机器指令

    add 2,3,result  -> 汇编器  -> 110110101001101
    

第三代语言: 高级语言

  • C、Pascal 等面向过程的语言
  • C++ 面向过程、面向对象
  • Java 跨平台的纯面向对象的语言
  • .NET跨语言的平台
  • Pythpn、Scala...

Java语言概述

后台开发

  • java、PHP、Python、Go、Node.js

Java 技术体系平台

  • Java Standard Edition 标准版(很少)

    支持面向桌面级应用的Java平台

  • Java Enterprise Edition 企业版

    开发企业级环境下的应用程序

  • Java Micro Edition 小型版(Android应用)

    开发程序运行在移动端(手机、PDA)上的平台

运行机制及运行过程

Java 语言的特点

  • 面向对象

    • 两个基本概念: 类、对象(4-6章)
    • 三大特征: 封装、继承、多态
  • 健壮性

    • 吸收了C/C++语言的优点,去掉了影响程序健壮性的部分(指针,内存的声明与释放),提供了一个相对安全的内存管理和访问机制
  • 跨平台性: write once, run anywhere

    • 跨平台性: Java编写的程序在不同的系统平台上都可以运行

    • 原理: 只需在运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM)即可,由JVM来负责Java程序在该系统中的运行

Java 两种核心机制

  • Java 虚拟机(Java Virtal Machine)
  • 垃圾回收机制(Garbage Collection)

Java 环境搭建

JDK、JRE

JDK(Java Development Kit Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包含了JRE,所以安装了JDK,就不用单独安装JRE了

JRE(Java Runtime Environment Java运行环境)

包括Java虚拟机和Java程序所需的核心类库等,如果要想运行一个开发好的Java程序,计算机只需要安装JRE即可

简单理解,使用JDK的开发工具完成的java程序,交给JRE去运行

  • JDK = JRE + 开发工具集
  • JRE = JVM + Java SE标准类库

JDK 安装文件目录介绍

  • bin: 开发工具

    • javac.exe 编译时用到的命令
    • java.exe 解释运行时用到的命令
    • javadoc.exe 生成一个以网页形式存在的文档时的指令
  • db: Java实现的数据库文件

  • include: 包含使用C语言编写的头文件

  • jre: Java运行时环境

  • lib: 包含一些jar包

  • src.zip: 存放一些Java开源的代码

开发体验 - HelloWorld

  • 新建helloworld.java
  • 通过javac命令对该java文件进行编译
  • 通过java命令对生成的class文件进行运行

.java文件(源文件) -> javac.exe(编译) -> .class文件(字节码文件) -> java.exe(运行) -> 结果

class HelloChina {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

常见问题及解决方法

  • 使用 javac 命令时必须写文件的全称,包括后缀
  • 使用 java 命令运行对应的class文件时,区分文件的大小写
  • 每条语句后面必须加分号(;)

注释(comment)

对编写的代码进行解释说明

  • 单行注释: //
  • 多行注释: /* 多行文本 */
  • 文档注释(java特有) /** @author @version ... */

Java API文档

良好的编程风格

行尾风格

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!")
    }
}

正确的缩进和空白

2 + 4 * 5

正确的注释和注释风格

  • 单行注释
  • 多行注释

常用的Java开发工具

  • 记事本
  • UltraEdit
  • NotePad
  • EditPlus
  • Eclipse
  • IntelliJ IDEA

总结

java程序 编写 - 编译 - 运行 的过程

  • 编写: 将编写的java代码保存在以.java结尾的源文件中
  • 编译: 使用javac命令编译我们的java源文件。格式: javac 源文件名.java
  • 运行: 使用java命令解释运行我们的字节码文件。格式: java 类名

在一个java源文件中可以声明多个class

  • 但是,只能有一个类声明为public
  • 而且要求声明为public类的类名必须与源文件名相同

程序的入口是 main() 方法,格式是固定的

输出语句:

  • System.out.println("文本"): 先输出数据,然后换行
  • System.out.print("文本"): 只输出数据

每一行执行语句都以分号 ";"结束

编译过程:

  • 编译后,会生成一个或多个字节码文件
  • 字节码文件的文件名与java源文件中的类名class相同

复习

JDK、JRE、JVM 三者之间的关系

  • JDK = JRE + Java的开发工具集(javac、java、javadoc 等)
  • JRE = JVM + Java核心类库

环境变量的配置

  • JAVA_HOME = bin的上层目录
  • path = %JAVA_HOME%\bin

常用命令操作符

  • 盘符: - 切换到指定盘符
  • cd\ - 切换到文件的根目录
  • cd.. - 切换到文件的上一层目录
  • cd 文件 - 切换到指定文件中
  • dir - 查看本文件夹中的目录
  • md 文件夹名 - 创建一个文件夹
  • rd 文件夹名 - 删除一个空文件夹
  • del 文件名 - 删除指定文件
  • exit - 退出DOS

创建如下类,并输出

// Person.java
class Person {
    public static void main (String[] args) {
        System.out.println("name: lv\n"); // \n 换行
        // System.out.println() === \n
        System.out.println("gender: man");
        System.out.print("address: HeBei");
    }
}
// name: lv

// gender: man
// address: HeBei

上述程序的运行指令

  • 编译: javac Person.java(源码文件)
  • 运行: java Person.class(字节码文件)
  1. 编译报错主要检查语法是否错误
  2. 运行报错主要检查功能是否有缺陷