2018/12/7 Java语言程序设计 教师:段鹏飞.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

Java 大学实用教程 ( 第 3 版 ) 主讲:程继洪 第 1 章 Java 语言概述  本章导读 Java 语言的诞生Java 语言的诞生 学习 Java 的必要性 学习 Java 的必要性 Java 的特点及与 C/C++ 之关系Java 的特点及与 C/C++ 之关系.
第 2 章 Java 运行环境搭建 2.1 Java 的运行系统 2.1 Java 的运行系统 2.2 JDK 的安装与配置2.2 JDK 的安装与配置 2.3 Java 开发工具包 2.4 Java 源文件编辑环境的选择 2.5 Application 和 Applet 程序的编写与运行.
1 Java 语言程序设计 计算机系 鲍金玲. 2 引子 甲骨文 甲骨文是全球最大的信息管理软件及服务供应商,成立于 1977 年,公司总部 设在美国加利福尼亚州的红木城( Redwood Shores ),全球员工达 名, 包括 名开发人员、 7500 多名技术支持人员和.
1 Java 程序设计 Java 程序设计 Java Programming Fall, 2013.
Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
第一章 Java 程序设计技术 概述  什么是 Java 语言  一个简单的 Java 程序  程序的编译和运行  常见错误  使用 Java 核心 API 文档.
程序设计语言基础 软件工程系 秦晓燕. 课程目标 了解面向对象程序设计的思想,以及软件 开发流程。 学习 Java 语言的基本概念和编程方法,基 本掌握 Java 类库的使用。 能够利用所学的方法开发简单的小型应用 程序.
Java 程序设计 案例教程 北京大学出版社 第 01 章. Java 程序设计案例教程 第 01 章 Java 语言与面向对象程序设计 Java 语言的历史 Java 语言的特点 Java 程序的分类 Java 环境配置 Eclipse 的安装 Java 程序的调试 教学目标.
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
Java 程序设计(第二版) 普通高等教育 “ 十一五 ” 国家级规划教材 辛运帷等 编著 徐小平 主讲.
淮海工学院 计算机课程 第 1 章 Java 入门 1.1 Java 的起源与发展 1.2 Java 程序开发与运行环境 1.3 Java 程序设计步骤 1.4 Java 程序的构成 一个小游戏.
第1章 Java语言概述.
《 Java开发环境配置》 主讲人:耿力.
Java 2实用教程(第3版)教学课件 主讲教师:张国平
1.2 Java程序开发与运行环境 Java程序文件类型 根据计算结构的不同,Java程序可以划分为:
Java程序设计教程 第一讲 Java概述.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
四資二甲 第三週作業 物件導向程式設計.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
陈翔 南京大学计算机科学与技术系 Java语言程序设计基础 陈翔 南京大学计算机科学与技术系 2017/3/17.
JAVA程序设计.
《Java程序设计之网络编程》 教学课件 重庆大学计算机学院
面向对象程序设计(Java) 徐志红
北京科技大学天津学院 信息工程系 面 向 对 象 程 序 设 计 第1讲 Java初探 主讲:于静.
動畫與遊戲設計 遊戲開發工具 程于芳 老師
计算机学院计算机科学与技术系 中德联合软件技术研究所 李波
第二章 JAVA语言基础.
第1章 java简介及环境搭建 第1章 Java简介及开发环境搭建.
JAVA程序设计 (03) JAVA Programming
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
第17章 使用B4J建立跨平台應用程式 17-1 認識B4J整合開發環境 17-2 下載與安裝B4J開發環境
安裝JDK 安裝Eclipse Eclipse 中文化
Java簡介.
JDK的安裝.
2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.
武汉大学国际软件学院 面向对象程序设计 武汉大学国际软件学院
第一章 電腦、程式與JAVA.
Android 课程讲义 智能手机开发
CH09 套件 物件導向程式設計(II).
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第一章 認識Java Java 程式設計入門(I).
IEEM 5352 Enterprise Integration
Java基础入门 第1章 Java开发入门 · Java语言的特点 · Java开发环境的搭建 · 环境变量的配置 · Java的运行机制.
臺北市立大學 資訊科學系(含碩士班) 賴阿福 CS TEAM
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
第一章 Java语言概述.
二:JAVA开发环境的安装和配置.
認識 Java.
程式設計 老師:戴自強 助教:楊斯竣.
C/C++/Java 哪些值不是头等程序对象
第 1 章 Java 簡介.
01.Java语言概述 讲师:复凡.
第1章 Java语言概述 学习目标 本章要点 上机练习 习 题.
面向对象 程序设计语言基础 马骏
JAVA 编 程 技 术 主编 贾振华 2010年1月.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
開發Java程式語言的工具 JDK.
課程網站
程式設計 老師:蘇炳煌 助教:楊斯竣.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
98專題報告 行動裝置應用實例 -個人名片管理助手程式
李青樺 陳筱綺 郭沛翎 黃斐琪 蔡佳娟 指導老師 : 葉佳益老師
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
第2章 Java语言基础.
面向对象程序设计 C++教程 西安工业大学 于帆.
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
Java语言程序设计.
Summary
Presentation transcript:

