Java回顾第六章

懒懒张187 2021-04-27 11:59:39
Calendar类

/**
java.util.Calendar类:日历类
我们可以使用Calendar类中的方法获取日历上的字段(年,月,日,时,分,秒...)
我们可以使用Calendar类中的方法修改日历上字段的值 2019年-->2029年 11月-->2月
我们可以使用Calendar类中的方法把日历上的字段的值增加/减少 2019-5=2014 11月+3月=2月
我们可以使用Calendar类中的方法把日历对象转换为日期Date对象
Calendar 类是一个抽象类,无法直接创建对象,在Calendar 类中有一个静态方法,返回了Calendar 类的子类对象
static Calendar getInstance()
使用默认时区和语言环境获得一个日历。
注意:
西方月份:0-11月
东方月份:1-12月
西方星期:星期日-星期六
东方星期:星期一-星期日
*/
public class Demo01Calendar{
/**
getInstance方法的源码:
Calendar cal = null;
cal = new GregorianCalendar(zone, aLocale);
*/
Calendar c = Calendar.getInstance();
System.out.println(c);

}

输出结果:
java.util.GregorianCalendar[time=1619535222065,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2021,MONTH=3,WEEK_OF_YEAR=18,WEEK_OF_MONTH=5,DAY_OF_MONTH=27,DAY_OF_YEAR=117,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=53,SECOND=42,MILLISECOND=65,ZONE_OFFSET=28800000,DST_OFFSET=0]

2.Calendar类常用方法

/**
Calendar类中的常用成员方法:
int get(int field) 获取指定日历字段的值
void set(int field, int value)将给定的日历字段设置为给定值。
void add(int field, int amount) 把日历字段增加或者减少指定的值
Date getTime() 把日历对象转换为日期对象
注意:
将以上方法参数int field,让我们传递指定的日历字段,这些日历字段在Calendar类中被定义为了常量
public final static int YEAR = 1;
public final static int MONTH = 2;
public final static int DATE = 5;
public final static int DAY_OF_MONTH = 5;
public final static int HOUR = 10;
public final static int MINUTE = 12;
public final static int SECOND = 13;
public final static int MILLISECOND = 14;
*/
public class Demo02Calendar {
public static void main(String[] args) {
//获取Calendar类的子类对象
Calendar c = Calendar.getInstance();
show04(c);
}

/**
Date getTime() 把日历对象转换为日期对象
*/
private static void show04(Calendar c) {
Date date = c.getTime();
System.out.println(date);//Tue Apr 27 23:19:10 CST 2021
}

/**
void add(int field, int amount) 把日历字段增加或者减少指定的值
参数:
int field:指定的字段
int amount:给字段增加|减少的值
传递正数:增加
传递负数:减少
*/
private static void show03(Calendar c) {
//把年-5年
c.add(Calendar.YEAR,-5);
//把月+4个月
c.add(Calendar.MONTH,4);
//把日-10日
c.add(Calendar.DATE,-10);

int year = c.get(Calendar.YEAR);
System.out.println(year);//2016 2017
int month = c.get(Calendar.MONTH);
System.out.println(month);//8
int date = c.get(Calendar.DATE);
System.out.println(date);//17
}

/**
void set(int field, int value)将给定的日历字段设置为给定值。
参数:
int field:指定的字段
int value:指定的值
同时设置年月日,建议使用以下方法:
void set(int year, int month, int date) 设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。
*/
private static void show02(Calendar c) {
//把年设置为8888年
c.set(Calendar.YEAR,8888);
//把月设置为8月
c.set(Calendar.MONTH,8);
//设置日为8日
c.set(Calendar.DATE,8);
//同时设置年月日为9999-9-9
c.set(9999,9,9);

int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH);
System.out.println(month);
int date = c.get(Calendar.DATE);
System.out.println(date);
}

/**
int get(int field) 获取指定日历字段的值
参数:
int field:传递指定的日历字段
*/
private static void show01(Calendar c) {
//获取年
int year = c.get(Calendar.YEAR);
System.out.println(year+"年");
//获取月
int month = c.get(Calendar.MONTH);
System.out.println((month+1)+"月");
//获取日
//int date = c.get(Calendar.DATE);
//int date = c.get(Calendar.DAY_OF_MONTH);
int date = c.get(5);
System.out.println(date+"日");
}
}


