(二)Java概述

来源:互联网 发布:2017淘宝规则 编辑:程序博客网 时间:2024/05/21 06:49


任务:

1、Java三种技术架构

2、Java语言特性(跨平台原理) 

3、Java开发环境搭建(JRE、JDK区别,下载、安装JDK,测试)

4、环境变量path配置(永久性配置、技巧性配置、临时性配置)

5、hello world书写

 

1.Java三种技术架构

Java语言对于开发方向又提供了三种技术方式,也就是三种架构方向。不同的架构可以应用到不同的领域中。

J2SE:标准版,可以开发普通桌面的应用程序,Java语言的标准,学习Java的基础。例如:feiq,扫雷,扑克牌等。

J2EE:企业版,是企业级的开发,主要面向企业,针对web应用程序的开发。

J2ME:小型版,主要用于开发电子消费产品。如手机中的应用程序,现在已经被安卓取代。

Java版本问题:

Java5之后:

J2SE:JAVASE

J2EE:JAVAEE

J2ME:JAVAME


2.Java语言特性(跨平台原理)

Java的一些特性:

1、开源,免费的,你可以看见Java是怎样写的。

2、跨平台性,使用Java应用开发的软件可以在任何平台上运行。

2.1、什么是跨平台

平台:可以指多方面,如职业平台,那在我们这里指的是操作系统

跨平台:跨操作系统。

 

Java编写的程序或者软件不仅可以在windows上面运行,还可以在Linux和mac上面运行,这就是可以在任何操作系统上面运行。

2.2跨平台原理

Java跨平台原理:

Java开发的所有程序都可以在任何的操作系统上运行,主要是因为在不同的操作系统上装上了不同的软件(Java虚拟机)。Jvm(Java VirtualMachine)

 

总结:Java程序如果要在操作系统上面运行,必须要通过一种软件,jvm虚拟机。

不同的操作系统对应不同版本的jvm.


3.Java开发环境搭建(掌握)

无论以后用什么语言开发,首先第一步都要有环境,没有环境我们就无法跑起来程序,所以既然已经了解Java程序在操作系统上面运行,要首先通过jvm虚拟机,那么我们接下来要先安装Java的运行的相关环境,即jvm.

在搭建环境之前我们首先要了解两个概念:JRE和JDK。

3.1什么是jre

Jre的全英文名是:Java Runtime Environment   Java运行环境。

Jvm的英文全称是:Java Virtual Machine  java虚拟机。它是核心,但是要运行一个Java程序,核心有可能还不够,他还得需要一些相关的核心辅助工具。这个辅助工具我们把他们称为核心类库,这里面存放的程序所需要的最基本的和最核心的内容。

所以由jvm和核心类库就组成了jre.

Jre=jvm(虚拟机)+核心类库。

现在有了jre,我们就可以在计算机上面运行Java程序了。

但是我们学习Java不是要运行的,我们要做开发的。

总结:jre只是负责运行Java程序的。

3.2 什么是jdk

举个例子:如果你想玩游戏的话,jre就足够了,如果你想做游戏的话,那必须的安装jdk。

Jre只是运行Java程序的,那么我们要做开发,我们就得需要与开发相关的工具。

Jdk(JavaDevelopment Kit):java开发工具包。

jdk提供给Java开发人员使用的。我们使用jdk开发的程序要交给jre去运行。

注意:实际上,jdk也包含了jre。

Jdk=开发工具包+jre(jvm+核心类库)。

结论:所以安装完jdk我们就不用安装jre了。

3.3 下载jdk(参考jdk下载文档)

官方网址:www.oracle.com 。去官网下载jdk。

参考JDK下载步骤.doc文档

3.4JDK安装和测试

参考Java开发环境JDK的安装.doc文档

JDK安装完成后会有如下图所示的目录:

  bin:全称是binary,表示二进制的意思。Bin里面装的全都是工具或者叫做命令,或者叫做可执行应用程序。里面存放的基本都是 .exe文件。

Jre:表示jdk里面的运行目录。

Lib:存放的是类库。

Src.zip:Java的一些源代码。

测试:

首先去bin目录,bin目录下面都是安装工具,要执行.exe.一般会用双击,如果双击没有反应,说明这个软件不是图形化界面软件。

一个软件的运行方式有两种:

一是图形化界面,另一种是命令行方式。如果双击一闪而过,没有什么反映,很有可能该软件不是图形化界面软件,需要在命令行中打开。

测试jdk是否安装成功:

1、打开命令行,必须得切换到jdk的bin目录。        

2、在当前的命令窗口可以使用bin目录下面的任何一个应用程序。

注意:如果出现下面的问题,说明JDK安装有问题,需要重新安装:


4.环境变量path配置

需求:希望在任何的目录下都可以去运行我们安装的JDK中bin目录下的程序。

说一些和Java无关的东西:

计算器的命令:calc.exe;记事本的命令:notepad.exe。

