传智播客java基础加强班PPT---JavaAPI 集合

合集下载

Java基础加强

Java基础加强
enum 枚举类型名称 {
枚举对象1名称, 枚举对象2名称, …, 枚举对象n名称;



}

员工、角色案例
—高级软件人才实作培训专家! 枚举类特性

Байду номын сангаас
枚举类具有如下特性:
• • • • • •
枚举类也是一种特殊形式的Java类。 枚举类中声明的每一个枚举值代表枚举类的一个实例对象。 与java中的普通类一样,在声明枚举类时,也可以声明属性、 方法和构造函数,但枚举类的构造函数必须为私有的(这点不 难理解)。 枚举类也可以实现接口、或继承抽象类。 JDK5中扩展了swith语句,它除了可以接收int, byte, char, short 外,还可以接收一个枚举类型。 若枚举类只有一个枚举值,则可以当作单态设计模式使用。

Java中ng.Class类用于表示一个类的字节码(.class)文件 如何得到某个class文件对应的Class对象
—高级软件人才实作培训专家! 枚举类案例


带参数构造方法的枚举类型举例 带有方法的枚举类型举例 带有抽象方法的枚举类型举例
练习:请编写一个关于星期几的枚举WeekDay,要求: • 枚举值:Mon,Tue,Wed,Thu,Fri,Sat,Sun • 该枚举要有一个方法,调用该方法返回中文格式的 星期



注意事项: • 调用可变参数的方法时, 编译器将自动创建一个数组保存传递给 方法的可变参数,因此,程序员可以在方法体中以数组的形式访 问可变参数 • 可变参数只能处于参数列表的最后, 所以一个方法最多只能有一 个长度可变的参数
—高级软件人才实作培训专家! 反射

JavaSE中的高级特性 什么是反射?

《java集合学习》PPT课件

《java集合学习》PPT课件
返回的Set中包含了Map中所有的关键字-值对
Key集合
KeyObject1 KeyObject2 KeyObject3 。。。
ValueObject1 ValueObject2 ValueObject3 。。。
Value集合
Entry集合
Map中 还定义了对Map数据集合的操作方法:
public void clear();//清空整个集合
LinkedHashSet:既有 HashSet 的查询速度, 又能保存元素被加进去的顺序去(插入顺序)。
HashSet
HashSet的构造函数如下: HashSet( ) //构造一个空 set。 HashSet(Collection c) //构造一个包含指
定 collection 中的元素的新 set。
按顺序保存元素, 可重复
不按顺序保存元 素,不可重复
集合框架中的实现类
Collection接口
Collection接口重要的方法有: public boolean add(Object obj); //将对象obj加入到当前ollection c); //将集合c中的元素加入到当前集合对象中 public void clear(); //清除当前集合中的所有元素 public boolean contains(Object obj); //判断当前集合中是否包含obj对象 public Iterator iterator(); //得到当前集合的迭代器
}
遍历集合的方法
迭代器遍历(所有实现了Iterable接口的
集合类)
判断该迭代器中是否还有
元素需要迭代,返回true
Iterator it=list.iterator(或)fa;lse

2013.7.15广州传智播客训练营基础加强部分PPT1

2013.7.15广州传智播客训练营基础加强部分PPT1

—高级软件人才实作培训专家
ref、out参数与params参数(*)

斱法参数默认是“复制传递” 使用ref和out可以实现“引用传递” ref不用赋值在外赋值、 out必须赋值在内赋值 params可以自动装配数组 参数必须在最后

北京传智播客教育
—高级软件人才实作培训专家 斱法的递归调用(*在三层项目中讲)


北京传智播客教育
—高级软件人才实作培训专家
面向对象 准备阶段(一)
1. 数组-> 变量
2. 枚举
北京传智播客教育
—高级软件人才实作培训专家 数组



一次语文测试后,老师让班长统计每一个学生的成绩幵 计算全班(全班共60人)的平均成绩,然后把所有成绩显 示出来. 如何声明变量? 好的解决斱法,使用数组.
数组的声明 数组的赋值与取值 常见问题:求平均值,求最大值,求和;(冒泡排序,后面讲)

北京传智播客教育
—高级软件人才实作培训专家 练习:
练习1:从一个整数数组中取出最大的整数 练习2:计算一个整数数组的所有元素的和。 练习3:将一个字符串数组输出为|分割的形式,比如“梅西|卡卡| 郑大世” 练习4:将一个整数数组的每一个元素迚行如下的处理:如果元素 是正数则将这个位置的元素的值加1,如果元素是负数则将这个位 置的元素的值减1,如果元素是0,则不变。 yooudaoyunbiji
北京传智播客教育
—高级软件人才实作培训专家 多维数组和交错数组
1.多维数组 Length;//多维数组所有元素的个数 GetLength(维度);//获得数组某个维度的大小
1.1一维数组:string[] strArr=new string[9]; 1.2二维数组:string[,] str2Arr=new string[2,3]; 1.3三维数组:string[,,] str3Arr=new string[2,3,4];(*) 2.交错数组:数组的数组:对象(又是一个数组对象)数组 2.1 string[][] strs = new string[2][]; //因为本质,所以不能设置第二个值 str[0]=new string[2]; str[1]=new string[5];

