您的位置 首页 java

java学习系列(二)Java语言概述

1. java 语言概述

1.Java语言是SUN公司(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级 编程语言

2.Java语言是一门面向Internet的编程语言。

3.随着Java技术在web方面的不断成熟, JAVA 语言已经成为Web应用程序的首选开发语言。

4.Java语言是简单易学,完全面向对象,安全可靠,与平台(操作系统)无关的编程语言。

Java 是允许使用者将应用程序通过Internet从远端服务器传输到本地机上并执行的一种

语言。

1.1. Java语言的三种技术架构

1.1.1. J2EE(Java 2 Platform Enterprise Edition)企业版

是为开发企业环境下的应用程序提供的一套解决方案。 该技术体系中包含的技术如 Servlet Jsp 等,主要针对于Web应用程序开发。

1.1.2. J2SE(Java 2 Platform Standard Edition)标准版

是为开发普通桌面和商务应用程序提供的解决方案。 该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发,比如Java版的扫雷。

1.1.3. J2ME (Java 2 Platform Micro Edition)小型版

是为开发电子消费产品和嵌入式设备提供的解决方案。 该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。

P.S.

1、Java5.0版本后,三种技术架构分别更名为JAVAEE、 JAVASE JAVAME

2、由于现在已经出现了Android、iOS、WindowsPhone等手机操作系统,所以J2ME架构基本上已经不用

了。目前,流行的手机软件都是基于这些最新的手机操作系统进行开发。

3、SUN公司已被 Oracle公司 收购,因此,Java以后会更火。

1.2. Java语言的特点:跨平台性

1.2.1. 什么是跨平台性?

通过Java语言编写的应用程序在不同的系统平台上都可以运行。

国内操作系统市场已被Windows彻底征服,但国外用户操作系统选择项较多。因此,程序员做软件需要考虑

跨平台性,而Java语言就具备跨平台性的特点。

1.2.2. 原理是什么?

只要在需要运行java应用程序的操作系统中,先安装一个 Java虚拟机 ( JVM :JavaVirtualMachine)即可,由

JVM来调用操作系统底层指令解析、执行Java程序,从而在该操作系统中运行。

因为有了JVM,所以同一个Java程序在三种不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性,也就是说Java具有良好的可移植性。



P.S.

Windows系统就是C和C++编写的,所以Windows系统中内置了C和C++的解析器。所以C和C++语言编写的程序可以直接在Windows系统上执行。

但Java语言编写的程序如果要在Windows系统上执行,就需要在Windows系统中安装一套能够解析Java程序的软件,也就是JVM(Java虚拟机)。

类似的,在 Linux 、MAC执行Java语言编写的程序也需要安装各自系统对应的JVM。因此,JVM是不跨平台的,对应不同的操作系统有不同版本的JVM。 通过这种方式,就实现了Java语言“一次编译,到处运行”的跨平台性。JVM的作用就是搭建了Java语言编写的程序与操作系统的桥梁。

1.3. Java语言的环境搭建

1.3.1. 明确什么是JRE, JDK

JRE(Java Runtime Environment:Java运行环境)

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

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

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。 其中的开发工具:编译工具( javac .exe),打包工具(jar.exe)等。

一句话:

使用JDK开发完成的java程序,交给JRE去运行。

P.S.

为什么JDK中包含一个JRE呢?

其一,开发完的程序,需要运行一下看看效果,就像.exe文件需要用windows环境运行一样。 其二,也是最重要的,JDK中的开发工具(如javac.exe、java.exe等)其实都是Java语言编写的应用程序,为了方便使用才打包成exe文件,如果没有JRE,那么这些工具是运行不了的。

总结:

JRE:JVM+类库(Java library)。 编译 javsc

JDK:JRE+JAVA的开发工具。

1.3.2. 下载JDK(Java Development Kit:Java开发工具包)

www. oracle .com 参阅oracle.html

www.java.sun.com 参阅java.html

P.S.

由于Sun公司已被Oracle公司收购,故访问 www.java.sun.com 会自动跳转到

JDK下载示意图:

登录 www.oracle.com ,点击Downloads选项卡中的Java for Developers。

图 1

点击Java SE 7u51中的DOWNLOAD。

图 2

P.S.

7u51代表是JDK7,51代表子版本,u是update的缩写。

在下载之前,首先需要接受JDK的许可证协议,然后再点击jdk-7u51-windows-i586.exe进行下载。

图 3

P.S.

Windows x86对应的是windows 32位系统。

Windows x64对应的是windows 64位系统。

1.3.3. 安装JDK

下一步

默认安装到了C:Program FilesJavajdk1.7.0_51目录下,可以通过“更改”按钮对安装路径进行自定义。

P.S.

安装路径不要有中文或者特殊符号如空格等,否则后期开发中可能出现一些莫名其妙的错误。

下一步

正在安装中…复制文件结束,安装JDK完毕。

接下来出现的对话框是询问是否安装JRE(Java Runtime Environment:Java运行环境),这是可选的,因为JDK中已经包含Java的 开发环境 和运行环境(JRE),所以,一般情况下这里点击“取消”按钮即可。

安装完成后的目录介绍:

P.S.

1、JDK无需每次都安装,因为其本身就是绿色版本,可以直接存入U盘,在任何计算机上都可以直接使用。

2、采用安装的方式使用JDK的好处在于其会在注册表中被注册,当JDK出现新版本,会自动更新。

1.3.4. JDK中的命令行工具

 1.JDK安装目录下的bin(binary)文件夹是二进制文件所在的目录,其中的exe文件(都是使用java语言编

写)都是开发Java程序所需要的命令文件。

bin 文件夹是二进制文件所在的目录,其中的exe文件都是开发Java程序所需要的命令文件。

P.S. 这些命令文件并非是图形化方式操作的(双击执行是无效的),而是命令行方式操作的命令文件,所以需要首先打开命令行窗口。

1.3.5. 常用的 dos命令

dir (directory) : 列出当前目录下的文件以及文件夹

md (make directory) : 创建目录

rd (remove directory): 删除目录

cd : (change directory)改变指定目录(进入指定目录)

cd .. : 退回到上一级目录

cd : 退回到根目录

del (delete): 删除文件,删除一堆后缀名一样的文件*.txt

exit : 退出dos命令行

cls : (CLear Screen)清屏

打开 命令提示符 的两种方式

方式一:点击“开始”–>输入“ cmd

方式二:点击“开始”–>点击“所有程序”–>点击“附件”–>点击“命令提示符”

通过cd命令(进入指定目录)进入Javac命令所在的目录下。

P.S.

cd jdk “命令中的 是一种通配符,如果当前目录中有多个文件夹名称匹配,那么会自动进入第一个文件夹名称匹配的文件夹。

通过”cd ..”可以退回到上一级目录。

通过”cd “可以退回到根目录。

输入dir命令(列出当前目录下的文件以及文件夹)。

输入javac命令(后缀exe可写可不写)。

其他命令示例:

首先进入C:test目录,输入md my命令(md是创建目录的命令)。

效果如下:

通过rd my命令删除my目录(rd是删除目录的命令)。

效果如下:

如果my目录不是空目录,则使用rd命令删除不了。这样是为了防止误删除重要数据。

使用cd命令进入my文件夹,使用 del 命令删除文件夹中的文件。

P.S.

删除所有的txt文件,可以通过”del *.txt”实现。

删除所有的文件,可以通过”del *”实现。

然后就可以成功删除my目录了。

通过exit命令退出“命令提示符”窗口。

通过help命令获取所有命令的帮助信息。

通过”help 命令”获取某个命令的帮助信息,例如:”help cd”。

1.3.6. 配置 环境变量

在命令提示符窗口中输入javac命令后,会首先在当前目录中查找是否有该命令文件可以执行。如果没有,则会在path环境变量路径中查找,如果查找到,就会执行该命令。如果还没有找到,那么就会提示错误信息。

为了能在命令提示符窗口中,在任何目录下都能够执行javac命令,则需要将javac所在的目录放入path环境目录中。

具体配置环境变量的步骤如下:

右击“计算机”–>点击“属性”。

点击“高级属性设置”。

点击“环境变量”。

将javac命令文件所在目录放入path路径中。

P.S.

1、一定要将javac命令文件所在目录放入path路径的开头。否则,如果机器上以前已经安装了其他的JDK并且也已经配置了path环境变量,那么执行的javac命令就是以前的JDK中的javac命令。

2、环境变量中的各个路径一定要以 分号 进行分隔。

3、设置path环境变量的时候千万不要删除掉原来的内容。否则,很多程序将无法执行。

点击确定。然后一定要新开一个新的命令提示符窗口,再输入javac命令,就可以执行了。

P.S.

如果一台机器上安装了多个JDK,通过javac -version可以确定使用的JDK当前版本。

配置技巧

为了不因为jdk的目录或者目录名称的改变,而不断更改path的值。从而容易导致对path变量值的误操作,可以通过以下技巧完成。

新创建一个环境变量JAVA_HOME记录jdk的目录。

在path中通过“%%”动态的获取JAVA_HOME的值即可。

P.S.

%path%表示动态获取path环境变量的值。 %JAVA_HOME%表示动态获取名称为JAVA_HOME环境变量的值。

P.S.

SystemRoot环境变量的默认值是C:Windows。

1.3.7. 环境变量配置-临时配置方式

如果在别人的机器上进行Java程序的开发,设置path环境变量就不太好,那么就需要设置临时的环境变量。

临时配置方式:通过dos命令中set命令完成。

set命令:用于查看本机的所有环境变量的信息。

set 变量名:查看具体一个环境变量的值。

set 变量名=:清空一个环境变量的值。

set 变量名=具体值:给指定变量定义具体值。

想要在原有环境变量值基础上添加新值呢? 首先,通过“%变量名%”操作符获取到原有环境变量的值。然后,追加上新值,再赋值给该变量名即可。

P.S.

给path环境变量加入新值:set path=新值;%path%。

P.S.

1、这种配置方式只在当前dos窗口有效。窗口关闭,配置消失。

2、cls是清屏命令。

1.4. Java程序开发体验

1.4.1. 编写运行 Hello World

1.4.2. 将Java代码编写入扩展名为.java的文件中。

①选择最简单的编辑器:

记事本。 ②敲入代码: class Demo{} ③将文件保存为:

Demo.java,这个文件是存放java代码的文件,称为 源文件

P.S

Hello World:代表学习计算机语言的第一个入门小程序。现在泛指接触新事物的第一步。 Class:是java中的关键字,用于定义类,java语言的程序代码都需要定义在类中。 关键字:被java语言赋予了特殊含义的单词。 Demo:为了方便使用这个类,给类自定义的类名。 {}:定义该类中代码的范围。

1、写代码,阅读性第一,功能性第二,一定要注意写代码的格式!

2、源文件名和类名可以不一致,但当class前有修饰符public时,则必须一致。

1.4.3. 通过javac命令对该java文件进行编译。

1.有了java源文件,将其编译成JVM可以识别的文件。 2.在该源文件目录下,通过javac编译工具对Demo.java文件进行编译。

3.如果程序没有错误,没有任何提示,就会在当前目录下出现一个Demo. class文件 ,该文件称为 字节码 文件,也就是可以执行的java的程序。

1.4.4. 通过java命令对生成的class文件进行运行。

1. 有了可执行的java程序(Demo.class字节码文件),通过运行工具java.exe对字节码文件进行执行。 出现提示:缺少一个名称为main的方法。

2. 因为一个程序的执行需要一个起始点或者入口,所以在Demo类中的加入public static void main(String[] args){}

3. 对修改后的Demo.java源文件需要重新编译,生成新的class文件后,再进行执行。

发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是没有可以具体执行的语句。

4. 想要和JVM来个互动,只要在main方法中加入一句System.out.println(“hello java”);。因为对程序进行改动,所以需要再重新编译,然后运行即可。

P.S.

main方法:作用在于保证一个类可以独立运行,因为它是程序的入口。 System.out.println():系统输出打印数据,可以将()中的内容打印在控制台上。通过该语句可以直接在控制台看到jvm运行java程序后的结果。

P.S.

1、javac命令的作用是对java程序进行语法性检查,一旦出错,就会打印出错误信息。

例如:

System.out.println(“hello java”)语句后面缺少分号,就会报错。

根据报错的行数,找到错误的地方,进行修改。然后重编编译,运行。

需要注意的是java会出现连锁错误反应,也就是一个错误,会导致后面程序的多个错误。这时候只需要修改第一个错误,后面的错误都会解决掉。

2、java命令可以启动JVM,然后找到相应的class文件,再寻找程序入口,也就是main方法,然后调用该方法执行java程序。

1.4.5. 常见错误信息

错误可能原因:

1、文件名写错。

2、当前路径下不存在该文件。

3、后缀名问题。

第三种问题查找及解决方案如下:

点击工具–>文件夹选项。

点击“查看”选项,并且勾选掉“隐藏已知文件类型的扩展名”。

然后就可以看到文件真正的后缀名:

只需修改后缀名为java,再重新编译、运行即可。

1.4.6. 配置classpath环境变量

由于可能频繁执行多个class文件,并且多个class文件可能存储在不同的目录下,那么每次都在命令提示符窗口中切换目录会相当的麻烦。

classpath环境变量的作用类似于path环境变量,但是它的作用在于告诉JVM去哪里找到class文件。

JVM查找类文件的顺序: 1、如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件。

2、如果配置了classpath环境,JVM会先在classpath环境变量值的目录中查找要运行的类文件。

示例:

创建两个文件夹:test1、test2,两个文件夹中都有Demo.class文件。

test1文件夹中的Demo.class,打印test1。

test2文件夹中的Demo.class,打印test2。

当前目录为test1,但是设置classpath的值为test2,这样可以看到结果打印为test2。

3、值的结尾处如果加上分号,那么JVM在classpath目录下没有找到要指定的类文件,会在当前目录下再查找一次。

示例:

设置classpath为test1和test2的上一级目录,此目录下不存在Demo.class文件。

设置当前目录为test1,可以看到结果为当前目录test1下的Demo.class被执行。

说明JVM在classpath目录下没有找到Demo.class,又在当前目录下也就是test1目录中进行了查找。

4、值的结尾处如果没有分号,那么JVM在classpath目录下没有找到要指定的类文件,不会在当前目录下查找。即使当前目录下有,也不会运行。

示例:

设置classpath为test1和test2的上一级目录,此目录下不存在Demo.class文件。

设置当前目录为test,可以看到出错信息。

建议:

配置classpath环境变量时,值的结尾处不要加分号,如果需要访问当前目录可以用 “.”(即当前目录)表示,这样可读性更好一些。

文章来源:智云一二三科技

文章标题:java学习系列(二)Java语言概述

文章地址:https://www.zhihuclub.com/176855.shtml

关于作者: 智云科技

热门文章

网站地图