Java开发环境配置-讲解

时间:2022-03-25 15:56:49

Java语言概述

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

是一种面向Internet的编程语言,随着Java技术在Web方面的不断成熟,已经成 为Web应用程序的首选开发语言。

是简单易学、完全面向对象、安全可靠,与平台无关的编程语言。

Java包括Java语言和Java平台。

2009年SUN公司被Oracle公司收购。

Java开发环境配置-讲解

Java技术分为三个版本

JavaSE(Java Platform Standard Edition,标准版)用来开发桌面应用、C/S结构网络应该,是JavaEE的基础,是Java技术体系的核心。是本门课程的内容。

JavaEE(Java Platform, Enterprise Edition,企业版)用来开发企业环境下的应用程序,通常来说,JavaEE包含JSP、Servlet、JDBC、XML等13种技术。Java课程体系中,后续会重点学习这部分内容。

Java ME(Java Platform Micro Edition,微型版)用于小规模的嵌入式开发,适 合手机等嵌入式设备。课程体系中不涉及此版本。

那java语言有哪些特点呢,这里呢我列出了一下几点:

跨平台

解释执行

面向对象(应逐步建立面向对象的编程思想)

自动垃圾回收

鲁棒

支持多线程编程

简单性

当然可能不同的教科书可以总结出不同的条目,在这里列出来的就是比较重要的,那其中尤其重要的是面向对象,在这门课程里边,我们一定要逐步的建立面向对象的编程思想。 对于java一个非常闪光的特点,就是第一条跨平台,接下来我们对每一条特点来具体的分析一下。

跨平台:那么什么是平台,我们可以简单的理解成是我们的操作系统,我的是windows7,那有人可能是linux还有人可能是其他的一些平台。这个意思就是说,如果说我现在写了一个Java的游戏,这个游戏在我的windows机器上可以运行,那另外一台机器是linux系统,他也想玩这个游戏,我不用重新再去编写这个游戏,我只要把我这个文件呢拿给linux系统上再去编译运行就可以了,这就是所谓的跨平台,简单的说他的含义就是我们使用java语言开发应用的时候,不需要用为每一种平台开发不同的程序,只要开发一套程序就可以运行在不同的平台上。那他到底是怎样去实现跨平台的呢,主要是依靠java语言,java平台中所提供的叫java虚拟机,后边我们还会介绍到,叫JVM(Java Virtual Machine )。那java虚拟机的作用是,他是和平台相关的,也就是说我们在windows机器上,应该装windows版本的java虚拟机,linux机器上应该装linux版本的java虚拟机。那java虚拟机里边呢有解释器,他可以根据不同平台的规范,把java语言翻译的字节码翻译成和当前平台相关的二进制,所以当前平台就可以执行了。,这样就可以达到编写一次,处处运行。

解释执行:刚刚已经说过了,一个java程序的运行的过程是什么呢,我们可以看一下,首先呢我们在写一个java程序的时候存的都是一个.java文件,这在后边呢我们都可以详细学到,那写完这个.java文件我们称为叫源文件,要想能够运行,我们首先呢要对他进行

编译,对一个java文件进行编译之后,产生的是一个class文件,那这个class文件呢,我们就称为是字节码文件,也就是说要让一个java程序能够运行的话,操作系统上就必须有java虚拟机,java虚拟机做了什么事情呢,就是在运行的时候先把我们翻译生成的一个class文件都解释成机器码。那解释的过程,可想而知会影响一定的效率,但是随着我们目前硬件的速度非常非常快的提升,这部分损失的效率呢可以逐渐被忽略了,可以说解释执行这个特点和我们刚刚讲的那个跨平台的特点是紧密相关的。

面向对象:面向对象语言,当然不只java语言一门,比如说C++、C#都是面向对象的语言,他是一个比较宽泛的一个概念。面向对象语言三大特征:封装、继承、多态。封装、继承、多态,这个在我们整个课程中呢,也会在不同的章节中具体的去学习。这三个特点不是java语言独有的,只要这个语言是面向对象的他都有这三大特征,那面向对象这个概念呢,我们在后边还会详细的去学习,但是面向对象的这个思想肯定是逐步才能够建立起来的,我们一定要理解什么是对象,什么叫对象,对象后边我们会具体的学,对象实际上就是封装了属性和他的行为,可以说是万物皆对象。