如果你想要执行某个应用程序的时候,而我们现在不在这个应用程序所在目录下面,那我们怎么办呢?

一是我去该应用程序所在目录去执行,要么你可以做另外一点,这是windows非常好的一点,你把这个应用程序所在的目录告诉我。

在操作系统中有一个path变量,在这个变量中可以配置任何目录下可以直接运行的程序。

把上面的应用程序路径放在path变量中。

4.1 永久性配置(掌握)

解释:

环境:指的是windows的环境。变量:会变化的数据。

解释:

系统变量的path:

path是名称为路径的变量,这个路径记录的就是应用程序的路径。(.exe文件)

在path变量里面已经存放了其他应用程序的路径,在这里我们要把bin下面所有的命令所在的目录放到path里面。

由于path变量中还有其他程序的路径,我们再次增加目录的时候,千万一定要注意不要删除原来的路径。

在path中增加jdk的bin目录的步骤:

1.复制jdk的bin目录的路径

2.打开系统变量中的path变量,点击编辑,然后将光标移动到最前面按shift+home键:

3.将复制的jdk的bin目录粘贴到光标处,然后在bin目录下面加个英文分号:

4.点击确定即可。

测试是否配置成功:

配置完环境变量之后一定要重新开个dos命令,在任意目录下输入Java或者javac,如果有如下提示信息,则配置成功。

注意:

Windows找命令的方式,找的方式第一种是帮你在当前目录找,如果找不到,第二种就会去指定的位置帮你去找。那指定的位置在哪呢,指定的位置就是在环境变量path这。

总结:

Path的原理:path变量主要用于记录什么?

主要是记录应用程序的路径,其中.exe是应用程序的一个类型。

注意(很重要):

Path不是Java中的变量。Path和Java本身没有任何关系。它是操作系统中的一个变量,主要在这个变量中配置可以直接运行的应用程序。

Path变量是提供给操作系统使用的变量,当我们在dos窗口中输入了某个程序或某个命令之后,操作系统这时会在当前这个目录下查找有没有这个程序或者命令,如果有就直接运行。如果没有这时操作系统会自动的到path中配置的所有路径中再次查找有没有当前输入的程序或命令。如果有也可以运行起来,如果这时还没有,就会提示当前程序或者命令不是内部或外部命令。

4.2技巧性配置

配置路径的技巧方法:

需求:在配置完path变量后,我们的JDK目录更改了,我们该怎么办?

原来jdk所在的目录:F:\java\jdk1.7.0_51\bin

E:\java\RRR\bin

F:\haha\jDD\bin

d:\hehehe\jdk1.7.0_51\bin

解决方法:去path变量中更改JDK的目录。

弊端:这种多次修改path变量,难免会造成其他的路径误修改。

更优方案:我们可以把jdk中可能发生变化的目录重新配置到一个新的变量中,把不变的写在path中。

例如:

F:\haha\jdk1.7.0_51\bin

E:\java\jdk1.7.0_51\bin

X=E:\java\jdk1.7.0_51;

x=F:\haha\jdk1.7.0_51

path=x\bin;

x=f:\java\jdk\jdk1.6.0_33

x定义变量没问题,但是用的时候啊,不行。

这里不能写x,这里写x会被path误以为这是个文件夹,把x叫abc。

path=abc\bin;

abc=f:\java\jdk\jdk1.6.0_33

系统会以为bin是abc文件夹下面的.

问题:怎么区分他是个变量,而不是个目录?

解决办法:

他的区分方式是:path=%abc%\bin;

%abc%表示用百分号取abc变量的值。

在实际中我们一般不用abc,而用JAVA_HOME

JAVA_HOME=E:\java\jdk1.7.0_51

Path=%JAVA_HOME%\bin;

%JAVA_HOME%:百分号表示去读取变量名为JAVA_HOME的值。

4.3临时性配置

这种环境变量设置只在当前窗口有效。输入help

SET            显示、设置或删除Windows 环境变量。

临时配置路径的方法:

Set:显示本台计算机所有的环境变量。

Set 变量名:显示具体环境变量的信息 set path

Set 变量名=具体值:给指定变量定义具体的值

Set 变量名=具体值;%变量名%

说明:百分号之间的path变量名指的是原来必须已经存在的变量名。

Set 变量名=   表示删除环境变量的值。

通过dos命令中set来完成。只针对当前的dos窗口。


5.HelloWorld书写

那么到现在为止呢,我们的环境就算搭建成功了,初期我们搭环境的目的也就是为了写个小程序。那既然我们要编写Java程序了,书写java语言,必须得有代码的编辑器。写Java的编辑器你可以有很多种,其中呢,最早老程序员用的都是电脑中的记事本,而我们不用记事本,是因为记事本编写代码效果不是很好,他里面是纯文本,不带格式,不带颜色,不带行号,这些程序最基本的需求他都不带,阅读起来和调试起来不方便,不容易找错。