2018/12/7 Java语言程序设计 教师:段鹏飞

课程简介 课程名称:Java语言程序设计 学时:32/16次 (1-16周)+8学时实验 考核方式:闭卷考试 成绩:平时成绩30%+考试成绩70% 教师:段鹏飞 联系方式:Tel 15972100809 Email duanpf@whut.edu.cn 课程网站:http://www.webmeteor.cn/course/java/

2018/12/7

课程内容 第一部分 基础知识 Java基本结构 面向对象基本理论 类和对象 初始化和访问控制 继承与多态 第二部分 技术专题 异常 IO 线程与多线程 GUI

课程安排

参考教材 翁恺 编著. Java语言程序设计教程(第二版).浙江大学出版社,2013 年1月第2版 [英] 巴恩斯(Barnes D.J) 著;翁恺 译. 实用Java教程:基于BlueJ的对 象优先方法(第3版).人民邮电出版社,2009年1月 (美)梁勇 著,李娜 译. Java语言程序设计:基础篇(原书第8版). 机 械工业出版社, 2011.

教学方法 课堂教学 推荐教材、讲义、参考书 作业、上机实验 网络资源、论坛 学习小组 亲自动手练习!

使用Java进行面向对象程序设计的基本原则和方法 学习目标 Java的主要语法结构 使用Java进行面向对象程序设计的基本原则和方法 具备对小型软件系统的质量进行评估的能力 能够用Java独立完成一个小型的软件系统

Java语言概述 什么是Java? Java的发展 Java程序介绍 Java程序运行环境

编程语言(Programming Language) 运行平台(Platform) 什么是Java? 编程语言(Programming Language) 运行平台(Platform)

名字起源 Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。 Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。 SUN和JAVA的标识也正是一杯正冒着热气的咖啡。

1991.4 Sun开发新的语言,James Gosling取名时看到窗口橡树,即命名为Oak。 后改名为Java。 印度橡树

名字起源

Java语言概述 什么是Java? Java的发展 Java的特点 Java程序运行环境

诞生 发展 最新版本 Java之父 - James Gosling 嵌入式设备 2009年4月,Oracle以74亿美元收购Sun公司   嵌入式设备 发展 2009年4月,Oracle以74亿美元收购Sun公司 JDK1.5更名Java Platform 5.0 最新版本 2014年3月19日, Oracle发布Java 8.0的正式版 2014年11月甲骨文公司发布了Java 9.0的新特性

Java的发展

Java平台的发展 Java Development Kit Java 2 SDK Java运行平台(Platform) Java平台的发展 Java Development Kit 1.0.2 1.1.1  1.1.6  1.1.7  1.1.8 1.2.1 Java 2 SDK 1.2.2 1.3.0  1.3.1 1.4.0  1.4.1 1.4.2...  1.8.0 Java平台的三个版本(1999.6): J2SE/J2EE/J2ME http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java下载

不断扩展的平台

J2EE: Enterprise Edition J2ME: Mirco Edition JDK体系结构 J2SE: Standard Edition J2EE: Enterprise Edition J2ME: Mirco Edition

J2SE Platform (Java 2 Standard Edition) Java运行平台(Platform) J2SE Platform (Java 2 Standard Edition) Java Runtime Environment (JRE) -Java虚拟机、库函数、运行Java应用程序和Applet所必须文件 Java 2 SDK (Development Kit)-JRE的超集,包含编译器和调试器等用于程序开发的文件 Java虚拟机、Java应用编程接口和系统平台的关系

Java平台体系 Java 2 Plantform Enterprise Edition(J2EE):用于开发企业服务器端应用程序。 Java 2 Plantform Standard Edition(J2SE):用于开发一般台式计算机应用程序。 Java 2 Plantform Micro Edition(J2ME):用于开发嵌入式、信息家电产品应用程序。

Java语言概述 什么是Java? Java的发展 Java的特点 Java程序运行环境

编程语言排名

编程语言排名

C vs C++

程序设计语言分类 汇编语言 编译型语言 解释性语言 脚本语言 JavaScript、Python 运行效率高 编程难度大 编译形成目标代码 连接器进行连接 形成可执行文件:exe文件存放的是x86机器语言指令 解释性语言 运行效率低 跨平台优势 脚本语言 bat批处理文件 JavaScript扮演越来越重要的角色 JavaScript、Python

