Java核心技术读书笔记.ppt
尚硅谷宋红康参悟Java基础核心技术ppt课件-文档资料

通过“继承”实现
特有的代码 学生类
特有的代码 教师类
特有的代码 工人类
特有的代码 农民类
继承的思想
人类
继承 (extends)
教师类
学生类
工人类
兽医类
面向对象思想“落地”法则(三)
继承的思想
多个类中存在相同属性和行为时,将这些内容抽取到 单独一个类中,那么多个类无需再定义这些属性和行 为,只要继承那个类即可。
new Car() new Car()
类名 数据(属性) 方法
举例
move() stop()
c1:Car
方法
c2:Car wheels=6 move() stop()
wheels=4 move() stop()
练习:创建Java自定义类
步骤: 1. 定义类(考虑修饰符、类名) 2. 编写类的属性(考虑修饰符、属性类型、属性名、 初始化值) 3. 编写类的方法(考虑修饰符、返回值类型、方法名、 形参等)
Java基础知识图解
JHale Waihona Puke VA发展历程 JAVA环境搭建 基础程序设计
Eclipse使用 泛型
数据类型
运算符
流程控制
数组
枚举 装箱/拆箱 可变 参数 JAVA 新特 性 类和 对象 属性
面向对象编程
三大 特性
接口
方法
设计模式
应用程序开发
Annotation
异常处理 多线程 反射
Oracle/MySQL
public class Animal{ private int legs;//将属性legs定义为private,只能被Animal类内部访问 public void setLegs(int i){ //在这里定义方法 eat() 和 move() if (i != 0 && i != 2 && i != 4){ System.out.println("Wrong number of legs!"); return; } legs=i; } public int getLegs(){ return legs; } } public class Zoo{ public static void main(String args[]){ Animal xb=new Animal(); xb.setLegs(4); //xb.setLegs(-1000); xb.legs=-1000; //非法 System.out.println(xb.getLegs()); } }
《Java从入门到精通(第6版)》读书笔记PPT模板思维导图下载

23.7 数据库 1
接口及实现类 设计
23.8 全局会 2
话类设计
3 23.9 服务类
设计
4 23.10 窗体
类设计
5 23.11 常见
问题与解决
谢谢观看
2.3 程序调试
3.1 Java主类结 构
3.2 基本数据类 型
3.3 变量与常量 3.4 运算符
3.6 代码注释与 编码规范
3.5 数据类型转 换
3.7 实践与练习
4.1 复合语 1
句
4.2 条件语 2
句
3 4.3 循环语
句
4 4.4 循环控
制
5 4.5 实践与
练习
01
5.1 数 组概述
02
内容简介
如何使用Java开发资源库
第1篇 基础知识
第1章 初识 1
Java
第2章 熟悉 2
Eclipse开发 工具
3 第3章 Java
语言基础
4 第4章 流程
控制
5
第5章 数组
1.2 Java语言的 特性
1.1 Java简介
1.3 搭建Java环 境
2.2 使用 Eclipse
2.1 熟悉 Eclipse
件
4 18.10 事件
监听器
5 18.11 实践
与练习
19.1 Java绘图 类
19.2 绘制图形
19.3 绘图颜色与 画笔属性
19.4 绘制文本
19.6 图像处理
19.5 显示图片
19.7 实践与练 习
20.1 线程简介 20.2 创建线程
20.3 线程的生命 周期
20.4 操作线程的 方法
JavaEE核心技术(第2章 JavaEE简介)分析PPT课件

• 包含两个方面:
– 服务相关 – 通信相关
Page 16
2.1 Java EE概述-标准服务(服务技术) • 命名技术 • 数据连接技术 • Java事务技术 • 安全技术 • Java连接框架技术 • JAXP • Web服务技术
Page 17
产生影响。 – 可创建独立应用程序、Applet以及客户机/
服务器应用程序。 – 运行在JVM规范上。
Page 29
2.2 企业解决方案和JavaEE
• 什么是组件、容器?
– 基本软件单元——组件 – 所有Java EE组件都运行在容器中 – 容器为组件提供服务 – 组件通过调用服务与外界交互 – 组件与容器要遵循Java EE规范
Page 7
2.1 Java EE概述-标准产品
• 组件与容器的区别
– Java EE容器由厂商实现 – 组件由程序员编程实现
• Java EE技术的发展历程
Page 27
2.2 企业解决方案和JavaEE
• Sun提出了Java的3个划分类型:
– Java SE – Java EE – Java ME
Page 28
2.2 企业解决方案和JavaEE
• 1.JavaSE
– “标准版” – 是所有Java平台的基本要素 – 包含的核心规范对Java的另两个Java版本
Page 4
2.1 JavaEE概述
• Java EE是一个完整的平台,它从概念上 分为两个部分:
– 标准产品 – 标准服务。
Page 5
2.1 Java EE概述-标准产品
• 标准产品:是Java EE平台的有形方面
最新韩顺平java笔记整理幻灯片课件

servlet/jsp开发工具
普通的文本编辑器notepad,uedit32 集成开发工具jcreator,jbuilder,eclipse,editplus,netbean
servlet/jsp运行环境
Tomcat是一个免费的开源的servlet容器,它是Apache基金会的 Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司 及个人共同开发而成。
java.io.OutputStream
javax.servlet.ServletOutput
ng.Throwable
javax.servlet.UnavailableException
ng.Exception javax.servlet.ServletException
servlet中操作数据库
servlet操作数据库注意事项 需要将连接数据库的jar包,拷贝到tomcat服务器 具体有两种方法: 1)将jar包拷贝到tomcat目录下的lib文件夹里 2)在webapps目录的WEB-INF文件下建立一个lib文件夹,然后将 jar包拷贝到该文件夹下
4.因为session的各个属性要占用服务器的内存,因此软件公司都 是在迫不得已的情况下才使用
cookie vs session
1.存在的位置 cookie保存在客户端,session保存在服务器端 2.安全性 比较而言,cookie的安全性比session要弱 3.网络传输量 cookie通过网络在客户端与服务器端传输,而session保存在服务 器端,不需要传输
2.开发servlet(引入Tomcat文件夹下lib文件夹里的servlet-api.jar )
3.部署你的servlet(servlet开发流程)
深入理解java核心技术:写给java工程师的干货笔记

