1 / 712

JavaSE 核心编程

JavaSE 核心编程. 课程整体目标. 掌握 Java 语言基础知识 理解面向对象的编程思想 运用 Java 编写命令行程序 运用 JDBC 编写数据库访问程序 运用 Swing 组件编写图形用户界面程序 运用 Swing 组件和 JDBC 实现 C/S 结构的应用程序. 本章目标. 了解 Java 语言 了解 Java 程序的类型 理解 Java 虚拟机( JVM ) 掌握 Java 程序运行环境的配置 编写第一个基于 Java 的程序. Java 简介. 掌握 Java 程序运行环境的配置 编写第一个基于 Java 的程序. Java 释义.

claus
Télécharger la présentation

JavaSE 核心编程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaSE核心编程

  2. 课程整体目标 • 掌握Java语言基础知识 • 理解面向对象的编程思想 • 运用Java编写命令行程序 • 运用JDBC编写数据库访问程序 • 运用Swing组件编写图形用户界面程序 • 运用Swing组件和JDBC实现C/S结构的应用程序

  3. 本章目标 • 了解Java语言 • 了解Java程序的类型 • 理解Java虚拟机(JVM) • 掌握Java程序运行环境的配置 • 编写第一个基于Java的程序

  4. Java简介 • 掌握Java程序运行环境的配置 • 编写第一个基于Java的程序

  5. Java释义 • “Java” 一词的本意是地名——“爪哇”; • 爪哇岛位于南太平洋,是印度尼西亚的一部分。 爪哇岛

  6. 关于爪哇 • 全世界三大咖啡产地: • 巴西 • 印尼爪哇岛 • 中国海南岛 • 由此可见,Java的原意是指一个咖啡的产地,也可以说是一种咖啡的品牌。

  7. Java语言简介 • Java是一种程序设计语言,由Sun Microsystem公司于1995年推出; • 早在1991年,Sun公司的James Gosling等人开始开发名为Oak的程序设计语言,希望用来控制嵌入在有线电视机顶盒和PDA等设备中的微处理器; • 1994年,Oak语言正式更名为Java; • Java语言凭借其独有的安全性、可移植性和平台无关性,迅速走红。

  8. Java与Internet • Internet使Java成为网络上最流行的编程语言; • 同时,Java对Internet的影响也意义深远; • 在Java出现以前,几乎没有工具可以在Internet上执行动态交互程序; • 使用Java语言编写的Applet程序可以对用户的输入和操作作出响应。

  9. Java程序的类型-Applet • Applet是用Java编写,在Internet上运行的程序,可以在任何客户端系统上下载,在浏览器中运行

  10. Java程序的类型-Application • Application是指在计算机操作系统支持下运行的程序,它既可以基于图形界面,又可以基于控制台

  11. Windows 编译 运行 Java 源程序代码 Java字节码 (可跨平台) JVM Java虚拟机 Linux Solaris Java的平台无关性 • Java是一种既面向对象又可以跨平台的语言,即:编写一次,随处运行; • Java不仅适用于单机应用程序和基于网络的程序,也可用于创建消费类设备的附件程序,如移动电话、掌上设备等。

  12. Java虚拟机 • Java虚拟机(Java Virtual Machine)是可运行Java字节码的虚拟计算机系统; • 使用Java语言编写的程序,实际上是运行在JVM之上,而不是运行在操作系统上; • 它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信。 用户USER 字节码程序 JVM (Java 虚拟机) 操作系统 硬 件

  13. 编译时 运行时 .java .class 类加载器 源代码文件 字节码文件 网 络 字节码校验器 JIT代码 生成器 解释器 硬件 Java虚拟机的运行过程

  14. 操作系统 Java开发工具包 • 开发和运行Java程序,必须依赖和使用由Sun公司提供的Java开发工具包(Java Development Kit) 开发工具 集成开发环境 Java 基础类库 客户端 编译器 浏览器 插件 Java虚拟机

  15. Java Platform 2 • JDK(Java开发工具包)从1.3版本以后,Sun公司将其正式更名为Java Platform 2; • 为适应不同的用途,又将其细分为三个版本: • J2SE(Standard Edition):标准版,适用于普通应用程序的开发; • J2EE(Enterprise Edition):企业版,适用于大型企业级应用程序的开发; • J2ME(Micro Edition):微型版,适用于移动设备或嵌入式设备的程序开发。

  16. 下载安装JDK • 打开浏览器,在地址栏键入:http://java.sun.com/javase/downloads/index.jsp,登录到SUN官方网站,免费下载JDK软件和文档 • 下载完毕,即可安装JDK; • bin目录:存放可执行文件; • lib目录:存放Java的类库文件; • demo目录:存放演示程序; • jre目录:存放Java运行环境文件。

  17. 编辑Path变量 新建classpath变量 配置环境变量 • 安装JDK后,还要配置环境变量才能开发和调试Java程序,右击[我的电脑][属性][高级][环境变量]

  18. 开发Java程序的步骤 • 创建Java源程序 • Java源程序可以使用任何文本编辑器创建与编辑,一般用.java作为扩展名,其实就是一个使用Java语言编写的文本文件; • 编译源程序 • Java编译器读取Java源程序并翻译成Java虚拟机能够明白的指令集合,并以字节码的形式保存在文件中,通常,字节码文件以.class作为扩展名; • 运行class(字节码)文件 • Java解释器读取字节码文件,取出指令并翻译成计算机能够执行的机器代码,完成运行过程。

  19. 编写第一个Java程序 • 打开记事本,新建一个文本文件,将文件名改为Hello.java,在文件中键入如下内容并保存: class Hello { public static void main(String[] args) { System.out.println("Hello world!"); } }

  20. Java源程序 扩展名为.java 的源文件 使用记事本 进行编辑

  21. 使用javac编译器编译源文件 • 接下来需要将源程序进行编译; • 进入命令提示行,切换到源文件所在的目录,执行javac命令,使用javac编译器编译源文件; • javac命令的格式是:javac 完整的源文件名 切换到源文件所在的目录 切换到源文件所在的目录 切换到源文件所在的目录

  22. class(字节码)文件 • 顺利通过编译后将生成一个扩展名为.class的字节码文件(类描述文件)。 通过编译后 生成的扩展名 为.class的 字节码文件 扩展名为.java 的源文件

  23. 使用java解释器运行字节码文件 • 进入命令提示行,在字节码文件所在的目录下,执行java命令,使用java解释器运行字节码文件 • java命令的格式是:java 类名称 • 这里只需要类名称,而不是带扩展名的文件名 执行java命令运行字节码文件 程序运行效果

  24. 分析程序3-1 • 关键字class用来定义一个类,Hello是类的名称; • 在Java程序中,所有的语句都必须放在某个类中; • 整个类及其所有成员都包含在一对花括号中(即{和}之间),它们标志着类定义块的开始和结束。 • 定义类的一般语法: class类名 { …… }

  25. 分析程序3-2 • 程序必须从main函数开始执行; • 关键字public是访问修饰符,用来控制类成员的可见范围及作用域; • 关键字static允许在不创建类的实例的情况下,调用main函数; • 关键字void用来说明main函数是没有返回值的; • args是字符串数组,用来从命令行接收参数; • main函数的一般形式如下: public static void main(String[] args){ …… }

  26. 分析程序3-3 • String[]是字符串类型的数组; • 在Java中,类名称一般首字母大写; • 使用System.out.println()将信息输出到控制台上,即打印出来。

  27. Java API文档 • Java API文档描述了Java的许多内置功能,以及提供各种类的帮助说明,它是程序员经常查阅的资料 • 可登录Sun公司的官方网站免费下载

  28. Java文件中的注释 • 与其它编程语言一样,也可以在Java文件添加注释,Java文件中的注释有三种: • 单行注释:以//开始,在行尾结束 • 多行注释:以/*开始,以*/结束,可以有多行 • 文档注释:以/**开始,以*/结束,可以有多行 • 可以使用javadoc命令,将文档注释从源代码中提取出来,生成HTML文件,形成类似于Java API文档的帮助说明文件。

  29. 使用javadoc命令生成API文档 执行javadoc命令提取 文档注释的内容 • javadoc命令的格式是:javadoc 完整的源文件名

  30. 生成的文档

  31. Java语言的特点2-1 • 简单 • 去掉了C和C++中许多复杂功能,如指针、运算符重载等,没有goto语句,没有struct和union等 • 面向对象 • Java是完全面向对象的编程语言,比C++更彻底,纯度更高 • 健壮性 • 没有指针,避免对指针的误操作造成程序崩溃 • 程序员分配的内存空间,无需释放,由Java虚拟机的垃圾回收机制来统一完成此项工作,避免了内存泄漏

  32. Java语言的特点2-2 • 安全性 • 由于Java取消了指针运算,有效地提高了程序的安全性 • Java程序运行在Java虚拟机上,虚拟机可以有效地过滤掉恶意代码,防止程序员有意编写的病毒程序 • 分布性 • Java程序可以跨平台,跨操作系统,完全支持网络应用程序的设计 • 多线程 • Java程序使用一个称为“多线程”的进程同时处理多项任务

  33. 使用Eclipse来开发

  34. 总结 • Java是面向对象的、跨平台的程序设计语言; • Java程序是运行在Java虚拟机之上的; • 要下载安装JDK,才可以开发和运行Java程序; • JDK提供一系列的工具,这些工具位于JDK安装路径的bin目录下,常用的有: • javac:编译 • java:运行 • javadoc:提取文档 • 可以使用任何文本编辑器编写Java源程序;

  35. 作业 • 熟悉JDK目录,以及JDK环境变量 • 使用记事本编写Hello World程序 • 使用记事本编写九九乘法表 • 使用记事本编写空心菱形

  36. Java语言基础 • Java是面向对象并且可以跨平台的编程语言 • Java程序是运行在JVM(Java虚拟机)之上的 • 要运行和开发Java程序,必须下载和安装由Sun公司提供的JDK(Java开发工具包) • 配置环境变量:Path和classpath • 三个常用的JDK工具:javac、java和javadoc

  37. 本章相关词汇(蓝色为关键字)

  38. 本章目标 • Java中的变量和数据类型 • Java中变量的作用域规则 • 数据类型转换 • Java中的输出语句 • Java中的运算符和表达式

  39. Java语言基础 • Java中的变量和数据类型

  40. 变量 • 变量是内存中的一块存储区域,是存储数据的基本单元; • 声明变量的语法: 数据类型 标识符 [= 值]; • 如: int num; float money = 123.45f; char ch1, ch2 = ‘A’;

  41. 数据类型 • 数据类型用来确定要存储在内存单元中的数据的类型; • 在Java中,数据类型被区分成两个种类: • 原始数据类型 • 引用数据类型

  42. 原始数据类型 • 原始数据类型是最简单的数据形式,与C的基本数据类型很相似:

  43. 引用数据类型 • 在Java中,除了上述8种原始数据类型的变量以外,其余的全都属于引用数据类型,其中包括: • 数组 • 对象 • 存储在引用类型变量中的值是该变量表示的值的地址; • 可以借用C语言中指针的概念来理解引用数据类型。

  44. 回顾C语言中的内存分配 • C语言中内存分配的两种形式: • 栈内存: • 特点:和作用域同生命周期,自动申请,自动释放。 • 申请方式:局部变量,形式参数。 • 栈内存中的空间一般都有名称,通过变量名访问其存储的数据。 • 堆内存(即动态内存分配): • 特点:手工申请,手工释放,生命周期由程序员决定。 • 申请方式:由malloc函数或calloc函数申请,realloc函数进行调整,free函数负责释放。 • 堆内存中的空间一般没有名称,只能通过指针访问。

  45. Java中的内存分配 • Java中的原始数据类型与C语言中的基本数据类型一样,其变量都是在栈中分配空间; • 而除了8种原始数据类型以外,其它的任何数据都不可以在栈中分配,只能到堆中开辟空间,而在堆中分配的空间又只能通过指针访问; • 通过指针访问堆内存的方式,在Java中被称作引用数据类型; • 可以认为,Java中的引用就类似于C语言中的指针,只是对指针进行了一定程度上的包装,避免了因直接操作指针而造成的数据意外损坏,从而导致程序错误的情况。

  46. 标识符命名规则 • 变量、函数、数组、对象、类和接口等等都需要命名,这些名称统称为标识符; • Java中对于标识符的命名规则作了如下限制: • 只能由英文字母、数字、下划线“_”和“$”符号组成; • 必须以英文字母、“_”或“$”开头,即不能以数字开头; • 除“_”和“$”以外,不能包含其它任何特殊字符; • 不能与关键字冲突; • 严格区分大小写。

  47. 变量的作用域和生命周期 • 变量 的作用域指变量起作用的范围,说明变量在什么部分可以被访问; • 变量的生命周期是指变量在内存中存在的周期,即什么时候分配空间,什么时候销毁。

  48. 作用域示例 /*有1,2,3,4四个数字,能组成多少个不相同且无重复的三位数?*/ publicclassScopeVariable { publicstaticvoid main(String[] args) { int count = 0; for (inti = 1; i <= 4; i++) //在需要使用变量时声明 { for (int j = 1; j <= 4; j++) { for (int k = 1; k <= 4; k++) { if (i != j && i != k && j!= k) { int temp = i * 100 + j * 10 + k; System.out.print(temp + "\t"); count++; } } } } /*思考:在此处可以访问到变量k吗?*/ System.out.println("\n有:" + count + "个符合要求的数"); } }

  49. 数据类型转换 • 程序中经常会遇到要将数据类型进行转换的情况(如:在一个表达式中存在不同类型的操作数时),Java的数据类型转换比C控制得更为严格; • 数据类型转换有两种情况: • 自动类型转换 • 强制类型转换

  50. 自动类型转换 • 自动类型转换也称作隐式类型转换; • 将一种类型的变量赋值给另一种类型的变量时,只要满足以下条件,就会发生自动类型转换: • 两种类型之间相互兼容; • 目标类型大于源类型(即类型提升); • 如: charch = 'A'; int num = ch; float f = num; double d = f; //类型转换自动发生,无需显式说明

More Related