3.Marh类

/**
java.lang.Math类:数学工具类
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
Math类中的方法都是静态方法,通过类名.方法名(参数)可以直接使用
私有了构造方法,不让我们创建对象调用方法
成员方法:
static int abs(int a/double d) 返回 int/double 值的绝对值。
static double ceil(double a) 向上取整
static double floor(double a) 向下取整
static long round(double a) 四舍五入
static double max(double a, double b) 返回两个小数的最大值
static int max(int a, int b) 返回两个整数的最大值
static double min(double a, double b) 返回两个小数的最小值
static int min(int a, int b) 返回两个整数的最小值
static double pow(double a, double b) a的b次方
static double sqrt(double a) 计算平方根
static double random() 返回一个随机小数,范围[0.0-1.0)

alt+鼠标左键:可以操作列
*/
public class Demo01Math {
public static void main(String[] args) {
//甩头atic int abs(int a/double d) 返回 int/double 值的绝对值。
System.out.println(Math.abs(-10));//10
System.out.println(Math.abs(10));//10
System.out.println(Math.abs(-0.1));//0.1
System.out.println(Math.abs(0.1));//0.1
System.out.println("-------------------------");
//甩头atic double ceil(double a) 向上取整
System.out.println(Math.ceil(3.1));//4.0
System.out.println(Math.ceil(3.9));//4.0
System.out.println(Math.ceil(-3.1));//-3.0
System.out.println(Math.ceil(-3.9));//-3.0
System.out.println("-------------------------");
//甩头atic double floor(double a) 向下取整
System.out.println(Math.floor(3.1));//3.0
System.out.println(Math.floor(3.9));//3.0
System.out.println(Math.floor(-3.1));//-4.0
System.out.println(Math.floor(-3.9));//-4.0
System.out.println("-------------------------");
//甩头atic long round(double a) 四舍五入
System.out.println(Math.round(5.4999999));//5
System.out.println(Math.round(5.5));//6
System.out.println("-------------------------");
//甩头atic double max(double a, double b) 返回两个小数的最大值
//甩头atic int max(int a, int b) 返回两个整数的最大值
//甩头atic double min(double a, double b) 返回两个小数的最小值
//甩头atic int min(int a, int b) 返回两个整数的最小值
System.out.println(Math.max(10,20));//20
System.out.println(Math.min(10,20));//10
System.out.println(Math.max(1.1,11.1));//11.1
System.out.println(Math.min(-10,100));//-10
System.out.println("-------------------------");
System.out.println(Math.pow(2,3));//8.0
System.out.println(Math.pow(2,-3));//0.125
System.out.println(Math.pow(-2,3));//-8.0
//甩头atic double pow(double a, double b) a的b次方
System.out.println("-------------------------");
//甩头atic double sqrt(double a) 计算平方根
System.out.println(Math.sqrt(2));//1.414
System.out.println(Math.sqrt(3));//1.732
System.out.println("-------------------------");
//甩头atic double random() 返回一个随机小数,范围[0.0-1.0)
for (int i = 0; i <10 ; i++) {
/*
方法的底层源码:
Random r = new Random();
return r.nextDouble();
*/
double random = Math.random();
System.out.println(random);
}
}
}



4.System类

/**
java.lang.System类:
System 类包含一些有用的类字段和方法。它不能被实例化(私有了构造方法)。
里边方法的都是静态的,通过类名.方法名(参数)可以直接使用
成员方法:
static void exit(int status) 终止当前正在运行的 Java 虚拟机。
static long currentTimeMillis() 返回以毫秒为单位的当前时间。
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 数组复制
*/
public class Demo01System {
public static void main(String[] args) {
show03();
}

/**
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 数组复制(了解)
参数:
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
需求:
复制前:把源数组中[1,2,3,4,5]前3个元素复制到目标数组中[6,7,8,9,10]
复制后:把源数组中[1,2,3,4,5]前3个元素复制到目标数组中[1,2,3,9,10]
*/
private static void show03() {
int[] src = {1,2,3,4,5};
int[] dest = {6,7,8,9,10};
System.out.println("复制前遍历数组:"+ Arrays.toString(dest));
//数组赋值
System.arraycopy(src,0,dest,0,3);
System.out.println("复制后遍历数组:"+ Arrays.toString(dest));
}

/**
static long currentTimeMillis() 返回以毫秒为单位的当前时间。
需求:
在控制台输出1-10000,计算这段代码执行了多少毫秒
注意:
测试程序执行的效率
*/
private static void show02() {
//在程序执行前获取一次毫秒值
long s = System.currentTimeMillis();
//执行10000循环
for (int i = 1; i <= 10000; i++) {
System.out.println(i);
}
//在程序执行后获取一次毫秒值
long e = new Date().getTime();
System.out.println("程序执行共耗时:"+(e-s)+"毫秒!");//程序执行共耗时:164毫秒!
}

/**
static void exit(int status) 终止当前正在运行的 Java 虚拟机(JVM)。
参数:
int status:状态码
0:正常终止
非0:异常终止
*/
private static void show01() {
while (true){
System.out.println("我想有一个女同桌!");
System.exit(0);//终止JVM
}
}
}






