深入理解java核心技术:写给java工程师的干货笔
记
深入理解Java核心技术:写给Java工程师的干货笔记
作者:XXX
出版时间:XXXX年X月
目录
前言
第1章 Java语言基础
Java的历史与现状
Java的跨平台原理
数据类型与变量
运算符与表达式
控制流语句
函数与方法
错误与异常处理
面向对象编程基础类与对象的关系
继承与多态
封装与访问控制
接口与回调函数
第2章 Java核心技术集合框架概述
List接口及其实现类 Set接口及其实现类 Map接口及其实现类泛型与集合框架
并发编程基础
多线程编程技术
网络编程基础
数据库编程基础
第3章 Java扩展技能 XML解析技术
JSON解析技术
正则表达式应用
日志框架使用
单元测试框架使用
版本控制工具使用
第4章 Java应用案例
日志管理系统的设计与实现
网络爬虫的设计与实现
数据库分页查询的优化方案
多线程下载器的设计与实现
基于Spring框架的Web应用开发实践。
《Java核心技术课件》

System.out)对于在控制台中读取和输出
数据非常有用。
3
序列化
序列化是Java中的一项重要功能,允许对 象在网络上传输或在文件中存储。
多线程编程
多线程概念
多线程是一种并发编程技术,允 许多个线程同时运行。学习如何 使用Java多线程使应用程序更高 效。
线程同步
当多个线程同时访问数据时,可 能会出现冲突。学习如何使用 Java线程同步解决这些冲突。
3 开源生态系统
Java拥有最大的开源生态系统之一,这意味着你可以使用大量的开源 框架和工具来帮助你的工作。
Java基础知识
1
数据类型
学习Java的第一步就是了解基本数据类型,
循环和条件语句
2
例如整型、浮点型、字符型和布尔型。
编写应用程序必须有逻辑控制,如if/else
语句和循环语句。
3
数组
数组是一种数据结构,能够容纳多个元
调试工具
使用调试工具,如eclipse、 Debug、IntelliJ IDEA等,可以更 快地识别和处理代码错误。
集合框架和容器类
集合框架
Java提供了集合框架,使开发 人员可以更方便地存储和操作 数据。了解集合框架可以使您 编写更优秀的应用程序。
容器类
容器类指包含多个对象的类。 学习如何使用容器类(如List、 Set、Map和Queue)管理和保 存数据。
线程的使用
在学会线程概念和线程同步之后, 了解如何使用线程来创建并发程 序。
素。了解如何定义和使用数组是Java入门
面向对象编程
4
的另一个重要步骤。
面向对象编程是Java开发的重要特征,它 允许开发人员以封装、继承和多态的方 式组织和管理代码。
Java 2核心技术 读书笔记

