1.1java概述
1.1.1什么是java
-
高级计算机语言,Sun公司(已被Oracle公司于2009年4月20日收购)于1995年5月推出的一种可以编写跨平台应用软件、完全面向对象的程序设计语言。
-
分为三个技术平台
-
Java SE--平台标准版本
-
Java EE--平台企业版
-
Java ME--平台微型版
-
1.1.2java语言特点
-
简单易用--没有运算符重载、多重继承等模糊概念,不用指针,并且提供自动垃圾回收机制;
-
安全可控--运行前利用字节确认其进行代码安全检查,确保不存在非法访问本地资源、文件系统的可能,保证程序在网络间传送的安全性;
-
跨平台--通过java虚拟机可以在不同操作系统上运行java程序;
-
面向对象--将一切事物看成对象;
-
支持多线程--内置多线程控制;
1.2JDK的使用
1.2.1什么是JDK
-
Java Development Environment(java开发环境)--是整个java的核心。(java编译器、java运行工具、java文档生成工具、java打包工具等)
-
JRE(Java Runtime Environment)(java运行环境)(只含java运行工具,不含java编译工具)
1.2.2安装JDK
-
开发工具:是JDK中的核心模块,包含一系列java程序所必须的可执行程序,如javac.exe,java.exe等,还包含一个专用的JRE环境;
-
源代码:安装此模块会安装Java所有核心类库的源代码;
-
公共JRE:是java程序的运行环境,开发工具已经包含一个,这项可以不做选择。
1.2.3JDK目录介绍
-
bin目录:该目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exr(打包工具)和javadoc.exe(文档生成工具)等;
-
db目录:是一个小型数据库。从JDK6开始,引入了一个成员Java DB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅很轻便,而且支持JDBC4.0所有的规范。
-
include目录:由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,在该目录存放;
-
jre目录:是Java运行环境的根目录,包含Java虚拟机、运行时的类包、Java应用启动器类以及一个bin目录,但不包含开发环境中的开发工具;
-
lib目录:是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件;
-
javafx-src.zip:该压缩文件内存放的是Java FX(Java图形用户界面工具)所有的核心类库的源代码;
-
src.zip:是src文件的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。
-
READEM等说明文档。
其中,bin目录是一个非常重要的目录,存放许多可执行的 程序,最重要的是javac.exe和java.exe。
-
javac.exe:java的编译工具,将编写好的java文件编译成ajva字节码文件(可执行的java程序)。java源文件的扩展名为java,编译后生成的对应字节码文件扩展名为.class。
-
java.exe:java运行工具,会启动一个java虚拟机进行。java虚拟机相当于一个虚拟的操作系统,专门复杂运行由java编译器生成的字节码文件。
1.3环境变量配置
//配置系统环境变量
%JAVA_HOME%\bin
--------其中bin是安装目录中的bin目录
//配置CLASSPATH环境变量
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
---------前面加.识别当前目录下的java类,jdk5开始,如果此项未配置,java虚拟机会自动搜索当前路径下的类文件,所以可以不设置CLASSPATH环境变量
1.4第一个Java程序
1.编写java源文件
/**
* 01-class是一个关键字,用于定义一个类,在java中,类就是一个程序的基本单元,所有的代码都需要在类中书写。
* 02-HelloWord是类的名称,简称类名。
* class关键字与类名之间要用空格、制表符、换行符等任意的空白字符进行分隔。
* 类名之后单词第一个大写
* 03-public static void main(String[] args){}定义了一个main()方法。该方法是程序的执行入口,程序从main()方法所属的大括号内的代码开始执行。
* 04-System.out.println("Hello World!");这条执行语句的作用是打印一段文本信息,执行完这条语句会在命令行窗口打印
*/
public class HelloWord {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
2.编译java源文件
javac HelloWorld.java ---执行后生成HelloWorld.class字节码文件 此处注意编码问题 --使用javac命令编译时,输入完整文件名
3.运行java程序
java HelloWOrld --使用java命令运行时,输入类名
1.5Java的运行机制
-
编写一个java源文件HelloWorld.java。
-
使用javac HelloWorld.java命令开启java编译器并进行编译。
-
编译结束后,自动生成一个HelloWorld.class的字节码文件。
-
使用java HelloWorld命令启动java虚拟机运行程序,java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,是由类加载器完成的, 然后虚拟机通过java解析器对加载到内存中的java类进行解释执行。
-
执行后会生成计算机可以识别的机器码文件。
-
机器码文件在计算机运行并显示结果。
其他:
一次编写,处处运行。
--java程序通过java虚拟机可以是实现跨平台的特性,但是java虚拟机不是跨平台的,不同操作系统上的java虚拟机是不同的。
1.6Eclipse开发工具
Eclips是蓝色巨人IBM花巨资开发的一款功能完善且成熟的IDE集成环境、是开源的、基于java的可扩展开发平台。 设计思想是“一切皆插件”
1.6.1Eclipse概述
1.6.2Eclipse的安装与启动
工作台
-
标题栏
-
菜单栏
-
工具栏
-
透视图
-
Package Explorer----包资源管理视图
-
Editor----文本编辑视图
-
Problems---问题视图
-
Console---控制台视图
-
Outline----大纲视图
-
Task List----任务列表视图
-
javadoc---文档视图
-
Declaration--声明视图
-
1.6.3使用Eclipse进行程序开发
-
创建java项目
-
在项目下创建包
-
创建java类
-
编写程序代码
-
运行程序
关于包的定义与使用
java引入包机制(package),程序可以通过声明包的方式对java类定义目录。 java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中,
package cn.itcast.first; //使用package关键字声明包,位于java源文件的第一行
public class Example{...}
当一个包需要调用另一个包中的类时,使用import关键字引入需要的类。可以依次倒入某个包定义下的类,无需每次用到该类时都写完整类名。
import 包名.类名;
import通常出现在package语句之后、类定义之前。导入一个包中的许多类。
import 包名.*;
java核心类主要放在java包及其子包下,java扩展大部分类都放在javax包及其子包下,java语言常用包如下:
import java.util; //包含java中大量工具类、集合类等。如Arrays、List、Set等。 import java.net; //包含java网络编程相关的类和接口 import java.io;//包含java输入、输出相关的接口
import java.awt; //包含用于构建图形界面(GUI)的相关类和接口。
JDK还有许多其他包:
数据库编程的java.sql
编写GUI的javax.swing包等
JDK中所有包的类构成了java类库