第一个Java程序Hello World

291 阅读4分钟

Java语⾔编程发展历程和JVM概述

计算机语⾔的发展历史

  • 第⼀代 计算机语⾔:01010100010111000
  • 第⼆代 汇编语⾔ 00000011写成汇编语⾔就是ADD,只要还原成⼆进制, 汇编语⾔就可以被CPU直接执⾏,所以它是最底层的低级语⾔
  • 第三代 ⾼级语⾔ ⾯向过程:c,Fortran

⾯向对象:c++,java,c#

来⾃Sun公司,全称 Stanford University Network
1990年12⽉,sun成⽴了⼀个“Green Team”, java之⽗——Jeams Golsling
1996 JDK1.0版本
2009 甲⻣⽂以现⾦收购Sun公司
2011 Oracle公司发布了JDK7
2014年,Oracle公司发布了JDK8
2017 JDK9 2018-03 JDK10
2018-09 JDK11

Java版本介绍

  • JavaSE,即Java标准版(以前简写J2SE)Java技术核⼼和基础,是J2ME和J2EE编程的基础
  • JavaEE,即Java企业版(以前简写J2EE)java技术中应⽤应⽤最⼴泛的部分
  • JavaME,即Java微型版(以前简写J2ME),主要⽤于移动设备

JVM、JRE、JDK关系

  • JVM Java Virtual Machine Java 虚拟机,简单看成⼀个操作系统,java程序会⾸先被编译 为.class的字节码,根据字节码指令进⾏识别并调⽤上层操作系统
  • JRE Java Runtime Environment java 运⾏时环境, 是整个 Java 程序运⾏的核⼼
  • JDK Java Development Kit 是我们的开发⼯具包,它集成了 JRE, 是整个 Java 开发的核⼼
  • 总结 JRE = 基本类库 + JVM,没有JRE,java程序⽆法运⾏ JDK = JRE+JVM+开发⼯具包 Java核⼼优势:⼀次编译,到处运⾏,能够跨平台运⾏的核⼼在于 JVM

概念理解⾯向对象编程和特点

什么是⾯向对象编程

维基百科: ⾯向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念 的程序编程典范, 同时也是⼀种程序开发的抽象⽅针。它可能包含数据、属性、代码与⽅法。对象则指的是类的实 例!!!。它将对象作为程序的基本单元,将程序和数据封装其中,以提⾼软件的重⽤性、灵活性 和扩展性,对象⾥的程序可以访问及经常修改对象相关连的数据。在⾯向对象程序编程⾥,计算机 程序会被设计成彼此相关的对象

Java开发环境准备

JDK8下载

win10配置环境变量

  • 右键 此电脑 ->(属性) ->(⾼级系统设置) ->(环境变量)
  • 新建三个变量
JAVA_HOME 变量值为JDK安装路径
PATH %JAVA_HOME%\bin
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
  • 验证环境变量是否成功 分别输⼊下⾯3个命令,不报错即可
java
javac
java -version

第⼀个Java程序Hello World

  • 新建文件HelloWorld.java,编辑并保存
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
  • 编译
javac HelloWorld.java
  • 运行
java HelloWorld

基础语法:

  • java⽂件名: ⽂件名必须和类名相同,后缀为.java; 否则会出错
  • 类class: 表示声明⼀个类,类名的⾸字⺟需要⼤写,多个单词的话需要使⽤驼峰形式 HelloWorld、UserAccount、User
  • ⽅法: ⽅法名需要⼩写字⺟开头,若有⼏个单词,则后续的采⽤驼峰形式
  • 主⽅法: 固定搭配,需要硬记,所有程序的主⼊⼝public static void main(String[] args)
  • 所有变量、名称都是⼤⼩写敏感的!!!!

IDEA的社区版安装和基本配置

  • 社区版 Community:免费,但是功能有限制
  • 终极版Ultimate:收费,功能⽆限制

设置主题

Files -> Settings->Appearance & Behavior > Appearance

设置字体大小

Files -> Settings->Editor -> Font

IDEA debug 基础调试技能⽤

  • step over 程序向下执⾏⼀⾏
  • step into 进⼊⾃定义⽅法
  • step out 跳出对应的⽅法

java⾥⾯常⻅注释

  • 单⾏注释
// 单⾏注释
  • 多⾏注释
/*
 * 多行注释1
 * 多行注释2
 */
  • 文档注释
/**
 * 文档注释
 * @author Steven Wong
 */

Java模块划分和包的使⽤

java的包package和import导⼊其他模块**

包package的作用

  • 为了更好的组装类,给类名增加个名称空间
  • 控制不同类的访问权限 包名格式规范:全部⼩写字⺟,可以是域名反过来写

常⻅的java⾃带的包

  • java.lang 基础类包,默认⾃动导⼊的包,⾥⾯有Obect, String, StringBuffer, System等包, 应⽤最⼴
  • java.util 常⻅的⼯具类包
  • java.io 提供系统的输⼊输出
  • java.net 提供⽹络操作相关的类 例⼦:导⼊⼯具类包
// 导⼊util包下的Date类
import java.util.Date;

// *号表示这个util包下⾯的全部类都导⼊进来
import java.util.*;