自动垃圾回收:首先我们要了解什么是垃圾,垃圾指的就是那些存在内存里的数据,但是他其实已经不会再使用了,占着这个内存显然会造成浪费,那这样的数据呢,就称为是垃圾。那么这个垃圾回收,就是把他清空,让内存得到释放,可以再次被利用,那么在java语言里边这个垃圾回收是自动的,也就是说我们程序员是没有权利回收内存的。那他是怎么做到的呢,因为有一个系统级线程,跟踪每一个存储空间的分配情况,在JVM空闲周期,垃圾收集线程检查,释放内存。那可以理解成java语言里边的垃圾呢不用我们去管,当然在后边逐步深入学习的时候会发现我们的一些编程习惯其实还是会影响内存的使用,但是对于内存里边这个垃圾的回收,他是靠系统级的线程自己去做的,这样会解放了程序员,相对来说也是在呼应后边有一个特点叫简单性,这也是简单性的一个体现。

鲁棒:鲁棒即健壮的意思,所谓健壮的意思就是说,我们写完的程序不能因为用户的一个不小心的操作或者是一个意外的事件就崩溃了,而是当发生这种事件的时候呢,会给用户一个友好的提示,纠正用户的输入,程序再正常的运行下去。一个简单的例子,当我们使用计算器的时候,可能不小心输入了100除以0,那这个时候不会让计算器崩溃掉,而是会提示一下除数不能使0,我们可以纠正一下,然后继续使用这个计算器,这就是鲁棒性的一个体现。

那么java语言,有很多机制来保证程序的鲁棒性,如异常处理机制,但是异常处理机制呢,java语言也没有太多的突破。

多线程:这也不是多出彩的地方,很多语言也都支持,java语言也支持,在我们这个课程的后边我们会学习用java如何去写多线程的程序。

简单性:并不是说我们学java语言一看就明白,肯定还是需要很多努力的。而是说一系列的机制本身的一些改善和支持,使得我们学习java编程相对会容易一些。

那总结一下,现在我们对java语言本身和java平台有了更直观的一个认识,java技术呢有三个版本。java语言的特点,其中有几个重要的特点,面向对象呢是整个课程里边的重点,会逐步的建立起面向对象的思想。那么其中java一个非常值得去说的一个特点就是跨平台性,那怎么去实现跨平台的呢,主要是依靠java虚拟机里边的解释器,对java语言进行解释执行。这里边还有一些很重要的特点,包括自动的垃圾回收啊,在java语言里边不用我们程序员写程序去回收那些垃圾,而是由后台线程会去做,这一节呢我们主要了解一下java语言本身的一些特点,很多知识点呢都会在后边课程中逐步的去深入。

环境搭建

俗话说工欲善其事,必先利其器,那么对于我们开发java程序首先呢我们必须要搭建好开发和运行的环境。那开发环境呢,首先我们需要安装jdk,有了jdk之后我们就可以开发并运行一个应用了。但是在实际的工作中呢,我们往往可能需要借助一些集成开发工具来提高我们的开发效率,但其实没有集成开发工具,只要有jdk,使用记事本也可以去编写java应用,不管多复杂都可以,但是那样的话呢所有代码都得自己去写,所有的错误都要自己去调,相对来说效率会低,所以在实际工作中呢,肯定会借助一些开发工具的。

我们先看一下jdk,可以去官网下载,下载之后直接默认安装即可。默认安装在的是C盘下的Program Files目录下。

Eclipse也可以去官网下载,下载之后直接解压就可以使用了,有一些版本呢在解压的时候会让你去选择jdk的目录,那么有的版本不需要,那是因为这个版本中已经集成了jdk,可以见到jdk是最根本的,那么接下来看一看jdk到底是什么。

JDK(Java Development Kit) :给Java开发人员使用的工具包,包括Java的开发工具,也包括JRE。其中开发工具中包括编译工具(javac.exe)、运行工具(java.exe)、打包工具(jar.exe)等。

JRE (Java Runtime Enviroment):Java的运行环境,包括Java虚拟机和Java程序运行所需的核心类库。

可以看到两者之间的关系是:

JDK=JRE+开发工具

JRE=JVM+核心类库

JRE是所谓的java运行环境,其实你的电脑只是想运行,实际上就有JRE就可以了。 看一下jdk的安装目录, bin下边存的都是一些exe文件,都是一些工具,所以这个就是工具目录。比如说我要想去编译就是javac.exe,运行就是java.exe,那lib呢就是他的一些类库。jre呢就是他的运行环境。还有src.zip是类库的源文件,那这个就是我们安装完jdk之后他的一个基本的目录结构。