设置执行路径
• 在完成了JDK的安装之后,还需要执行一个附加 的步骤:把jdk/bin目录添加到执行路径中。 • 可以使用下面的步骤测试上面的设置是否正确:
– 1)打开一个shell窗口。键入:java -version – 2)按ENTER键。应该能够看到类似如下的显示信息:
java version "5.0" Java(TM)2 Runtime Environment Standard Edition Java HotSpot(TM) Client VM
数组之三
• 在Java中,允许将一个数组变量拷贝给另一个数 组变量。这时,这两个变量将引用同一个数组。 • 如果希望将一个数组的所有值拷贝到另一个数组 中去,就要使用System类的arraycopy方法: • Java数组与C++数组在堆栈上有很大的不同,不 过基本上与分配在堆(heap)上的数组指针一样。 int[]a = new int[100]; //Java int * a = new int[100]; //C++
导航Java目录
• jdk(名字可以不同例如jdk5.0)
– >bin – >demo – >docs – >include – >jre – >lib – >src 编译器和工具 演示 HTML格式的类库文档 用于编译本地方法的文件 Java运行环境文件 类库文件 (展开src.zip之后)
选择开发环境
字符串 ⅱ
• greeting.length(); //代码单元数量 • greeting.codePointCount(0, greet.length()); //代 码点数量
《Java核心技术课件》

Java面向对象编程
深入理解面向对象编程的核心概念,包括类、对象、继承、封装和多态性。学习如何设计和实现面向对 象的Java程序。
Java集合框架
介绍Java集合框架的基本概念和常用类库,包括List、Set、Map等。学习如 何利用集合框架提高程序的灵活性和效率。
Java IO流与网络编程
学习如何使用Java IO流读写文件和处理网络通信,包括文件输入输出流、字 符流和字节流,以及Socket编程和HTTP通信的基本原理。
学习如何正确安装和配置Java开发工具,包括集成开发环境(IDE)和Java 开发套件(JDK),为后续的学习和实践做好准备。
Java基础语法及数据类型
掌握Java编程语言的基本语法规则、变量和数据类型,以及常见的运算符和 表达式。学习如何编写简单的Java程序。
流程控制及异常处理
学习如何使用条件语句和循环语句控制程序的执行流程,以及如何处理异常情况,提高程序的健壮性和 可靠性。
《Java核心技术课件》
欢迎来到《Java核心技术课件》!在这个课程中,我们将深入探讨Java编程 语言的核心概念和技术,帮助您快速掌握Java开发的基本知识和技能。
Java核心技术简介
了解Java编程语言的背景和发展,掌握Java的特点和优势,以及其在当今软件开发领域的重要性。
Java开发工具的安装与配置
《Java核心技术 卷 基础知识 原书第10版 》读书笔记思维导图PPT模板下载

5.1.9 抽象类
5.1.10 受保护 访问
5.2.1 equals方 法
5.2.2 相等测试 与继承
5.2.3 hashCode 方法
5.2.4 toString 方法
5.3.1 访问 数组列表元
素
5.3.2 类型 化与原始数 组列表的兼 容性
01
5.7.1 Class类
02
5.7.2 捕获异常
6.3.3 函数式接 口
6.3.4 方法引用
6.3.5 构造器引 用
6.3.6 变量作用 域
6.3.7 处理 lambda表达式
6.3.8 再谈 Comparator
6.4.1 使用内部 类访问对象状态
6.4.2 内部类的 特殊语法规则
6.4.3 内部类是 否有用、必要和 安全
6.4.4 局部内部 类
3.10.5 数组排 序
3.10.7 不规则 数组
第4章 对象与类
01
4.1 面 向对象程 序设计概 述
02
4.2 使 用预定义 类
03
4.3 用 户自定义 类
04
4.4 静 态域与静 态方法
05
4.5 方 法参数
06
4.6 对 象构造
4.7 包 4.8 类路径
4.9 文档注释 4.10 类设计技巧
05
7.5 记 录日志
7.1.1 异常分类
7.1.2 声明受查 异常
7.1.3 如何抛出 异常
7.1.4 创建异常 类
01
7.2.1 捕获异常
02
7.2.2 捕获多个 异常
03
7.2.3 再次抛出 异常与异 常链
04
7.2.4 finally 子句
《Java编程核心技术课件》