...全文
119 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lin351550660 2021-04-28
  • 打赏
  • 举报
回复
楼主棒棒的,求分数
小梁の同学 2021-04-28
  • 打赏
  • 举报
回复
不错不错 可以用来借鉴
编辑推荐 本书采用现代面向对象方法,从零开始介绍最有用的类层次结构,全文使用图形和交互式程序,充分激发学生的学习兴趣。本书使用传记简介、引用以及哲学片段来突出计算的历史和理性背景,着重强调算法和问题解决,而今天的初级教科书通常忽略了这一点。 内容简介 自1995年首次发布以来,Java编程语言作为一种教学语言变得日益重要,现在已经成为初级计算课程斯坦福大学的标准语言。Java语言可以让学生编写高度交互式程序,这充分激发了他们的学习兴趣。但Java语言很复杂,老师和学生们在理解Java语言的结构时,复杂性成为了最大的障碍。   在本书中,斯坦福大学教授、著名的计算机科学教育领导者Eric S.Roberts着重强调了更适合于初学者的友好讲解方式,使用ACM Java库简化编程。本书简练清晰地介绍了传统CS1课程的内容,同时也包含了最近的Computing Curriculum 2001报告计算机科学卷中指定为CS101O或CS111O课程的全部主题。 作者简介 Eric S. Roberts,美国斯坦福大学计算机科学系教授,并担任主管教学事务的系主任。同时还由于教学改革所取得的成就被评为Charles Simonyi荣誉教授。他于1980年获得哈佛大学应用数学博士学位,并曾在加州Palo Alto的DEC公司的系统研究中心工作了5年。作为一位成功的教育工作者,Roberts还获得了1993年的Bing Award奖。 目录 第1章 前言  1.1 计算简史  1.2 计算机科学的含义  1.3 计算机硬件简介  1.4 算法  1.5 编程过程的几个阶段  1.6 Java和面向对象范例  1.7 Java和WWW  1.8 小结  1.9 复习题 第2章 编程示例  2.1 “Hello world”程序  2.2 编程过程的观点  2.3 两数相加的程序  2.4 编程习语和模式  2.5 类和对象  2.6 图形程序  2.7 小结  2.8 复习题  2.9 编程练习 第3章 表达式  3.1 原始数据类型  3.2 常量与变量  3.3 运算符和操作数  3.4 赋值语句  3.5 布尔表达式  3.6 设计改变  3.7 小结  3.8 复习题  3.9 编程练习 第4章 语句形式  4.1 Java的语句类型  4.2 控制语句和问题解决  4.3 if 语句  4.4 switch语句  4.5 while语句  4.6 for语句  4.7 小结  4.8 复习题  4.9 编程练习 第5章 方法  5.1 方法概述  5.2 编写自己的方法  5.3 方法调用过程的技巧  5.4 分解  5.5 算法方法  5.6 小结  5.7 复习题  5.8 编程练习 第6章 对象和类  6.1 使用RandomGenerator类  6.2 javadoc文档系统  6.3 定义自己的类  6.4 表示学生信息  6.5 有理数  6.6 扩展现有类  6.7 小结  6.8 复习题  6.9 编程练习 第7章 对象和内存  7.1 内存结构  7.2 将内存分配给变量  7.3 原始类型与对象  7.4 链接对象  7.5 小结  7.6 复习题  7.7 编程练习 第8章 字符串和字符  8.1 枚举的原则  8.2 字符  8.3 作为抽象概念的字符串  8.4 使用String类中的方法  8.5 字符串处理案例研究  8.6 小结  8.7 复习题  8.8 编程练习 第9章 面向对象图形  9.1 acm.graphics模型  9.2 acm.graphics程序包的结构  9.3 使用形状类  9.4 创建复合对象  9.5 小结  9.6 复习题  9.7 编程练习 第10章 事件驱动程序  10.1 Java事件模型  10.2 简单的事件驱动程序  10.3 响应鼠标事件  10.4 响应键盘事件  10.5 创建简单的GUI  10.6 Swing 交互器层次结构  10.7 管理组件布局  10.8 使用TableLayout类  10.9 小结  10.10 复习题  10.11 编程练习 第11章 数组与ArrayList类  11.1 数组简介  11.2 数组的内部表示法  11.3 数组作为参数传递  11.4 使用数组制作表格  11.5 数组初始化  11.6 多维数组  11.7 图像处理  11.8 ArrayList类  11.9 小结  11.10 复习题  11.11 编程练习 第12章 搜索与排序  12.1 搜索  12.2 排序  12.3 评估算法效率  12.4 使用数据文件  12.5 小结  12.6 复习题  12.7 编程练习 第13章 数组与ArrayList类  13.1 ArrayList类回顾  13.2 HashMap类  13.3 Java集合架构  13.4 面向对象设计的原则  13.5 小结  13.6 复习题  13.7 编程练习 第14章 展望  14.1 递归  14.2 并发  14.3 使用网络  14.4 编程模式  14.5 小结  14.6 复习题  14.7 编程练习
引言 1. 前提 2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用接口 1.5.1 改善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 Java和因特网 1.11.1 什么是Web? 1.11.2 客户端编程 1.11.3 服务器端编程 1.11.4 一个独立的领域:应用程序 1.12 分析和设计 1.12.1 不要迷失 1.12.2 阶段0:拟出一个计划 1.12.3 阶段1:要制作什么? 1.12.4 阶段2:开始构建? 1.12.5 阶段3:正式创建 1.12.6 阶段4:校订 1.12.7 计划的回报 1.13 Java还是C++? 第2章 一切都是对象 2.1 用句柄操纵对象 2.2 必须创建所有对象 2.2.1 保存在什么地方 2.2.2 特殊情况:主类型 2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 2.8.1 注释文档 2.8.2 具体语法 2.8.3 嵌入HTML 2.8.4 @see:引用其他类 2.8.5 类文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 总结 2.11 练习 第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 3.2.1 真和假 3.2.2 if-else 3.2.3 反复 3.2.4 do-while 3.2.5 for 3.2.6 中断和继续 3.2.7 切换 3.3 总结 3.4 练习 第4章 初始化和清除 4.1 由构建器保证初始化 4.2 方法过载 4.2.1 区分过载方法 4.2.2 主类型的过载 4.2.3 返回值过载 4.2.4 默认构建器 4.2.5 this关键字 4.3 清除:收尾和垃圾收集 4.3.1 finalize()用途何在 4.3.2 必须执行清除 4.4 成员初始化 4.4.1 规定初始化 4.4.2 构建器初始化 4.5 数组初始化 4.5.1 多维数组 4.6 总结 4.7 练习 第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的语法 6.2.1 初始化基础类 6.3 合成与继承的结合 6.3.1 确保正确的清除 6.3.2 名字的隐藏 6.4 到底选择合成还是继承 6.5 protected 6.6 递增开发 6.7 上溯造型 6.7.1 何谓“上溯造型”? 6.8 final关键字 6.8.1 final数据 6.8.2 final方法 6.8.3 final类 6.8.4 final的注意事项 6.9 初始化和类装载 6.9.1 继承初始化 6.10 总结 6.11 练习 第7章 多形性 7.1 上溯造型 7.1.1 为什么要上溯造型 7.2 深入理解 7.2.1 方法调用的绑定 7.2.2 产生正确的行为 7.2.3 扩展性 7.3 覆盖与过载 7.4 抽象类和方法 7.5 接口 7.5.1 Java的“多重继承” 7.5.2 通过继承扩展接口 7.5.3 常数分组 7.5.4 初始化接口中的字段 7.6 内部类 7.6.1 内部类和上溯造型 7.6.2 方法和作用域中的内部类 7.6.3 链接到外部类 7.6.4 static内部类 7.6.5 引用外部类对象 7.6.6 从内部类继承 7.6.7 内部类可以覆盖吗? 7.6.8 内部类标识符 7.6.9 为什么要用内部类:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型标识 7.9 总结 7.10 练习 第8章 对象的容纳 8.1 数组 8.1.1 数组和第一类对象 8.1.2 数组的返回 8.2 集合 8.2.1 缺点:类型未知 8.3 枚举器(反复器) 8.4 集合的类型 8.4.1 Vector 8.4.2 BitSet 8.4.3 Stack 8.4.4 Hashtable 8.4.5 再论枚举器 8.5 排序 8.6 通用集合库 8.7 新集合 8.7.1 使用Collections 8.7.2 使用Lists 8.7.3 使用Sets 8.7.4 使用Maps 8.7.5 决定实施方案 8.7.6 未支持的操作 8.7.7 排序和搜索 8.7.8 实用工具 8.8 总结 8.9 练习 第9章 违例差错控制 9.1 基本违例 9.1.1 违例自变量 9.2 违例的捕获 9.2.1 try块 9.2.2 违例控制器 9.2.3 违例规范 9.2.4 捕获所有违例 9.2.5 重新“掷”出违例 9.3 标准Java违例 9.3.1 RuntimeException的特殊情况 9.4 创建自己的违例 9.5 违例的限制 9.6 用finally清除 9.6.1 用finally做什么 9.6.2 缺点:丢失的违例 9.7 构建器 9.8 违例匹配 9.8.1 违例准则 9.9 总结 9.10 练习 第10章 Java IO系统 10.1 输入和输出 10.1.1 InputStream的类型 10.1.2 OutputStream的类型 10.2 增添属性和有用的接口 10.2.1 通过FilterInputStream从InputStream里读入数据 10.2.2 通过FilterOutputStream向OutputStream里写入数据 10.3 本身的缺陷:RandomAccessFile 10.4 File类 10.4.1 目录列表器 10.4.2 检查与创建目录 10.5 IO流的典型应用 10.5.1 输入流 10.5.2 输出流 10.5.3 快捷文件处理 10.5.4 从标准输入中读取数据 10.5.5 管道数据流 10.6 StreamTokenizer 10.6.1 StringTokenizer 10.7 Java 1.1的IO流 10.7.1 数据的发起与接收 10.7.2 修改数据流的行为 10.7.3 未改变的类 10.7.4 一个例子 10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11 练习 第11章 运行期类型鉴定 11.1 对RTTI的需要 11.1.1 Class对象 11.1.2 造型前的检查 11.2 RTTI语法 11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有克隆能力 12.2.4 成功的克隆 12.2.5 Object.clone()的效果 12.2.6 克隆合成对象 12.2.7 用Vector进行深层复制 12.2.8 通过序列化进行深层复制 12.2.9 使克隆具有更大的深度 12.2.10 为什么有这个奇怪的设计 12.3 克隆的控制 12.3.1 副本构建器 12.4 只读类 12.4.1 创建只读类 12.4.2 “一成不变”的弊端 12.4.3 不变字串 12.4.4 String和StringBuffer类 12.4.5 字串的特殊性 12.5 总结 12.6 练习 第13章 创建窗口和程序片 13.1 为何要用AWT? 13.2 基本程序片 13.2.1 程序片的测试 13.2.2 一个更图形化的例子 13.2.3 框架方法的演示 13.3 制作按钮 13.4 捕获事件 13.5 文本字段 13.6 文本区域 13.7 标签 13.8 复选框 13.9 单选钮 13.10 下拉列表 13.11 列表框 13.11.1 handleEvent() 13.12 布局的控制 13.12.1 FlowLayout 13.12.2 BorderLayout 13.12.3 GridLayout 13.12.4 CardLayout 13.12.5 GridBagLayout 13.13 action的替用品 13.14 程序片的局限 13.14.1 程序片的优点 13.15 视窗化应用 13.15.1 菜单 13.15.2 对话框 13.16 新型AWT 13.16.1 新的事件模型 13.16.2 事件和接收者类型 13.16.3 用Java 1.1 AWT制作窗口和程序片 13.16.4 再探早期示例 13.16.5 动态绑定事件 13.16.6 将商业逻辑与UI逻辑区分开 13.16.7 推荐编码方法 13.17 Java 1.1 UI API 13.17.1 桌面颜色 13.17.2 打印 13.17.3 剪贴板 13.18 可视编程和Beans 13.18.1 什么是Bean 13.18.2 用Introspector提取BeanInfo 13.18.3 一个更复杂的Bean 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 13.19.1 Swing有哪些优点 13.19.2 方便的转换 13.19.3 显示框架 13.19.4 工具提示 13.19.5 边框 13.19.6 按钮 13.19.7 按钮组 13.19.8 图标 13.19.9 菜单 13.19.10 弹出式菜单 13.19.11 列表框和组合框 13.19.12 滑杆和进度指示条 13.19.13 树 13.19.14 表格 13.19.15 卡片式对话框 13.19.16 Swing消息框 13.19.17 Swing更多的知识 13.20 总结 13.21 练习 第14章 多线程 14.1 反应灵敏的用户界面 14.1.1 从线程继承 14.1.2 针对用户界面的多线程 14.1.3 用主类合并线程 14.1.4 制作多个线程 14.1.5 Daemon线程 14.2 共享有限的资源 14.2.1 资源访问的错误方法 14.2.2 Java如何共享资源 14.2.3 回顾Java Beans 14.3 堵塞 14.3.1 为何会堵塞 14.3.2 死锁 14.4 优先级 14.4.1 线程组 14.5 回顾runnable 14.5.1 过多的线程 14.6 总结 14.7 练习 第15章 网络编程 15.1 机器的标识 15.1.1 服务器和客户机 15.1.2 端口:机器内独一无二的场所 15.2 套接字 15.2.1 一个简单的服务器和客户机程序 15.3 服务多个客户 15.4 数据报 15.5 一个Web应用 15.5.1 服务器应用 15.5.2 NameSender程序片 15.5.3 15.5.3 要注意的问题 15.6 Java与CGI的沟通 15.6.1 CGI数据的编码 15.6.2 程序片 15.6.3 用C++写的CGI程序 15.6.4 POST的概念 15.7 用JDBC连接数据库 15.7.1 获得学习示例 15.7.2 查找程序的GUI版本 15.7.3 JDBC API为何如何复杂 15.8 远程方法 15.8.1 远程接口概念 15.8.2 远程接口的实施 15.8.3 创建根与干 15.8.4 使用远程对象 15.8.5 RMI的替选方案 15.9 总结 15.10 练习 第16章 设计范式 16.1 范式的概念 16.1.1 单子 16.1.2 范式分类 16.2 观察器范式 16.3 模拟垃圾回收站 16.4 改进设计 16.4.1 “制作更多的对象” 16.4.2 用于原型创建的一个范式 16.5 抽象的应用 16.6 多重派遣 16.6.1 实现双重派遣 16.7 访问器范式 16.8 RTTI有害吗 16.9 总结 16.10 练习 第17章 项目 17.1 文字处理 17.1.1 提取代码列表 17.1.2 检查大小写样式 17.2 方法查找工具 17.3 复杂性理论 17.4 总结 17.5 练习 附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3 J/Direct A.3.1 @dll.import引导命令 A.3.2 com.ms.win32包 A.3.3 汇集 A.3.4 编写回调函数 A.3.5 其他J/Direct特性 A.4 本原接口(RNI) A.4.1 RNI总结 A.5 Java/COM集成 A.5.1 COM基础 A.5.2 MS Java/COM集成 A.5.3 用Java设计COM服务器 A.5.4 用Java设计COM客户 A.5.5 ActiveX/Beans集成 A.5.6 固有方法与程序片的注意事项 A.6 CORBA A.6.1 CORBA基础 A.6.2 一个例子 A.6.3 Java程序片和CORBA A.6.4 比较CORBA与RMI A.7 总结 附录B 对比C++和Java 附录C Java编程规则 附录D 性能 D.1 基本方法 D.2 寻找瓶颈 D.2.1 安插自己的测试代码 D.2.2 JDK性能评测[2] D.2.3 特殊工具 D.2.4 性能评测的技巧 D.3 提速方法 D.3.1 常规手段 D.3.2 依赖语言的方法 D.3.3 特殊情况 D.4 参考资源 D.4.1 性能工具 D.4.2 Web站点 D.4.3 文章 D.4.4 Java专业书籍 D.4.5 一般书籍

51,402

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