编译运行的过程

跨平台Cross Platform/可移植Portable Java语言的特点 跨平台Cross Platform/可移植Portable Java VM 数据类型的统一 Unicode是16位编码标准 运行效率 慢的原因 快的原因 趋势是追求开发效率而不是追求执行效率 跨平台Cross Platform/可移植Portable Java VM 数据类型的统一 int:32位 char:16位 Unicode是16位编码标准 运行效率 慢的原因 解释执行 代码检查 堆栈机结构 CPU是寄存器机结构 快的原因 Just In Time Java虚拟器在运行前先翻译成本地代码 多线程 字节码设计简单 趋势是追求开发效率而不是追求执行效率

稳定 简单 动态 没有指针 垃圾回收机制 数组有下标检查 与C++比较 比较纯粹的OOP JVM初始化对象,不需要的就不加载 Java语言的特点(续) 稳定 没有指针 垃圾回收机制 数组有下标检查 简单 与C++比较 比较纯粹的OOP 动态 JVM初始化对象,不需要的就不加载 稳定 没有指针 不称为指针,称为引用 不可计算的指针 垃圾回收机制 随意申请内存,不用回收 数组有下标检查 牺牲运行效率换取高效稳定 简单 与C++比较 比较纯粹的OOP 动态 JVM初始化对象,不需要的就不加载

Java编程语言的特点 强类型 编译和解释 自动无用内存回收功能 面向对象 与平台无关 安全性 分布式计算 多线程

Java编程语言的特点 无用内存自动回收机制

面向过程编程 Java编程语言的特点 int maxSoFar=0,price=1; //最大值maxSoFar的初值为0 while(price>0){     //循环输入price的值   if (price>maxSoFar)  //输入的值price大于最大值maxSoFar     maxSoFar=price;   //则maxSoFar的值为price的值   String input=JoptionPane.showInputDialog("Enter the next price");               //继续输入price   price=Double.parseDouble(input); }  //把字符串input转换成整数price   System.out.println(“The maximum is ”+maxSoFar); //打印最大值maxSoFar }

Java编程语言的特点 面向对象编程 Max max=new Max( ); //max是类Max的一个对象 while(price>0){ max.updateMax(price); //对象max调用updateMax方法,更新最大值 price=max.getPrice( ); //对象max调用getPrice获得下一个price的值 } System.out.println("The maximum is "+max.getMax( )); //对象max调用getMax方法获得最大值,并打印出来 类的开发者 类的使用者

与平台无关 Java编译器产生的字节码(bytecode)可运行在异种网络环境中(不同的硬件系统和不同的操作系统)

安全性 取消了指针的不安全性,增强了程序的健壮性 Java编程语言的特点 安全性 取消了指针的不安全性,增强了程序的健壮性 内存管理简单,“new”构造对象,对象释放(automatic garbage collection) 可靠的语言: compile-time checking和run-time checking 网络环境的应用不会产生恶意行为,为Java程序构造一个个(Sandbox,具有安全策略的限制),提高了安全性

为什么选择Java? 简单易学 (Get started quickly) 写较少的代码 (Write less code) 写更好的代码 (Write better code): garbage collection (防止内存泄漏),面向对象、JavaBeans构件机制、其他API复用代码,减少bugs 开发程序更快 (Develop programs more quickly) 避免平台依赖性 (Avoid platform dependencies with 100% Pure Java) 编写一次,随处运行 (Write once, run anywhere) machine-independent bytecodes 发布软件更容易 (Distribute software more easily): 指对软件的更新,利用动态加载功能,一处改动,自动更新,不用重新编译整个程序

Java语言概述 什么是Java? Java的发展 Java的特点 Java程序运行环境

安装 jdk-7u79-windows-i586.exe Java程序运行环境 获得 JDK 7 下载地址 安装 jdk-7u79-windows-i586.exe

Java环境变量设置 右击【我的电脑】---【属性】-----【高级】---【环境变量】,如图:

Java环境变量设置 选择【新建系统变量】--弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME”,在“变量值”文本框输入JDK的安装路径,单击“确定”按钮

Java环境变量设置 在“系统变量”选项区域中查看PATH变量,如果不存在,则新建变量 PATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“%JAVA_HOME%\bin;” ,单击确定按钮

Java环境变量设置 在“系统变量”选项区域中查看CLASSPATH 变量,如果不存在,则新建变量CLASSPATH,否则选中该变量,单击“编辑”按钮,在“变量值”文本框的起始位置添加“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”