从Java程序开发环境到安全编程,这份课件将带领你系统学习Java编程的核心 技术。准备好开始你的编程之旅吧!
Java基础语法
1
数据类型
了解Java的基本数据类型和如何声明变量。
运算符
2
掌握Java的算术、逻辑和关系运算符,以
及条件运算符。
3
控制流程
学习if语句、for循环、while循环等控制流 程结构。
3
序列化与反序列化
探索如何将对象转换为字节流并进行传输和存储。
异常处理
异常分类
了解Java的异常体系结构, 以及如何处理不同类型的异 常。
try -catch 语句
学习如何使用try-catch语句 捕获和处理异常,以及finally 块的作用。
自定义异常
探索如何创建和使用自定义 异常类来处理特定பைடு நூலகம்错误情 况。
2 事件处理
学习如何使用事件监听器处理用户交 互和用户界面事件。
3 图形绘制
探索使用Swing绘图API绘制图形、图像和动画。
网络编程(Socket)
1
客户端-服务器模型
了解客户端和服务器之间的通信模型以及Socket编程的基本原理。
2
网络协议
探索TCP和UDP协议以及它们在网络编程中的应用。
3
H TTP通信
安全性最佳实践
探索编写安全Java应用程序的最 佳实践,以保护用户的数据和 隐私。
学习如何使用Java编写HTTP客户端和服务器,进行Web开发。
数据库编程(JDBC)
连接数据库
学习如何连接到数据库,并执 行基本的SQL查询和更新操作。
事务管理
了解事务的概念和重要性,并 学习如何使用JDBC进行事务管 理。
《Java基础案例教程》读书笔记思维导图PPT模板下载

04
【任务21】商城 库存清单 程序设计
05
2.4 选 择结构语 句
06
2.5 循 环结构语 句
【任务2-2】 1
猜ห้องสมุดไป่ตู้字游戏
2
2.6 方法
3
2.7 数组
4 【任务2-3】
随机点名器
5 2.8 本章小
结
第3章 面向对象(上)
01
3.1 面 向对象的 概念
02
3.2 类 与对象
5.3 Math类与 Random类
5.4 包装类
【任务5-2】字符 串排序程序设计
5.5 JDK 7.0新 特性—switc...
5.6 本章小结
第6章 集合类
01
6.1 集 合概述
02
6.2 Collect ion接口
03
6.3 List接 口
04
【任务61】模拟 KTV点歌 系统
05
6.4 Set 接口
内容提要
第1章 Java开发入门
1.1 Java概述 1.2 JDK的使用
1.3 第一个Java 程序
1.4 系统环境变 量
1.6 Eclipse开 发工具
1.5 Java的运行 机制
1.7 本章小结
第2章 Java编程基础
01
2.1 Java的 基本语法
02
2.2 Java中 的变量
03
04
【任务41】USB 接口程序 设计
05
4.4 多 态
06
【任务42】模拟 物流快递 系统程序 设计
4.6 访问控制
4.5 异常 (Exception)
4.7 本章小结
《Java基础课件-核心技术篇》

Java的特性
Java具有简单、面向对象、 健壮、安全、多线程、跨 平台等特性。
Java开发环境
我们将介绍您需要设置的 Java开发环境,以便您顺 利进行编码和调试。Java核心技术源自1控制流程2
深入讨论Java程序中的控制流程,如
条件语句、循环语句等。
3
面向对象编程
4
介绍面向对象编程的概念和基本原则, 以及Java中的类、对象和封装等。
5
输入输出流
6
了解Java的输入输出流,使您的程序
可以与外部世界进行数据交互。
7
网络编程
8
了解Java的网络编程,使您的程序可 以在网络上与其他应用进行通信。
Java的基本数据类型
我们会详细讲解Java的基本数据类型, 如整数、浮点数、布尔值等。
数组
学习如何使用Java数组,处理多个相 同类型的数据。
异常处理
学习如何处理Java程序中的异常情况, 确保代码的稳定性和可靠性。
多线程
深入研究Java多线程编程,掌握如何 实现并发和处理线程间的通信。
总结和展望
在本课件中,我们深入学习了Java的基础概念和核心技术。现在您已经具备 了编写简单Java程序的能力,接下来您可以进一步探索Java世界的更多精彩。
《Java基础课件-核心技术 篇》
欢迎来到《Java基础课件-核心技术篇》!今天,我们将深入学习Java的基本 概念和核心技术,为您揭开Java世界的神秘面纱。
概述
本节将介绍Java的基本概念和特性,以及Java开发环境的设置。
Java基础概念
什么是Java?
Java是一种高级编程语言, 具有良好的可移植性和跨 平台特性。
《Java核心技术》读书笔记(1-5章)

