美文网首页
java学习系列(二)Java语言概述

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

作者: HANG_GE110 | 来源:发表于2022-02-09 10:08 被阅读0次

    1.�Java语言是SUN公司(Stanford�University�Network,斯坦福大学网络公司)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、Windows�Phone等手机操作系统,所以J2ME架构基本上已经不用

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

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

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

    1.2.1. 什么是跨平台性?

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

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

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

    1.2.2. 原理是什么?

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

    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会自动跳转到http://www.oracle.com/technetwork/java/index.html

    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 Files\Java\jdk1.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.haomeiwen.com/subject/dnkwkrtx.html