安装完之后我要想使用呢,需要在环境变量里进行配置,主要配置java_home指的是jdk的根目录,path指的是jdk下的bin目录,下边我们来看一下如何来配置这样的环境变量。

(电脑操作演示)

这里还需要配置一个classpath,我们在前边加上一个点用分号隔开就可以了,.(点)指的当前路径,classpath顾名思义是类的路径,就是当你要找到java类的时候,他会在这些路径里边去找,.(点)的意思就是说在当前目录里边去找。

配置好了之后,我们可以看看有没有配置成功,就是打开DOS命令,cmd——javac,我们如果看到底下出来的是这样的,提示你可能有一些其他的命令,这就代表已经配置成功了,但是如果底下提示说是没有此命令啊之类的错误,就代表你没有配置成功。

那这里我们已经配置好了,接下来呢,我们就可以使用记事本去编写一个最简单的java类。

打开这个记事本我们来看这个java类,如果我们从来没有了解过java类的同学可能会有些生疏,不要紧,先不去纠细节。

public class Test {

public static void main(String[] args){

System.out.println("test");

}

}

先保存一下,源文件后缀一定是.java,那么名字呢和类的名字一样,java里边是大小写敏感的,一定要注意大小写一致,保存好。

保存好之后我们就要去编译运行他。

先到我的源文件目录下,他的命令是d:—cd ch01,编译javac Test.java,这个时候我们去看一下他所生成的一些变化,编译完之后生成了一个Test.class文件,这是一个类文件,字节码文件,他相当于一个半成品,也就是说我们的机器是不能够直接运行的,他不是机器码,我们的机器他只认识机器码。那么现在怎么去运行他呢,我们用java这个命令,后边写的是class这个名字,不需要加后缀,即java Test,这样就看到了运行结果。

但是如果在编译的过程中出现错误,比如将源码中的输出语句去掉分号,我们再编译一下,他就会报错,这样的话我们就需要再去修改,修改之后不要忘记保存,再去编译就可以成功了。

通过这个例子我们可以看到,原来只要我机子上有了jdk,我只用记事本就可以编写java的类,也能够去运行他,用的就是jdk里边的工具。

在实际的我们的工作中呢,不可能一个工程这么简单,他肯定是有比较复杂的功能,需要些若干个类,若干行代码,要不断的调式、修改,那么我们肯定不会在实际工作中用记事本,一般都会用集成开发工具,那集成开发工具,在课程中我们使用的是最常用的一个免费的,叫eclipse,是IBM公司的,那么eclipse只要到官网上去下载解压就可以。

在第一次打开的时候呢,他会让你选择他的workspace,就是他的工作空间,所谓工作空间,就是你在这个工作空间下所保存的项目代码都保存到相应的目录下。

(电脑操作)

我们学的是第一章,所以我们新建java project-叫ch01,看一下刚刚工作空间的目录啊,就生成了咱们刚刚新建的java项目,src是存源文件的地方,bin是之后存class的地方。

有了这样的工程,我们就可以去创建一个java类,我们看一下集成开发工具的好处是什么呢,我在创建类的时候,我可以去选择我要生成的一些方法,目前我需要一个main方法(操作),那各位学员如果说之前没有学过java,那这块不要去纠结细节,先大概去了解,后面我们都具体会学。(操作第一个类,可以展现一下集成开发工具的好处)只要没有红叉,就代表编译通过,就不需要javac再去编译,运行java application。

那进行一下总结,到目前为止呢我们已经在我的机器上,大家也可以跟着做,把开发和运行的环境已经搭建好,最关键的是一定要先去下载安装一个jdk,jdk是分不同的版本的,看清楚安装的是什么版本的,默认安装之后大家知道目录是在哪里的,如果说不使用eclipse的话我们可以手工去编译运行,但是在实际开发过程中,基本上我们还是使用集成开发环境,所以我们现在呢还要去下载解压一个eclipse,有了eclipse之后呢我们的开发会更为有效,更为便捷。

那到现在为止呢我们已经有了它的一个开发和运行的环境,接下来我们就可以逐步的去学习java语言,用java语言去编程。

第一个Java类

目前我们已经搭建好了java的开发和运行环境,而且已经实践了如何去编写一个java类,如何去运行,接下来我们来详细的学习一下、分析一下我们的一个java类,那这个java

类呢我们写的还是相对比较简单,主要的目标呢还是去学习java类的一个结构和编译运行的时候需要注意的一些问题。