《Java核⼼技术》读书笔记(1-5章)+= 是右结合运算符枚举类型:变量只能存储这个类型声明中给定的某个枚举值,或者null,表⽰没有设置任何值。
switch,如果case匹配不上会调⽤defaultfor循环中注意浮点数的判断for(double i=0,i!=10,i+0.1){sout{i}}Arrays是⼀个类,包含操作数组的静态⽅法如toString,sort,equal,binarySearch⼆维数组实际上是⼀个特殊的数组,第⼀个索引是数组的内存中的位置,第⼆个是该数组的元素索引。
隐式参数,如this,⽅法的调⽤者,如this。
显⽰参数,传递的参数。
类的静态域是所有实例共享静态⽅法使⽤的场景不需要访问对象状态⼀个⽅法只需要访问类的静态域⽅法参数使⽤不能修改⼀个基本数据类型的参数可以改变⼀个对象的参数状态不能让对象参数引⽤⼀个新的对象,⽆法实现交换功能⼀个构造器可以调⽤另⼀个// 使⽤thispublic Employee(double s){this("employee",s);nextId++}super1. 调⽤⽗类的⽅法2. 调⽤⽗类构造器,只能是第⼀条构造器,如果参数不⼀致编译报错私有域⽗类不能直接使⽤⼦类private私有域。
⽅法覆盖在覆盖⼀个⽅法的时候,⼦类⽅法不能低于超类⽅法的可见性。
如果超类⽅法时public修饰,⽽⼦类遗漏了该修饰符,那么编译器会把它解释为试图提供更严格的访问权限。
阻⽌继承final关键字修饰类,只有其⽅法被⾃动的成为final,⽽不包括域。
内联早期java中,有些程序员为了避免动态绑定的带来的系统开销⽽使⽤final关键字,⽽如果⼀个⽅法没有被覆盖并且很短,编译器就能够对他进⾏优化处理,这个过程称为内联。
强转在超类转换成⼦类前,应该⽤instanceof进⾏检查。
如何有效的定义equals1. 判断this==otherObject2. 判断otherObject==null3. 判断getClass==otherObject.getClass()4. 判断私有域的值是否⼀致ArrayListensureCapacity设定了⼀个值可以加快arrayList初始化时间add⽅法添加,set⽤来替换,如果不存在会报错public void demoTest01(){ArrayList<String> list = new ArrayList<>(3);list.set(0,"3");}ng.IndexOutOfBoundsException: Index: 0, Size: 0装箱拆箱包装类由于每个值分别包装在对象中,所有ArrayList<Integer>的效率远远低于int[]数组,适⽤于⼩型集合。
Java核心技术-读书笔记

Java核⼼技术-读书笔记基本语法Java中的所有函数都属于某个类的⽅法Java没有任何⽆符号的int、long、short 或 byte 类型浮点数值不适⽤于⽆法接受舍⼊误差的⾦融计算中,⽐如2.0-1.1不会输出想要的0.9,如果不允许有任何舍⼊误差,应该使⽤BigDecimal类建议不要在程序中使⽤char类型,除⾮确实需要处理UTF-16的代码单元,最好将字符串作为抽象数据类型处理boolean类型:整数和布尔值之间不能相互转换利⽤final指⽰常量,只能赋值⼀次,⼀旦被赋值后,就不能更改了类常量:希望某个常量可以在⼀个类中的多个⽅法中使⽤,⽤ static final 设置,如果⼀个常量被声明为 public 那么其他类⽅法也可以使⽤这个常量,const是java的保留关键词,但并没有使⽤操作符:>>>运算符会⽤0填充⾼位,这与>>不同,它会⽤符号位填充⾼位,不存在<<<运算符字符串:String.subtring,+,String.join等等String类没有提供⽤于修改字符串的⽅法,不能修改Java字符串中的字符,可以提取⼦串后拼接,String不可变,StringBuilder可变⼀定不要使⽤==运算符检测两个字符串是否相等,它只能判断两个字符串是否在放置在同⼀个位置上,可以⽤equals或compareTo空串是长度为0的字符串,是⼀个java对象,null则不是⽐C++多了带标签的break: ⽬的是跳出嵌套的深层循环,标签必须放在希望跳出的最外层循环之前,并紧跟⼀个冒号,通过执⾏带标签的break跳转到带标签语句块的末尾,if语句也同样使⽤,但不能跳⼊语句块,只能跳出Java没有提供运算符重载的功能,除了字符串拼接的 +java.math包中的BigInteger和BigDecimal类可以处理包含任意长度数字序列的数值,实现了任意精度的整数和浮点数运算数组:将⼀个数组变量拷贝给另⼀个数组变量,两个变量将引⽤同⼀个数组int[] a = b;a[5] = 12; // now b[5] is also 12如果希望将⼀个数组的所有值拷贝到另⼀个新的数组中,需要使⽤Arrays类的copyOf⽅法OOP算法+数据结构 = 程序⾯向过程往往先考虑算法实现,然后考虑数据存储⾯向对象是相反的过程,将数据放在第⼀位,才考虑操作数据的算法⾯对⼀个需求,先从设计类开始,然后再往类中添加⽅法。
java核心技术要点笔记2

