Java基础教案讲义.doc
《Java基础教案讲义.doc》由会员分享,可在线阅读,更多相关《Java基础教案讲义.doc(31页珍藏版)》请在沃文网上搜索。
1、Java基础教案第六章 API常用类一. Java SE API应用程序编程接口二. java.lang包运用Java进行编程的基础类,该包中的类由编译器自动导入。 1.主要常用类 (1)Object类 所有Java类的基类,如果在类的声明中未明确使用extends关键字指定父类,则默认为继承自Object类。 toString():返回代表该对象值的字符串。返回字符串格式为:类的全限定名对象哈希码的十六进制整数值。 问题:什么是对象哈希码?实现原理? 答:是对象在JVM虚拟出来的内存地址,而不是实际物理内存的地址。 equals(Object obj):测试其它某个对象是否与此对象“相等”。
2、Objet类中是通过判断两个对象变量是否指向同一块内存区域。 hashCode():返回该对象的哈希码值。 建议:在自定义类中重写toString()和equals()方法,在重写equals()方法时,建议重写hashCode()方法,因为在某些场合需要比较两个对象是否为相同的对象时,会调用到这两个方法。 问题:重写toString()、equals()、hashCode()方法? 2.基本包装类型 Java对所有的基本类型都提供了对应的包装类,所有基本数据类型都能很方便的和对应的包装类相互转换。 String转成Integer Integer integer = new Integer(s
3、tr); Integer integer = Integer.valueOf(str); /问题:此方式与new运算符的区别? Integer转成String String str = Integer.toString(); Integer转成int int i = Integer.intValue(); int转换成Integer Integer integer = new Integer(i); Integer integer = Integer.valueOf(i); String转成int int i = Integer.parseInt(str); 把int转成String Stri
4、ng str = String.valueOf(i); String str = i+; 3.自动装箱、拆箱 装箱:将基本数据类型包装为对应的包装类对象。 拆箱:将包装类对象转换成对应的基本数据类型。 注意:java编译器在编译时期会根据源代码的语法来决定是否进行装箱或拆箱。 4.枚举类型(此部分需要详细学) 枚举类型是指由一组固定的常量组成合法值的类型。 5.数学函数类 java.lang.Math类是final类,并且它的所有成员变量和成员方法都是静态的。 6.静态导入 在JDK5.0以上版本,使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他
5、们的类名。 import static java.lang.Math.*; 问题:静态导入的原理? 7.System System类代表系统,与Math类相似之处,也定义成final的,构造器也定义成了私有的,所有的属性和方法都是static的。 获取标准输入、输出和错误输出流:in/out/err属性 获取当前时间值:currentTimeMillis():该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。实例:计算程序运行需要的时间long start = System. currentTimeMill
6、is(); for(int i = 0;i 文本)、解析(文本-日期)日期/时间。 6.java.text.NumberFormat 类 NumberFormat类用来格式化和解析数值。 7.大数字操作 Java语言支持大数字的操作。在java.math包中提供了两个专门的类:BigInteger和BigDecimal类。第七章 多线程一. 线程概述各个程序看起来是在同一时间内执行多个任务。每个任务通常称之为一个线程。这种能同时执行多个线程的程序称之为多线程程序。二. 进程和线程的区别1. 进程 进程是指每个独立程序在计算机上的一次执行活动。2. 线程 线程就是一个程序内部的一条执行路径。如果
7、一个程序中可以在同一时间内执行多个线程,就说这个程序是支持多线程的。3. 线程和进程的区别 在操作系统中同时运行多个程序叫多进程,在同一应用程序中,多条执行路径并发执行叫多线程。l 每个进程有独立的代码和数据空间,进程间的切换开销大。l 同一进程内的多个线程共享相同的代码和数据空间,每个线程有独立的运行栈和程序计数器,线程间的切换开销小。三. 多线程应用l 程序需要同时执行两个或多个任务。l 程序需要实现一些需要等待上一个任务完成时才能继续下一个任务的执行,如用户输入、文件读写操作、网络操作、搜索等。l 需要一些后台运行的程序时。四. 创建和启动线程1. 创建新线程(1)继承Thread类重写
8、run()方法class MyThread extends Thread public void run() Thread thread2 = new MyThread();(2)实现Runnable接口,实现run()方法。class MyRunner implements Runnable public void run() Thread thread1 = new Thread(new MyRunner();2.启动线程thread1.start();thread2.start();3.线程运行原理分析主线程先执行,然后启动子线程,新线程并不会立刻得到执行,而是统一由JVM根据时间片来调
9、度,调度到哪个线程就由哪个线程执行片刻。多次运行,每次的输出结果都不可能相同,说明JVM调度线程的执行顺序是随机的。JVM划分时间片间隔的机制是依托于操作系统的时间片调度机制。Windows操作系统:基于优先级的抢占式线程调度。Linux操作系统:抢占式内核和实时机制。五. 线程的生命周期1. 新线程当创建Thread类实例时,此实例则处于“新建”状态。当一个线程处于新建状态时,它的线程体中的代码并未得到JVM的执行。2. 可运行的线程当一个线程被阻塞或处于等待状态时,它暂时处于停止,不会执行线程体内的代码。3. 被阻塞和等待状态下的线程阻塞、等待、超时示例:模拟下载文件(TextWaitAn
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基础 教案 讲义