下面呢让我们在例子里边去创建运行一个java类,通过不断的修改呢,我们看一看里边会有什么样的问题。

(电脑操作)

操作类,创建一个First类,可以先不去勾选main方法,这样呢生成的就是一个简单的java类,可能有一些关键字,我们大家都还不太清楚,比如说public,这个后边我们都会学习到,class代表他是一个类,First是这个类的名字,一段大括号里边呢我们叫做类体,那类里边怎么去写呢,我们从第二章开始会详细的学习,那下面呢我们先简单看一下,要想让我们这个类能够运行怎么办呢,一个类要想能够运行,我们必须去写一个main方法,main方法是按照规定的,必须是public static void main,参数呢一定是数组,当然参数名可以写成别的,然后一段大括号,是方法的方法体,他里边就可以写一些你想要运行的代码,比如说可以写打印输出一条语句,就可以运行这个类。我们先研究一下这个main方法,比如说我把这个static去掉,发现没有编译问题,运行的时候我们发现就不能运行,也就是说必须有main方法的类才可以运行,没有main方法的类是不能够运行的,那这样的类有什么用呢,在后边的学习中我们可以看到,他不能够直接运行,可以在其他类的main方法中,我们可以去调用它,后边我们会不断的学习到。然后我们模仿这个main方法,自己创建一个方法,虽然现在我们还不太了解,但我们先来模仿一下看看,来试一试,创建一个test()方法,打印输出一行,那现在我再去运行,会不会先输出他再输出他呢,我们来看一下,我们看到依然输出的只是main方法里的输出语句,我们可以发现,一个类里边呢可以有多个方法,但是他只运行main方法,那main方法里边的代码决定了运行的效果,要想让他也输出另一个方法怎么办呢,需要在main里边呢去调用,咱们在这一章里边呢,依然不要太在意语言本身的细节,先去了解基本的概念,这个时候我们再去看一下,看到底下都输出了。

那么对类里边的主方法呢,我们大概了解,规范一定要记住,那其他方法的作用呢就是被调用的。

我们再看一下类的名字,修改类的名字试一下(将源文件修改为FirstClass,类里边依然叫First),可以看到有编译错误,如果一个类是被public修饰,那么这个类所在的源文件的名字必须是和这个类名是一模一样的,要注意java语言里边的大小写是敏感的,如果一个类是public类,那么他所在的文件名必须和类名是一样呢,而且大小写敏感。

那有人说在这个文件里边,我可不可以再写其他的类啊,比如再写一个classSecond,发现完全没问题,那这个类能不能用public呢,我们分析一下就可以知道,在一个源文件里最多只能有一个public类,虽然在一个源文件里我们允许有多个类,但最多只能有一个public类。但是在实际的工作中,我们不推荐这样去使用的,我们往往是在一个源文件里就只有一个java类,可能很特殊的情况,我们有一个类呢,只在当前的这个里边调用一下,但非常少,几乎我们都是一个文件里边只有写一个类,这样比较好管理,我通过文件名呢就能找到我想要的类,比如说像刚才的SecondClass在当前的文件下,在src下我们根本不知道在哪,根本找不着,所以我们基本上都是一个源文件只是对应一个java类,这样的一个过程。

public class First {

public static void test(){

System.out.println(“test”);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("This is my First Class");

}

}

class SecondClass{}

那对于这个FirstClass我们可以看到,我们主要是要了解相关的一些概念,首先是主方法的认识,他是一个程序运行的入口,如果一个类里边没有main方法,他不能够运行,只有在main里边调用才能够看到效果,一个类必须存在在一个.java文件里,源文件的名字必须和类里边的public的类名完全一致,大小写是敏感的,一个源文件里边虽然允许有多个类,但只能有一个public类,但是实际中不建议这么去做,一个源文件里边只有一个java类是最好的。

那么这个呢就是我们本节要熟悉的,总结一下:

Java开发环境配置-讲解

Java的源文件均为.java文件

Java开发环境配置-讲解

一个Java文件中可以有多个类,但是通常建议为一个

Java开发环境配置-讲解

.java文件名必须与public类名同名,如果类不是public,文件名可以不与类同名,但是不建议如此

Java开发环境配置-讲解

一个Java类如果需要运行,必须有符合规范的main方法,即public static void修饰的main方法,参数为String[]

在这一节中大家不要太纠结于语言本身,先了解基本的概念。

Java免费学习资料直播公开课加老师QQ578024144