java核⼼技术要点笔记2第4章对象和类1.⾯向对象类:构造对象的模板,创建类的实例:由类构造对象的过程,封装,继承;对象:对象的特性——对象的⾏为,对象的状态,对象的标识;类之间的关系: 依赖(“user-a”),⼀个类的⽅法操纵另⼀个类的对象 聚合(“has-a”),类A的对象包含类B的对象 继承(“is-a”),类A 拓展了类B2.使⽤预定义类并不是所有的类都具有⾯向对象的特征,例如Math类;对象不会⾃动被初始化为null,⽽必须通过调⽤new或将它们设置为null进⾏初始化(可以将java对象看成是c++的对象指针);3.⽤户⾃定义类主⼒类:类中没有main⽅法,有⾃定义的实例域和实例⽅法;在⼀个源⽂件中,只能有⼀个共有类,但可以有任意数⽬的⾮公有类;多个源⽂件的使⽤:编若两个类单独存在于两个源⽂件,则编译 javac Employee*.java 或者 javac EmployeeTest.java (会⾃动搜索Employee.java)构造器:构造器与类同名,每个类可以有⼀个以上的构造器,构造器可以有0个,1个或多参数,构造器没有返回值,伴随new操作⼀起使⽤;隐式参数和显式参数:关键字this表⽰隐式参数;import java.util.*;1public class StaticTest2 {3public static void main(String[] args)4 {5// fill the staff array with three Employee objects6 Employee[] staff = new Employee[3];78 staff[0] = new Employee("Tom", 40000);9 staff[1] = new Employee("Dick", 60000);10 staff[2] = new Employee("Harry", 65000);1112// print out information about all Employee objects13for (Employee e : staff)14 {15 e.setId();16 System.out.println("name=" + e.getName() + ",id=" + e.getId() + ",salary="17 + e.getSalary());18 }1920int n = Employee.getNextId(); // calls static method21 System.out.println("Next available id=" + n);22 }23 }2425class Employee26 {27private String name;28private double salary;29private int id;30private static int nextId = 1;31public Employee(String n, double s)33 name = n;34 salary = s;35 id = 0;36 }3738public String getName()39 {40return name;41 }4243public double getSalary()44 {45return salary;46 }4748public int getId()49 {50return id;51 }5253public void setId()54 {55 id = nextId; // set id to next available id56 nextId++;57 }5859public static int getNextId()60 {61return nextId; // returns static field62 }6364public static void main(String[] args) // unit test65 {66 Employee e = new Employee("Harry", 50000);67 System.out.println(e.getName() + " " + e.getSalary());68 }697071 }4.静态域和静态⽅法静态域:若将域定义为static,每个类中只有⼀个这样的域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
。Java程序设计环境 。Java基本的程序设计结构 。基于OOP的基本程序设计
。对象与类 。继承 。图形程序设计
Java程序设计环境
• 安装开发工具箱
– 下载JDK – 设置执行路径 – 安装库源代码和文档
• 选择开发环境
下载JDK
• JDK是Java Development Kit的缩写。版本 历史:1.2 ~ 1.4 , 5.0
System.out.println("We will not use 'Hello World!'"); } } • 源代码的文件名必须与公有类的名字相同,并用.java作为扩展名。 • FirstSample.java --> FirstSample.class
• java FirstSample //java ClassName
• 文档在一个与分开的压缩文件中。可以从/docs下载该文档。执行下 面的步骤:
– 1)确保JDK已经安装,并且jdk/bin目录已经在执行路。 – 2)下载该文档的zip文件并放入jdk目录。j2sdkversion-doc.zip,这里的version类似5_0。 – 3)打开shell窗口 – 4)进入jdk目录 – 5)执行命令: – jar xvf j2sdkversion-doc.zip
• 可以使用下面的步骤测试上面的设置是否正确:
– 1)打开一个shell窗口。键入:java -version – 2)按ENTER键。应该能够看到类似如下的显示信息:
java version "5.0" Java(TM)2 Runtime Environment Standard Edition Java HotSpot(TM) Client VM
47E+38F(有效位数6~7位)
8字节
大约正负1.797 693 134 862 315 70E+308(有效位
数6~7位)
常量Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY和 Double.NaN(0/0 或者负数的平方根) 错误 if(x==Double.NaN) 正确 if(Double.isNaN(x))
1字节
取值范围
-2 147 483 648 ~ 2 147 483 647
-32 768 ~ 32 767 -9 223 372 036 854 775 808 ~ 9 223 372 036 854
775 807 -128 ~ 127
名称 float
double
浮点型
存储需求
取值范围
4字节
大约正负3.402 823
Java基本的程序设计结构
• 一个简单的Java应用程序 • 注释 • 数据类型 • 变量 • 运算符 • 字符串 • 输入输出 • 控制流程 • 大数值 • 数组
一个简单的Java应用程序
《 FirstSample.java 》 public class FirstSample {
public static void main(String[] args) {
导航Java目录
• jdk(名字可以不同例如jdk5.0)
– >bin
编译器和工具
– >demo
演示
– >docs
HTML格式的类库文档
– >include 用于编译本地方法的文件
– >jre
Java运行环境文件
– >lib
类库文件
– >src
(展开src.zip之后)
选择开发环境
总而言之,可以选择下列的开发环境: 。使用JDK以及自己喜欢的文本编辑器。在
注释
• 最常用使用//,注释内容从//开始到本行结 尾
• 当需要比较长的注释时,也可以使用/*和*/
– 在Java中,不能套嵌。
• 第三种注释可以用来自动生成文档。这种 注释以/**开始,以*/结束。Fra bibliotek数据类型
• Java是一种强类型语言(strong typed language)。意即必须为每一个变量声明 一种类型。
译器放在类文件中的字节码。
使用文本编辑器编译并运行程序
• 许多文本编辑器可以启动java编译器,运行java 程序,并捕获错误的信息以及输出结果。
名称 Emacs
TextPad JEdit
软件类型 免费
共享 免费
备注
需要安装JDEE(Java Development Environment for Emacs)
shell窗口编译并且运行程序。
。使用集成开发环境,如Eclipse
。使用JDK和一个与JDK集成在一起的文本编 辑器:Emacs, TextPad以及JEdit等
使用命令行工具
• javac Welcome.java • //javac程序是一个java编译器,它将文件
Welcome.java编译成Welcome.class • java Welcome • //java程序启动java虚拟机。虚拟机执行编
• 在Java中,一共有8种基本类型(primitive type)其中4个整型,2个浮点类型,1个 用于表示Unicode编码的字符单元的char类 型和1个用于表示真值的boolean类型。
整型
• 整型用于表示没有小数部分的数值,它允许是负 数。
名称 int short long
byte
存储需求 4字节 2字节 8字节
• /j2se找到版本5.0或后续 版本,并选择自己的平台。
• /j2se/5.0/install.html安 装指南
• 在Windows环境下,强烈建议不接受带空 格的默认路径名 c:\jdk5.0\bin
设置执行路径
• 在完成了JDK的安装之后,还需要执行一个附加 的步骤:把jdk/bin目录添加到执行路径中。
安装库源代码和文档
• 库源文件在JDK中以一个压缩文件src.zip的形式发布,必须解压缩后才能访问源代码。
– 1)确保JDK已经安装,并且jdk/bin目录已经在执行路。 – 2)打开shell窗口 – 3)进入jdk目录 – 4)建立一个子目录src: – mkdir src – cd src – 5)执行命令: – jar xvf ../src.zip