检查Java运行环境设置 C:\>java C:\>javac C:\>java –version Java程序运行环境 Usage: java [-options] class [args...] (to execute a class) or java -jar [-options] jarfile [args...] (to execute a jar file) C:\>javac Usage: javac <options> <source files> … … … … C:\>java –version

Java虚拟机是针对不同的软硬件平台做专门的实现。

HelloWorld 最低要求 集成开发环境IDE 建立Java开发环境 main方法pubic static修饰符,参数String[] args 最低要求 记事本+javac+java 集成开发环境IDE Eclipse,Netbeans,MyEclipse 建立Java开发环境

Step2:JAVA编译器将其编译为class文件(JVM规范的字节码) 加载代码:由class loader完成 校验代码:由bytecode verifier完成 执行代码:由runtime interpreter完成

JJava程序开发过程 图1.5 Java程序的开发过程

Java程序结构 package语句 //0或1条,必须放在文件开始 import语句 //0或多条,必须放在所有类定义之前 public classDefinition //0或1个。文件名必须与该类的类名完全相同 classDefinition //类定义,个数不限 interfaceDefinition //接口定义,个数不限

Java程序结构示例 package javawork.helloworld; /*把编译生成的所有.class文件放到包 import java.awt.*;   //告诉编译器本程序中用到系统的AWT包 import javawork.newcentury; /*告诉编译器本程序中用到用户自定义                的包javawork.newcentury*/ public class HelloWorldApp{......} /*公共类HelloWorldApp的定义,                    名字与文件名相同*/ class TheFirstClass{......} //第一个普通类TheFirstClass的定义 class TheSecondClass{......} //第二个普通类TheSecondClass的定义 ......         //其它普通类的定义 interface TheFirstInterface{......} //第一个接口TheFirstInterface的定义 ...... //其它接口定义

Java编程规范 包名 类名 接口名 方法名 变量名 常量名 全小写,一般为名词,如:java.awt.event; 首字母大写,每个单词的首字母大写,如:class HelloWorldApp;  接口名 同类名,如:interface Collection; 方法名 一般为动词,小写字母开头,每个单词的首字母都要大写,如:balanceAccount, isButtonPressed; 变量名 全小写,一般为名词,如:length; 常量名 基本类型的常量名为全大写,如:int YEAR, int WEEK_OF_MONTH;对象常量大小写混合。

Java源程序-文件扩展名为“.java” Java字节码程序-文件扩展名为“.class” /** * Exam1_1 class实现一个应用 * 将特定的字符串显示到标准输出 */ public class Property{ public static void main(String[] args) { System.out.println(“Hello World."); }

Java Application的编译 Java编译器命令:javac 命令行中输入:javac Property.java 源文件名为Property.java,注意:文件名必须与公共类名相同;由javac编译器编译源程序,产生字节码文件(.class文件)。本例中产生Property.class文件。

Java Application的执行 Java执行命令:java 命令行中输入:java Property 该命令将启动Java虚拟机,由Java解释器解释执行。

源文件的命名规则 如果.java文件包含一个public类,它必须按该类名命名。 注意事项 源文件的命名规则 如果.java文件包含一个public类,它必须按该类名命名。 一个源文件中最多只能有一个public类,其他类的个数不限。

注解方式(Comments) /** ~~~ */-文档注解 /* ~~~ */ -程序内的任意位置 //-对本行注解 Java注释 /** * Exam1_1 class实现一个应用 * 将特定的字符串显示到标注输出 */ public class Exam1_1 { public static void main(String[] args) { System.out.println(“This is a Java Application Program."); }

Java注释 文档注释:当程序员编完程序以后,可以通过JDK提供的javadoc命令,生成所编程序的API文档,而该文档中的内容主要就是从文档注释中提取的。该API文档以HTML文件的形式出现,与java帮助文档的风格与形式完全一致。凡是在“/**”和“*/”之间的内容都是文档注释。如:DocTest.java文件。      

/** 这是一个文档注释的例子,主要介绍下面这个类 */ public class DocTest{ Java注释 /** 这是一个文档注释的例子,主要介绍下面这个类 */ public class DocTest{   /** 变量注释,下面这个变量主要是充当整数计数 */   public int i;   /** 方法注释,下面这个方法的主要功能是计数 */   public void count( ) {} }

在命令行输入:javadoc DocTest.java,生成了介绍类DocTest的index.html文件 文档注释的生成 在命令行输入:javadoc DocTest.java,生成了介绍类DocTest的index.html文件

多练习、多编写程序。 “熟能生巧”,通过实践真正体验到程序设计中的乐趣和成功的喜悦,增强学习的信心。 学习要求: 多练习、多编写程序。 “熟能生巧”,通过实践真正体验到程序设计中的乐趣和成功的喜悦,增强学习的信心。

2018/12/7 谢谢