免费试听
登录/注册体验更全面的学习服务
Java语言程序设计(一)基础学习班--曲 直
您可以免费试用讲义功能,购买课程后,可对讲义进行下载、打印。
  目录
  01 简介
  02 开发环境
  03 程序示例
  04 API文档
  05 面向对象技术
  
  01 简介
  Java语言的前身是Oak语言,是美国Sun Microsystems公司于 1991年推出的,仅限于公司内部使用的语言。1995年,Sun公司将 Oak语言更名为Java语言,并正式向公众推出。
  2009年美国Oracle公司收购Sun公司,从此,Java语言的更新版本改由Oracle公司发布。
  Java是一种功能强大的程序设计语言,既是开发环境,又是应用环境,它代表一种新的计算模式。
  Java语言的基本概念
Java语言 面向对象的程序设计语言
与机器无关的二进制格式的类文件
Java虚拟机(用来执行类文件)
完整的软件程序包(跨平台的API和类库)
  JAVA语言的三种技术架构
J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。
该技术体系中包含的技术如 Servlet Jsp等,主要针对于Web应用程序开发。
J2SEJava 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案。
该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。
比如Java版的扫雷。
J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案。
该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
Java5.0版本后,更名为 JAVAEE JAVASE JAVAME
  java语言的特点
