毕向东Java基础教程 | Java概述
基础常识
1、软件
- 一系列按照特定顺序组织的计算机数据和指令的集合;
- 分为系统软件和应用软件。
2、人机交互
- 软件的出现实现了人与计算机之间更好的交互;
- 交互方式:图形化界面(Graphical User Interface GUI)&命令行方式(Command Line Interface CLI)。
3、计算机语言
- 语言:人与人之间用于沟通的一种方式;
- 计算机语言:人与计算机交流的方式。
Java语言概述
- SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言;
- 一种面向Internet的编程语言(Java允许使用者将应用程序通过Internet从远端服务器传输到本地机器并执行);
- 随着Java技术在web方面的不断成熟,其已成为Web应用程序的首选开发语言;
- 简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Java语言的三种技术架构
1、J2EE(Java 2 Platform Enterprise Edition)企业版
- 为开发企业环境下的应用程序提供的一套解决方案;
- 该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。
2、J2SE(Java 2 Platform Standard Edition)标准版
- 为开发普通桌面和商务应用程序提供的解决方案;
- 该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
3、J2ME(Java 2 Platform Micro Edition)小型版
- 是为开发电子消费产品和嵌入式设备提供的解决方案;
- 该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
注:Java5.0版本后,更名为JAVAEE、JAVASE、JAVAME。
Java语言的特点:跨平台性
1558315716521.png跨平台性为Java语言的最大的特性。
任何软件要在一个操作系统上运行,必须先经过解析。 Windows上能直接运行C/C++程序的原因在于Windows本身是由C/C++写的,其内置了C/C++解析器或解析程序。在Windows上装一个能解析java程序的解析器,专业术语称为Java虚拟机(JVM Java Virtual Machine),专门用来执行java程序。因为有了JVM,所以同一个Java程序在以上三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性,也称为Java具有良好的可移植性。即为:
一次编译,随处运行
注意:虚拟机不是跨平台的,其是操作系统和Java程序之间的桥梁。
什么是JRE,JDK?
1、JRE(Java Runtime Environment,Java运行环境)
- 提供给运行Java程序的用户使用;
- JRE = JVM + Java library (包括JVM和Java程序所需的核心类库)。 如果想要运行一个开发好的Java程序,计算机中只需安装JRE即可。
2、JDK(Java Development Kit,Java开发工具包)
- 提供给Java开发人员使用;
- JDK = JRE + Tool (包括Java的开发工具和JRE;其中的开发工具位于jdk安装文件夹下的bin目录下,包含:编译工具(
javac.exe
(命令行程序)),打包工具(jar.exe
),运行工具(java.exe
)等)。 所以安装了JDK,就不用再单独安装JRE了。安装JDK时,安装完JDK后会询问是否安装JRE,这是可选的,因为JDK中已经安装Java的开发环境和运行环境(JRE)两部分,所以不需安装可以点“取消“。
1558404752718.png简单而言:使用JDK开发完成的Java程序,交给JRE去运行。
备注:
1、为什么JDK当中包含一个JRE?
- 开发完的程序,总需要运行一下看看效果;
- 最重要的是,JDK中的开发工具都是由Java语言编写的应用程序,为了方便使用才打包成exe文件,如果没有JRE,那么这些工具是运行不了的。
2、可以将JDK安装目录拷贝到其他电脑上,不需要重新安装,即可使用。
dos命令行:基础命令
命令 | 含义 |
---|---|
dir |
列出当前目录下的文件及文件夹 |
md |
创建目录 |
rd |
删除目录(需保证该目录下为空或者加参数可将目录下的内容删除) |
cd |
进入指定目录(change directory) |
cd.. |
退回到上一级目录 |
cd\ |
退回到当前盘的根目录 |
del |
删除文件 |
cls |
清屏(clear screen) |
exit |
退出dos命令行 |
备注:
1、*
的用途
- 若记不全目录的名字,可用
*
匹配,如cd jdk1.6*
; - 进到某个文件夹下,删除该文件夹下的txt文件,
del *.txt
;若要删除所有文件,del *
。
2、help
- 想不起命令时,可用
help
; - 查看某个命令的解释,如
cd
,可用help cd
。
3、要进某个盘的话,如进C盘,可用 c:
环境变量
Path环境变量
当我们在cmd
中键入一个可执行程序,如notepad
:首先会在当前目录中查找,是否存在这个程序;如果找不到,则在系统已有的Path
环境变量中挨个查找,如果再找不到,才会报错 。 注意:一旦改变环境变量,应该重新开cmd进行验证 。
临时环境变量
1、临时配置方式:通过dos命令中set
命令完成
命令 | 含义 |
---|---|
set |
查看本机的所有环境变量信息 |
set 变量名 |
查看指定环境变量的值 |
set 变量名 = |
清空指定环境变量的值 |
set 变量名 = 具体值 |
给指定变量定义具体值 |
2、在原有环境变量基础上添加新值
首先通过%变量名%
操作符获取到原有环境变量的值,然后加上新值后再定义给该变量名; 如给Path环境变量加入新值:set path = 新值;%path%
注意:这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。
一个简单的Demo程序
main函数(程序的入口,被虚拟机调用)可以让一个类具有独立运行的能力。
class Demo
{
public static void main(String[] args){
System.out.print("hello world");
}
}
注意:类名前若加上public
关键字,则必须保证public class
后的类名与文件名一致,否则编译通不过。
编译&运行命令
javac Demo.java
javac
:对外提供的命令,启动jdk中的编译工具;检查语法的正确性,如果语法错误,则不会生成.class
文件。
java Demo //找到Demo.class文件
java
:对外提供的命令,启动虚拟机。
CLASSPATH环境变量
1、将java运行文件的路径告知系统,虚拟机在执行时按照指定的CLASSPATH进行类文件查找并执行;
2、设置CLASSPATH时,若没有分号,则虚拟机只会在设置的目录查找,找不到就会报错;若有分号,虚拟机先在设置的目录查找,找不到再在当前目录找。
因此最好是不加分号(避免由于不知道加分号产生的差别所造成的的歧义),如果要在两个路径下查找可以在CLASSPATH上加上当前路径。
3、在当前目录下,不切换目录的情况下,执行其他目录下的.class运行文件
>set classpath=.;c:\myclass //.表示当前路径
注意:javac ArrayToolDemo.java
当ArrayToolDemo中用到了另一个类,java编译器会在CLASSPATH或当前路径下找这个类的.class文件,如果没有找到,会找与其类名相同的.java文件,找到源文件后,在将其编译为.class文件。或者可以写为javac *.java
。