- 万事开头难,不忘初心,方得始终
从一个Java的初学者,升级为一个编程高手,从来都没有捷径。其必经过一个成长路线: 编写代码 --> 犯错(发现问题) --> 纠错(解决问题) --> 自我提升 --> 编写代码 --> 犯错(发现问题) --> 纠错(解决问题) --> 自我提升
积累了一定的感性认识后,才会有质的突变,提升到新的境界。总之,想成为一个高水平的Java程序员,一定要多动手练习,多思考。-- Java编程技术大全
Java应用场景
- Web
- 智能终端机
- 嵌入式设备
- 大数据
Java的特点:简单易用,安全可靠,跨平台,面向对象,支持多线程
- 学习Java不仅仅是学习一门编程语言,而是学习一种思想,学习一种思维模式
Java开发环境的安装
- 首先要理解两个概念:
- JDK:Java Develeopment Kit Java开发工具包
- 里面包含了各种类库和工具
- JRE:Java Runtime Environment Java运行时环境
- Java程序运行的基础环境
- JDK中包含JRE
- JDK下载:
- 目前主流的为:JDK8 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
- 选择相应安装平台
- 目前由于Oracle做了限制,必须登录才能下载
- JDK的安装:一路下一步
- 配置环境变量
-
- classpath环境变量中配置执行所需的class文件和类包,在设置classpath时,必须在配置路径前添加【.;】,用于识别当前路径下的Java类
- 在JDK5以后,如果没有配置classpath,Java虚拟机会自动将其设置为【.】,也就是当前目录
- 配置完成以后 可以打开控制台测试一下
- 下面讲解一下安装后的目录结构
- 其中JDK中又包含JRE
- bin:存放一些可执行程序
- db:是一个小型的数据库
- include:存放C语言的头文件,因为JDK是通过C和C++实现的
- jre:为Java程序提供运行环境
- lib:是Java类库或库文件,是开发工具使用的归档包文件
- scr:存放了JDK核心类的源代码
- JDK的bin目录下存放着很多可执行的程序:最重要的是Javac.exe和Java.exe
- javac.exe是Java编译器工具,可以将Java文件编译成Java字节码文件(.class文件),Java源文件的扩展名为 .java
- java.exe是Java运行工具,它会启动Java虚拟机,运行由Java编译器生成的字节码文件(.class文件)
编写第一个Java程序:Hello World
public class HelloWorld {
// main函数,程序的入口函数
public static void main(String[] args) {
System.out.println("Hello World");
}
}
- 程序保存为.java文件, 文件名称应与 class 后的名称保持一致
- 运行程序:
- 通过命令窗口,进入到程序所在的文件夹下
- 执行 javac HelloWorld.java 命令,则会生成一个.class文件
- 执行 java HelloWorld 命令,就可以看到我们想要的结果
- 很多人可能会碰到这样的错
- 这就是在上边配置classpath的时候少配置了前面的 [ . ]
下面来讲解下我们写的第一个程序
- 第1行:public为权限声明,表明这是一个共有类,任何的类都可以访问它,class用于类的声明,后面紧跟的就是类名,{}表明了类的区域
- 第2行:// 为Java的单行注释
- 第3行:这个一个main方法,是程序的入口函数,所有的程序都是从main方法开始运行的,public为权限声明,表示谁可以访问这个函数,static为静态声明
- void 表示方法没有返回值,main是固定的写法,(String[] args)为方法的参数
- 第4行:为一条输出语句,用于输出引号内的内容
深入理解main方法
- 为什么是公共的:public
在Java中指定了几种访问修饰符:public, protected, private, 每一种修饰符都有其对应的权限。main方法声明为public,表明这个方法对外是可见的,我们的JVM(Java虚拟机)就可以访问它,为了保证JVM在任何情况下都能访问到main方法,就用public 修饰
- 为什么是静态的:static
静态可以让JVM调用main方法的时候,不用通过对象调用,在程序启动后,虚拟机不需要创建一个实例,就可以调用main方法
- 为什么没有返回值:void
JVM在调用main方法的时候不需要向操作系统返回值,如果main方法正常退出,Java应用程序的退出代码为0,表示成功的运行了程序
- main
是固定的写法,JVM能够识别程序运行的起点。main方法可以被重载,但重载的main方法不会被执行 ;main方法作为程序的初始化线程的起点,任何其他线程均有该线程启动
- String[] args
程序运行传入的一组参数,也是main方法中唯一可以改变的一块
问题环节
- 身为一名程序员,要学会思考,学会发问
问题1:Java为什么这么流行,它有那些有点那些缺点?
问题2:为什么Java能够一处编译,到处运行 ?
问题3:为什么要 配置环境变量?
问题4:为什么我们的HelloWorld程序要这样写,以及他是如何运行的?
问题的解答:将会在后续的章节中进行解答,欢迎大家关注微信公众号:趣谈技术
因本人技术有限,文章有错误的地方欢迎大家进行修正和批评,喜欢探讨技术问题可以加我QQ:1871761095