1.语法简单,功能强大,安全可靠
Java没有指针、结构和类型定义等概念,不再有全局变量,没有#include和#define等预处理器,也没有多重继承的机制。Java语言具有自动无用内存回收机制,不需要程序员自己释放占用的内存空间,因此不会引发因内存混乱而导致的系统崩溃。Java是一种强类型语言,编写程序时必须严格遵守编程规范,编译程序能够检查出尽可能多的语法错误。
Java程序通过对象的封装、类的继承、方法的多态等机制,实现了代码的复用,信息隐藏、动态绑定等特性,可以开发出非常复杂的系统,但又不失程序的易读性。
2.与平台无关
Java语言一个非常重要的特点就是与平台的无关性,Java虚拟机(JVM)是实现这一特点的关键。JVM是一台虚拟机,类似于一个小巧而高效的CPU。
通过Java语言编写的应用程序在不同的系统平台上都可以运行,不需要重新编译。只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可,由JVM来负责Java程序在该系统中的运行。
3.解释编译两种运行方式
加入即时编译功能,编译器将字节码转换成本机的机器代码,然后能够以较高速度运行,即一次编译,到处运行,大大提高效率。
4.多线程
单线程一个时刻只能做一件事情,多线程允许在同一时刻同时做多件事情。Java提供的同步机制可保证各线程对共享数据的正确操作,完成各自的特定任务。
5.动态执行兼有丰富的API文档及类库
Java执行代码是在运行时动态载入的,程序可以自动进行版本升级。java为用户提供了详尽的API说明文档,减少工作量和开发难度。
  
  02 开发环境
  开发环境的安装
  1.JDK
  JDK是原Sun公司提供的软件包,其实含有编写和运行java程序的所有工具,安装过程中还要正确设置Path和ClassPath环境变量,这样系统才能找到javac.exe(编译器)java.exe(解释器)所在的目录,并能正确执行相关命令。
  2.文件下载
  地址://www.oracle.com/technetwork/java/javase/downloads/index.html
  *傻瓜式安装,下一步即可,安装路径不要有中文或者特殊符号如空格等。当提示安装JRE时,可以选择不安装
  软件安装
  \bin目录下主要的Java开发工具及其用途如下:
  ·javac : Java编译器,用来将Java程序编译成字节码。
  ·java: Java解释器,执行已经转换成字节码的Java程序。
  ·jdb: Java调试器,用来调试Java程序。
  ·javap:反编译,将类文件还原回方法和变量。
  ·javadoc:文档生成器,创建HTML文件。
  设置环境变量
  控制面板--系统--高级--环境变量,编辑path环境变量,在变量值开始处加上java工具所在目录,后面用 “;”和其他值分隔开即可。安装地址如图
  
  用户变量:在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
  系统变量:新建 CLASSPATH 变量,变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  结果显示
  在命令行输入javac 系统给出帮助信息说明设置正确
  
  
  03 程序示例
  Java程序分两种,一种是Java应用程序,一种是Java小应用程序,我们这里讲的都是Java应用程序。
  Java程序由类构成,含有一个main()方法,称为主函数或主方法,main方法结束,整个程序也结束,java程序文件的扩展名是.java,编译后生成的字节码文件的扩展名是.class,需要由JVM虚拟机载入并解释执行。
  用记事本编写我们的第一个程序,写好把txt后缀改为.java
  
  一个类中只能有一个公有类,类的名字就是该文件的名字,因为程序没有给出命令行参数所以args数组为空,main()方法作为程序的入口,找不到就不执行,main()方法前有三个参数,语法规定的不能缺少,也不能替换为其他内容顺序可以稍有变化,也可以写为 static public void 。
  重点要素
  public:该关键字说明方法main( )是公有方法,它可被任何方法访问,实际上,main( )方法只被java解释器调用。
  static:该关键字告诉编译器main( )方法是静态方法,不需要通过该类的实例来调用,如果一个方法不是静态的,要先创建类的实例,然后才能调用实例的方法。
  void:main( )方法不返回任何值。如果方法没有返回值,则必须说明为void,不可省略。如果方法有返回值,则以返回值类型替换void。
  String args[ ]:表示命令行参数。
  程序的最后两行是两个大括号,表示方法main( ) 和类HelloWorldApp的结束。注意程序中大括号的个数一定要匹配。
  Java程序编写好后,如果要在计算机上运行,必须经过编译和解释执行两个阶段。
  编译
  输入时注意大小写,因为Java语言区分大小写源文件是文本形式的文件,Java的执行系统是不能识别的,它必须经过编译,生成字节码的类文件后才能运行。类文件是二进制格式的,它有统一的格式,JVM可以识别类文件并执行它。创建HelloWorldApp.java源文件后,可以用下面的命令编译:
  $ javac HelloWorldApp.java
  编译一个程序的命令格式是:
  javac [选项] 源文件名
  如果编译器没有返回任何错误信息,则表示编译成功,源文件正确,此时系统在同一目录下生成了新文件HelloWorldApp.class。如果程序是由多个文件组成的,则需要分别编译各个文件,得到各个类文件。如果编译时出现错误,则需按照错误内容提示进一步修改程序,并重新进行编译,直到正确为止。
  运行
  编译正确后,就可以执行得到的类文件了。JVM通过解释器解释执行类文件。要运行
  HelloWorldApp程序,输入如下的命令:
  $ java HelloWorldApp
  通常,运行一个Java程序的命令格式是:
  java [选项] 程序名 [参数列表]
  【注意】java.exe和javac.exe 一般存放在系统的$ JAVA_HOME\bin目录中,系统配置文件的Path变量中应包含该目录。在用户工作目录下使用java和javac命令时,系统自动到Path所含的目录中查找这些命令。
  编译执行
  在dos命令下进入文件所在的磁盘,javac 文件名.java 编译文件
  java 文件名,执行文件,得到程序输出结果
  
  IDE
  IDE是集成开发环境的缩写,这是一个提供给开发人员使用的程序开发环境,通常包括了代码编辑器、编译器、调试器和图形用户界面等工具。
  IDE通常提供一个图形用户界面,通过菜单项、图标或快捷键提供所需的功能,不需要在命令行模式下输入命令,方便了开发人员的使用,提高了程序开发的效率。目前已有多个开发Java程序的IDE,其中使用较多的有Eclipse和NetBeans
  Eclipse是一款开源免费的、基于Java的可扩展开发平台,具体来说,是一个框架和一组服务,通过插件可以构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具JDK,所以可用来开发Java程序。当然,如果更换其他的插件,也可以用来开发其他编程语言的程序,包括 C/C++、JavaScript, Perl、PHP 和 Python 等。
  NetBeans是一款用Java编写的开源IDE,既可用于Java开发,又支持其他语言,特别是 PHP、C/C ++ 和 HTML5 等。
  
  04 API文档
  Java核心API文档
  JDK文档中有许多HTML文件,这些是JDK提供的应用程序编程接口(Application Programming Interface,API)文档,可使用浏览器查看,API是原Sun公司提供的使用Java语言发开的类集合,用来帮助程序员开发自己的类和程序,最基本的是Java核心API。
  核心API文档是按层设计的,以主页方式提供给用户。Java核心API中共有43个包,每个包中都有若干的类和接口,其中又含有若干属性,如果选中了一个具体的包,则会在页面中列出作为包成员的所有内容。
  
  05 面向对象技术
  面向对象的编程思想
  面向对象是一种软件开发的方法,现实世界中存在很多同类的对象,它们来自同一种原型,具有一样的共性,或者说它们来自同一个模板,这就是类的概念。
  面向对象的方法学,通常包括3 个方面:面向对象的分析(OOA)、面向对象的设计(OOD)和面向对象的程序设计(OOP) 。面向对象技术包含的概念主要有抽象、对象、类、类型层次(子类)、封装、继承性、多态性等。
  对象是类的一个具象,类是对象的一个抽象。
  OOP技术把问题看成是相互作用的事物的集合,也就是对象的集合。
  对象有两个特性:一是状态,二是行为,用属性来描述状态,把它的操作定义为方法,属性也称数据,这样对象就是数据加方法,可以将现实生活中的对象经过抽象、映射为程序中的对象。
  OOP中采用了三大技术:封装、继承和多态。封装体现的特点是将对象的属性及实现细节隐藏起来,只给出如何使用的信息。将数据及对数据的操作捆绑在一起成为类,这就是封装技术。对象是类的实例,外界使用对象中的数据及可用的操作受到类定义的限制。
  程序只有一种基本的结构,即类。将一个已有类中的数据和方法保留,并加上自己特殊的数据和方法,从而构成一个新类,这是OOP中的继承。原来的类是父类,也称为基类或超类。新类是子类,子类派生于父类,或说子类继承于父类。继承体现的是一种层次关系,下一层的类可从上一层的类继承定义,同时还可以改变和扩充一些特性。
  在一个类或多个类中,可以让多个方法使用同一个名字,从而具有多态性。多态可以保证对不同类型的数据进行等同的操作,名字空间也更加宽松。多态还有一个重要的特点,即使用相同的操作名,能根据具体的对象自动选择对应的操作。
  课后习题
  1.若Java程序中公有类的名字是OneApp,则保存该程序的文件名是( )。
  A.Oneapp.java  B.Oneapp.class
  C.OneApp.java  D.OneApp.class
  2.Java程序OneApp.java编译后的类文件名是( )。
  A.Oneapp.java  B.Oneapp.class
  C.OneApp.java  D.OneApp.class
  3.Java语言的解释器是( )。
  A.JVM  B.javac.exe  C.java.exe  D.JDK
  4.下列选项中,不属于Java语言特点的是( )。
  A.类型定义
  B.解释执行
  C.与平台无关
  D.多线程
  5.下列叙述中,正确的是( )。
  A.Java程序必须配合HTML文件才能执行
  B.JVM解释执行Java源程序
  C.Java程序中可以使用指针
  D.Java程序生成的字节码文件与平台无关
  6.下列选项中,不是java程序中的主函数main()前面的修饰符的是( )。
  A.class   B.static
  C.void   D.public
  7.下列概念中,属于面向对象语言重要概念和机制之一的是( )。
  A.方法调用   B.模块
  C.继承     D.结构化
  填空题
  1.假设Java程序保存在文件MyTest.java中,则编译这个程序的命令是
  2.类Testll经Java编译程序编译后,产生的文件是
  3.JVM的全称是
  4.Java程序中的主函数main()前面的修饰符是
  5.Java源文件经编译后生成的二进制文件称为
  6.编写好的Java源程序在计算机上运行需依次经历两个阶段,分别是  和解释执行。
  7.公有类MyFirstTest所在的文件经Java编译程序编译后,产生的文件是

