350 likes | 594 Views
JAVA 面向对象程序设计. 沈傲东 东南大学影像科学与技术实验室. Email: shen.list@seu.edu.cn QQ 群 : 2803598884 ( 请注明学号、姓名 ) . 辅导说明. 联系方式 Email: shen.list@seu.edu.cn QQ: 2803598884 ( 验证:学号姓名 ) Office :计算机楼 101( 周二 1:00-3:00) 助教信息 李晟泽 : lishengz.cool@163.com [1-2] 黄州龙 : hzl2928963@yahoo.cn [3-4]
E N D
JAVA面向对象程序设计 沈傲东 东南大学影像科学与技术实验室 • Email: shen.list@seu.edu.cn • QQ群: 2803598884(请注明学号、姓名)
辅导说明 • 联系方式 • Email: shen.list@seu.edu.cn • QQ: 2803598884 (验证:学号姓名) • Office:计算机楼101(周二1:00-3:00) • 助教信息 • 李晟泽 :lishengz.cool@163.com [1-2] • 黄州龙: hzl2928963@yahoo.cn[3-4] • 作业及问题发送到相应的邮箱!
参考书 • (美)Patrick Henry Winston (麻省理工学院) 等著,Java 2 专家导引(英文版),第3版,机械工业出版社,2005年7月 • (美)C.Thomas Wu 著,马素霞 等译,面向对象程序设计教程(Java版),第4版,机械工业出版社,2007年7月 • (美)James 等著,Java编程规范(第三版),中国电力出版社, 2006年7月
主要内容 • 1. JAVA语言基础 • 2. 类和对象 • 3.高级语言特性 • 4.异常处理 • 5.界面设计 • 6.JAVA特性和项目Project • 7.线程 • 8.网络
课程目的与要求 • 掌握基于JAVA的面向对象程序设计 • JAVA语言的特点 • 面向对象的概念 • UML的基本概念 • 应用JAVA实现简单应用系统的设计与开发 • 培养良好的面向对象的设计与开发思维 • 培养良好的编程习惯 • 培养团队协作精神
考核 • 平时作业20% • 期末考核80% • 小组成绩70%+个人成绩30% • 考核形式 • 教师评分 • 分组评分 • 组内评分
C/C++ JAVA X 灵活的指针 ? X ? 随意的GOTO *p, **p, *f() ? ? ? 内存泄露 X X 链接错误
Application Servlet Applet 什么是 JAVA Oak James Gosling 1995年5月23日
JAVA概述 JAVA程序的环境配置与开发流程 JAVA语言基础 常用JAVA包 标识符、关键字 流程控制
JAVA的基本特点 • 类似于C++ • 纯的面向对象 简单 面向对象 • 自由加入新功能 • 内置多线程 • 自动垃圾收集 • 异常处理 可扩展性 健壮性 解释执行 高性能 分布式 • JVM • JIT • 支持远程访问 可移植性 • 跨平台 • 源代码、可执行代码
开发环境 编译器 • lib • -rt.jar 类库 -bin --javac.exe JDK -bin --java.exe • jre 运行时环境 调试器 • http://www.oracle.com/technetwork/java/javase/downloads/index.html
开发环境 • 环境变量 • JAVA_HOME • C:\Program Files\Java\jdk1.7.xx • CLASSPATH • .;%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib/ext • Path • …;%JAVA_HOME%/bin • Windows设置方法 • DOS设置方法
JDK提供的常用工具 • javac是用来编译源代码的命令。 • java是用于执行类文件的命令,而类文件将在 Java 虚拟机中运行类。 • appletviewer命令允许在万维网浏览器的环境之外运行 Applet。 • javap反汇编程序可以从字节码文件恢复java原代码。 • javadoc是文档发生器。利用此工具,可以为所编写的源文件生成HTML文档,其中包括对类和接口的描述、类的继承层次以及类中任何非私有域的索引和介绍。
开发工具 • NetBeans[Free] • http://netbeans.org/ • Eclipse[Free] • http://www.eclipse.org • Jcreator • MyEclipse • IntelliJ • http://www.jetbrains.com/idea/
import语句 class { public static void main(String[ ] args) { } } 主类名称 方法体 Java Application程序基本结构
单行注释 导入 必要的包 定义类 Main函数 在控制台上输出 第一个 Java 程序 //这是名称为“HelloWorld.java”的简单程序 import java.io.*; class HelloWorld { public static void main(String args[ ]) { System.out.println(“欢迎访问 Java 世界!“); } }
关键字2-1 • 原始数据类型 • byte • short • int • long • float • double • char • boolean • 循环关键字 • do • while • for • break • continue • 分支关键字 • if • else • switch • case • default • break • 方法、变量和类修饰符 • private • public • protected • final • static • abstract • synchronized • volatile • strictfp
关键字2-2 • 异常处理 • try • catch • finally • throw • throws • 对象相关关键字 • new • extends • implements • class • instanceof • this • super • 字面值常量 • false • true • null • 方法相关关键字 • return • void • 包相关关键字 • package • import
关系运算符 • 关系运算符用于测试两个操作数之间的关系。 • 关系表达式将返回一个布尔结果。
逻辑运算符 逻辑运算符与布尔操作数一起使用
赋值运算符 赋值运算符 (=) 用于为变量赋值 • 一次可以为多个变量赋值,如: int a = 20000; int p,q,r,s; p = q = r = s = a; • 优先级最低为14
条件? 表达式 1 : 表达式 2 true false 三元运算符 (?:) 三元运算符 (? :) 可以替代 if-else 结构 class TernaryOp { public static void main(String args[]) { int salary,daysPresent = 30; salary = daysPresent == 20 ? 2000 : 3000; System.out.println("您本月薪资为$"+salary); } }
可以确定对象是否属于一个特定的类 Instanceof运算符 class InstanceOfDemo { public static void main (String args []) { InstanceOfDemo t = new InstanceOfDemo( ); if (t instanceof InstanceOfDemo) { System.out.println ("T是InstanceOfDemo 的实例"); } else { System.out.println ("T不是InstanceOfDemo 的实例!"); } } }
整型数据类型 计算机的补码表示
字符数据类型 布尔数据类型
创建包 • package mypackage; • 访问包 • mypackage.My_Class • 导入包 • import mypackage.*; • 导入子包 • import mypackage.sub_package.*; 包-package 域名倒写 逻辑分类 避免 命名冲突 权限控制 包可以是类、接口和子包的集合。 包
目录布局及CLASSPATH环境变量 • 包被贮存在包含包名称的目录树中。 package abc.financedept; public class Employee { } javac –d . Employee.java • Employee.class的目录路径是什么?
数组 • 声明 • int a[]; • 分配 • a=new int[5]; • 高维数组 • int b[][] = new b[2][3]; • 不定长数组 • int b[][] = new int[2][]; • b[0] = new int[2]; • b[1] = new int[3];
执行 编译 连接 编译型源程序 可执行程序EXE 操作系统 裸机 解释 执行 编译 解释器 Java源程序 字节码程序 .java .class Java 程序的运行环境 Java是解释执行的高级编程语言 Java虚拟机
JAVA学习思路 J2SE • 正确安装JDK、配置合适的开发环境 • 掌握Java的语法 • 学习Java的面向对象的编程语言的特性 • 熟悉Java类库 • rt.jar(java.lang.*; java.io.*; java.util.*; java.sql.*) • 学习GUI、多线程编程 • AWT、SWING、THREAD • 学习WEB编程 • 学习J2EE编程
JAVA学习方法 • Copy-Modify-Master-Summary • JAVA帮助文档Help • 中文版:http://download.java.net/jdk/jdk-api-localizations/jdk-api-zh-cn/publish/1.6.0/chm/JDK_API_1_6_zh_CN.CHM • 英文版:http://docs.oracle.com/javase/7/docs/api/ • 网络资源 • 常见问题:http://java.chinaitlab.com/base/37356.html
作业 • 打印杨辉三角 • System.out.println(); // 控制台输出 • 一个数如果恰好等于它的因子之和,这个数就称为“完数”.编写一个应用程序求1000之内的所有完数. • 提交作业说明 • 请用压缩工具打包成单个文件 • 文件名称:学号+姓名 • 内容:源码、数据库文件、其他资源文件 • 或者Eclipse完整的工程文件