传智播客_Java培训_毕向东_Java基础[06-集合]

传智播客_Java培训_毕向东_Java基础[06-集合]
北京传智播客教育
—高级软件人才实作培训专家! 基本数据类型对象包装类

将基本数据类型封装成对象的好处在于可以在 对象中定义更多的功能方法操作该数据。 常用的操作之一:用于基本数据类型与字符串 之间的转换。 例:Integer的parseInt方法,intValue方法。 例程
集合框架的构成及分类
北京传智播客教育
—高级软件人才实作培训专家!
集合框架中的常用接口
Collection接口有两个子接口: List(列表) ,Set(集)
List:可存放重复元素,元素存取是有序的。 Set:不可以存放重复元素,元素存取是无序 的。
北京传智播客教育


北京传智播客教育
—高级软件人才实作培训专家! 基本数据类型对象包装类新特性

JDK1.5以后,简化了定义方式。
• Integer x = new Integer(4);可以直接写成 • Integer x = 4;//自动装箱。 • x = x + 5;//自动拆箱。通过intValue方法。

北京传智播客教育
—高级软件人才实作培训专家! 集合框架中的工具类

Collections
• 对集合进行查找 • 取出集合中的最大值,最小值 • 对List集合进行排序 • ……

Arrays
• 将数组转成List集合 • 对数组进行排序 • 对数组进行二分查找
北京传智播客教育

返回值类型 函数名(参数类型… 形式参数) { 执行语句; } 其实接收的是一个数组,可以指定实际参数 个数。

北京传智播客教育
—高级软件人才实作培训专家!
Java 预热班讲义

传智播客课件 PPT

传智播客课件 PPT

• 从使用的角度看,GDI+坐标系是一种转换规则,把你所制定的逻辑 数据转换成最终设备驱动所能使用的数据。
• Point、Size、Rectangle//封装,对”坐标”的封装
DrawXXX(),画各种图形,Pen FillXXX(),填充,画实心的,Brush
热身1:某工厂某产品的年度销售情况表
练习
练习1:形状类Shape(父类),包含Size属性和计算面 积getArea()方法。圆类Circle继承Shape,可以计算圆 的面积。正方形类Square继承Shape,可以计算正方 形面积。最终要求能实现:Shape sh=new Circle(5);sh.getArea()能计算出圆的面积。Shape sh=new Square(5);sh.getArea()能计算出正方形的面 积。
知识点
虚方法:使用virtual关键字修饰,使用virtual关键字修饰的方法在本类中必须有 实现,哪怕是空的{}。虚方法存在的意义就是为了让子类重写。子类可以重写, 也可以不重写。
方法重写:只有用virtual、abstract、override修饰的方法在继承后子类可以重写 。智播客员工通讯录类的设计
新建一个窗体 该窗体有一个泛型集合(父类数组代替),用来存储
员工信息 窗体加载时初始化5位员工,其中包括2个经理,3个
普通员工。 单击“显示”按钮时,循环将所有员工信息通过“画
什么样类型的对象需要使用完成后Dispose()? 答:Pen,Brush,Font,Image,Ico,(文件操作),网络操作等。 (在这些类 中封装了一些操作系统的资源)//Pens.XXX或Brushes.XXX等不需要 ,手动创建的才需要。强行释放资源会出错.

成都传智播客,任小龙,Java基础03_【Java基础下】

成都传智播客,任小龙,Java基础03_【Java基础下】
任小龙学习目标?程序运行流程?顺序结构?分支结构?循环结构?breakcontinue关键字?方法?数组高级软件人才实作培训专家高级软件人才实作培训专家成都传智播客教育cditcastcn讲师
—高级软件人才实作培训专家
Java 基础下
讲师:Will
Email:iwiller@
成都传智播客教育 讲师:任小龙
—高级软件人才实作培训专家 学习目标


程序运行流程 顺序结构 分支结构 循环结构 break,continue关键字 方法 数组
成都传智播客教育 讲师:任小龙
—高级软件人才实作培训专家
—高级软件人才实作培训专家 顺序结构

如果代码里没有流程控制,程序是至上而下一行一行执行 的,一条语句执行完之后继续执行下一条语句,直到程序 的最后。

如:Student, StudentScore,

方法名规范:


第一个单词的首字母小写,采用驼峰式;
由有实际意义的动词或动词短语:

如:playGame,grow
成都传智播客教育 讲师:任小龙
—高级软件人才实作培训专家 方法练习
假设在某个描述三人游戏的类中有一个int的变量player。 写一个返回为String值类型的方法getPlayerName。 player 的值分别是1,2,3或者其他值时,该方法返回“大明”,“二 明”“小明”,“我没有这个孩子”。
—高级软件人才实作培训专家 switch语句特点
switch语句选择的类型只有四种:byte、short、int 、char。 (java5之前)。还支持 enum(jdk5), String(jdk7);
case之间与default没有顺序。先执行第一个case,都没有匹配 的case值执行default。

传智播客java基础加强班PPT---JavaIO

传智播客java基础加强班PPT---JavaIO
北京传智播客教育
—高级软件人才实作培训专家! InputStream 4-4

ByteArrayInputStream 类
• •
在字节数组中执行读写操作 定义两种构造函数
• ByteArrayInputStream b = new ByteArrayInputStream(buf); • ByteArrayInputStream b = new ByteArrayInputStream(buf, off,

北京传智播客教育
—高级软件人才实作培训专家! 比较Comparator

比较函数强行对某些对象 collection 进行整体排序。可以将 Comparator 传递给 sort 方法(如 Collections.sort),从而允许 在排序顺序上实现精确控制。 public class User { int a; String s; public User(int a,String s) { this.a=a; this.s=s; } } ArrayList<User> arr=new ArrayList(); arr.add(new User(21,"21")); arr.add(new User(12,"12")); arr.add(new User(3,"3")); arr.add(new User(14,"14")); arr.add(new User(5,"5")); arr.add(new User(26,"26")); Collections.sort(arr);
—高级软件人才实作培训专家! OutputStream 5-1

Java基础加强PPT教学课件

Java基础加强PPT教学课件
使用 foreach 循环遍历数组和集合元素时, 无 须获得数组和集合长度, 无须根据索引来访问 数组元素和集合元素, forearch 循环自动遍历 数组和集合的每个元素
语法格式:
for(type varName : array | collection){ //varName 自动迭代访问每一个元素
2020/12/11
9
枚举类的属性
枚举类对象的属性不应允许被改动, 所以应该 使用 private final 修饰
枚举类的使用 private final 修饰的属性应该在 构造器为其赋值
若枚举类显式的定义了带参数的构造器, 则在 列出枚举值时也必须对应的传入参数
2020/12/11
10
实现接口的枚举类
每个 Method 对象对应一个方法, 获得 Method 对 象后, 程序就可通过该 Method 来调用对应方法. 在 Mthod 里包含一个 invoke() 方法
2020/12/11
14
使用反射访问属性值
通过 Class 对象的 getFields() 或 getMethod() 方法可以获取该类所包括的全部 Field 或指定 的 Field
尾). 列出的实例系统会自动添加 public static final 修饰
• 所有的枚举类都提供了一个 values 方法, 该方法可以很方 便地遍历所有的枚举值
JDK 1.5 中可以在 switch 表达式中使用枚举类的对 象作为表达式, case 子句可以直接使用枚举值的名 字, 无需添加枚举类作为限定
2020/12/11
2
静态导入
JDK 1.5 增加的静态导入语法用于导入指定类 的某个静态属性值(方法)或全部静态属性值(方 法)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京传智播客教育
double sin (double numvalue) double cos (double numvalue) double pow (double a, double b) double sqrt (double numvalue) int abs (int numvalue) double ceil (double numvalue) double floor (double numvalue) int max(int a, int b) int min(int a, int b)
sb.append("**"); //追加字符串 追加字符串
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! StringBuffer的用武之地
从控制台接收课程信息,不断累加直到输入“ 从控制台接收课程信息,不断累加直到输入“#” 键结束, 键结束,并输出全部课程信息
方法 public int indexOf(int ch) public int indexOf(String value) public int lastIndexOf(int ch) public int lastIndexOf(String value)
说明 搜索第一个出现的字符 ch(或字符串value) 搜索最后一个出现的字 符ch(或字符串value)
输入的“Java”和“java”代表同一课程,如何解决? • 使用equalsIgnoreCase()方法 • 结合toUpperCase()或toLowerCase()
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 字符串比较
使用equalsIgnoreCase()方法解决
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 无处不在的字符串
频繁使用的字符串 “有志者事竟成 ” “离奥运会开幕还有380天” 离奥运会开幕还有 天 “教育改变生活” 教育改变生活”
使用String对象存储字符串
String s = "有志者事竟成 有志者事竟成"; 有志者事竟成
String s = new String("有志者事竟成 有志者事竟成"); 有志者事竟成
ng 提供
视为对象
原始数据类型
包装类
北京传智播客教育
—高级软件人才实作培训专家! 包装类 6-2 高级软件人才实作培训专家!
原始数据类型
byte(字节) char(字符) int(整型) long(长整型) float(浮点型) double(双精度) boolean(布尔) short(短整型)
//声明课程信息字符串 //声明课程信息字符串 StringBuffer course = new StringBuffer(); System.out.println("请输入 课程信息: "); 请输入S1课程信息 请输入 课程信息: Scanner sc = new Scanner(System.in); 定义StringBuffer的实 定义 的实 例,存储课程字符串 //循环从键盘接收字符串 循环从键盘接收字符串 String input; while(!(input = sc.next()).equals("#")){ course.append(input); 循环追加字符, 循环追加字符,使用 course.append("\n"); StringBuffer,效率高! ,效率高! } System.out.println("s1的课程信息是:" + course); 的课程信息是: 的课程信息是
创建空字符串
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer("aaa");
StringBuffer的使用
//转化为 转化为String类型 转化为 类型
创建一个变量存储 字符串aaa 字符串
sb.toString();
beginindex: 字符串的位置从 开始算; 字符串的位置从0开始算 开始算; endindex: 字符串的位置从 开始算 字符串的位置从1开始算
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! StringBuffer
StringBuffer:String增强版 StringBuffer声明
北京传智播客教育
Java
JAVA
Java
java
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 字符串连接2-2
方法1:使用“+” 方法2:使用String类的concat()方法
String s = new String("你好,"); 你好, 你好 String name = new String("张三!"); 张三! 张三 String sentence = s.concat(name); System.out.println(sentence); A.concat(B): : B字符串将被连接到 字符串将被连接到A 字符串将被连接到 字符串后面
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! Object 类 2-1
所有类的父类 默认情况下,用户定义的类扩展自 Object 类
方法 boolean equals(Objectobj) void finalize() throws Throwable String toString() void wait() throws InterruptedException 说明 将当前对象实例与给定的对象进行比较,检查 它们是否相等 当垃圾回收器确定不存在对该对象的更多引用 时,由对象的垃圾回收器调用此方法。通常被 子类重写 返回此对象的字符串表示 使当前线程进入等待状态
比较时忽略大小写形式
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 字符串比较
结合toUpperCase()方法
if(favCourse1.toUpperCase().equals(favCourse2.toUpperCase())){ System.out.println("最喜欢的课程相同 最喜欢的课程相同"); 最喜欢的课程相同 }else{ System.out.println("最喜欢的课程不相同 最喜欢的课程不相同"); 最喜欢的课程不相同 } 使用 toUpperCase( ) 方法 使用 toLowerCase( ) 方法
输出结果
你好,张三! 你好,张三!
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 字符串提取方法
常用提取方法举例
0 1 2 3 位置
青 春 无 悔
返回出现第一个匹配的位置, 返回出现第一个匹配的位置, 如果没 有找到字符或字符串,则返回-1 有找到字符或字符串,则返回
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 字符串提取方法
方法 public String substring(int index) public String substring(int beginindex, int endindex) public String trim() 说明 提取从位置索引开始的字符 串部分 提取beginindex和endindex 之间的字符串部分 返回一个前后不含任何空格 的调用字符串的副本
—高级软件人才实作培训专家! 高级软件人才实作培训专家!
Java 基础班讲义
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 包装类
int digit = 10; 使用原始数据类型 声明的变量
... int num1 = 5; Integer num =原始数据类型 new Integer(num1); int num2 = num.intValue(); ...
if(favCourse1.equalsIgnoreCase(favCourse2)){ System.out.println("最喜欢的课程相同 最喜欢的课程相同"); 最喜欢的课程相同 }else{ System.out.println("最喜欢的课程不相同 最喜欢的课程不相同"); 最喜欢的课程不相同 }
String类位于ng包中,具有丰富的方法 • 计算字符串的长度 • 连接字符串 • 比较字符串 • 提取字符串
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! 字符串比较
equals()方法比较原理
字符串 1
字符串 2 检查组成字符串内容的字符是否完全一致
包装类
Byte Character Integer Long Float Double Boolean Short
北京传智播客教育
—高级软件人才实作培训专家! 高级软件人才实作培训专家! Math 类
方法 说明 计算角 numvalue 的正弦值 计算角 numvalue 的余弦值 计算 a 的 b 次方 计算给定值的平方根 计算 int 类型值 numvalue 的绝对值,也接收 long、 float 和 double 类型的参数 返回大于等于 numvalue 的最小整数值 返回小于等于 numvalue 的最大整数值 返回 int 型值 a 和 b 中的较大值,也接收 long、 float 和 double 类型的参数 返回 a 和 b 中的较小值,也可接收 long、float 和 double 类型的参数
北京传智播客教育
相关文档
最新文档