我们准备用EditPlus编辑器,他带着行号,带着颜色,它的格式更容易懂,看着舒服。

5.1编写程序

有的同学第一次打开,会有提示购买之类的对话框,你可以在你的安装文件中找到,打开,输入到提示信息就可以。

首先,我们要知道一点,Java语言编写出来的代码都必须有一个指定的存放位置,这个位置就叫做类。就是一类一类存在的,类是Java代码的一个单位,那么我们要先写一个类,我们指定一个单词,这个单词是Java指定好的,我们不能随便改,也不能随便瞎写。这个单词叫做class,用这个单词来定义类。

类定义完成之后,我们要用的时候还得有个名字,这个名字你起的时候尽量按照Java规范去写,主要由字母组成,带数字也可以。首字母大写,如果由多个单词组成,每个单词首字母大写,这里面起个名字你比如叫做Demo,叫做abc也可以,你只是记得首字母大写就可以了,定义完名字以后,我们还要给这个类定义个范围,因为类里面装的都是Java语言的代码,代码从哪到哪都是他的啊,所以得有范围,范围的表示方法:{},这就是定义了Java中的类。

接下来保存,文件名随便写,扩展名不能随便写,必须得固定。

扩展名的作用:

扩展名是标识文件类型用的。

在Java中扩展名叫做java。

注意:

上面写的 .java文件叫做源文件。源文件就是用Java语言的形式写了一个程序文件,这个文件是不能够运行的。必须将java源文件翻译成计算机能够认识的二进制的机器语言,此文件才能够运行。

5.2编译程序

如果我们想测试运行这个Java程序,必须经过2步才能完成:

源程序需要经过编译:

编译的步骤:

1、首先需要打开dos窗口,然后切换到当前java源文件所在的目录中。

2、在当前java文件在的所在目录中使用javac命令编译源代码。编译过程中如果程序没有任何的错误,就会在相对应的目录得到对应的class文件。

用法:Javac 源文件

通过javac 123.java将123.java文件编译成Demo.class

Demo.class文件是编译器编译完源文件之后产生的文件,叫做机器码文件。这个在Java里面称作为字节码文件,也叫做类文件,也叫做Java的运行程序。

123.Java叫做Java源文件。

Demo.class叫做Java类文件,也叫做Java程序文件。凡是Java程序文件都是二进制文件。

5.3运行程序

执行Java程序的时候需要启动Java的虚拟机,那么怎么样来启动虚拟机呢,在java中启动虚拟机用jdk的bin目录下面的Java.exe来启动。Java.exe就是来启动虚拟机来执行Java程序的文件Demo.class.

注意:虚拟机在执行Java程序的时候是不需要写.class的。因为多余,Java应用程序的名字固定就是.class.

运行程序的步骤:

1、在class文件所在的目录下使用java命令运行程序。

注意:在运行class文件的时候,dos命令中输入的java class文件名,不能包含扩展名。

如果程序运行没有问题,就会得到相应的效果,如果程序有问题,就提示错误信息。

在运行我们的第一个Java程序的时候出现的错误:

以上方法是固定的,大小写要一致。

5.4第一个错误排查

上述的第一个错误是告诉我们程序中缺少一个主方法。需要我们在程序中添加主方法。

主方法需要添加在类Demo中,主方法也要有个范围。既然是方法它里面也要定义东西的,所以主方法里面的定义的东西也要有范围。

注意:每次修改完Java源代码,都需要保存,并重新编译。编译后的class文件会将原来的class文件覆盖。

为了能够让java程序能够顺利运行必须得在类中加上主方法。

上面的主方法的作用就是可以保证一个类或者Java程序能够运行,换句话说,Java程序能够运行,那么里面要加主方法。如果程序不需要运行,就可以不加主方法。任何程序都是有需求的,加与不加都要满足任何需求的,千万不要以为一个Java程序就一定要写主方法,需不需要得看你的需求当中,有没有要求说要独立运行,如果有则加上主方法,如果没有,则不用加主方法。

为了能够让用户在屏幕上看到程序的运行效果,能够实现互动,于是在主方法里面写了如下代码:

System:表示系统。out:表示输出。print:打印。ln是line表示线的意思,换行的意思。加上ln表示数据后面多个换行,

不加ln就没有换行,

缩进,增加代码的可读性

5.5HelloWorld的组成部分说明

class Demo{

         public static voidmain(String[] args)

         {

                  System.out.print("hello Java");

         }

}

class Demo:表示通过class关键字定义了一个名称为Demo的类。

1)class在java中表示关键字,中文翻译叫做类。不能改变,必须是class。

2)Demo表示名称,名字可以任意。

public staticvoid main(String[] args):表示为了保证程序的正确运行,定义了一个主方法,格式是固定的,具体的在这里先不做过多解释,后面会详细介绍。

System.out.print("hello Java");表示输出语句,作用是将括号中的数据显示到屏幕上面。

 

原创粉丝点击