购买课程后,所有章节讲座可不限次数、不限时间播放学习。直至考后一周关闭!(模拟试卷于考试结束当天关闭)。

第一章 Java概述
第01讲 Java概述
第二章 数据和表达式
第01讲 基本语法元素和基本数据类型
第02讲 表达式
第三章 流程控制语句
第01讲 java程序的结构及流程控制
第02讲 输入/输出及处理异常
第03讲 第三章课后习题
第四章 面向对象程序设计
第01讲 类和对象及定义方法
第02讲 静态成员及包装类
第五章 数组和字符串
第01讲 数组(一)
第02讲 数组(二)及字符串类型
第03讲 Vector类
第六章 继承和多态
第01讲 子类
第02讲 方法覆盖与多态及终极类与抽象类
第03讲 接口
第七章 输入和输出流
第01讲 数据流的基本概念
第02讲 基本字节数据流类
第03讲 基本字符流及文件的处理
第八章 图形界面设计
第01讲 AWT与Swing及容器
第02讲 标签及按钮
第03讲 布局管理器
第04讲 事件处理
第05讲 绘图基础
第九章 Swing组件
第01讲 组合框与列表
第02讲 文本组件
第03讲 菜单组件
第04讲 对话框
第十章 多线程
第01讲 线程和多线程的创建及基本控制
第02讲 线程的互斥及同步
购买课程后可享受对所有课程记录笔记的功能 。
登录/注册后可对试听课程进行记笔记操作,笔记内容可查看和再编辑 。

学员购买课程后方可进行提问!

专职老师全天候在线答疑,学员提交到答疑板上的问题最快将在8小时内即可得到准确答复,高效答疑!

学员问答
观看该课程的人还喜欢
暂无推荐视频
下载“自考365”APP,体验更多服务
立即体验完整课程
报考咨询