[计算机软件及应用]J2SE听课笔记.doc

上传人:sccc 文档编号:4561559 上传时间:2023-04-27 格式:DOC 页数:106 大小:19.81MB
返回 下载 相关 举报
[计算机软件及应用]J2SE听课笔记.doc_第1页
第1页 / 共106页
[计算机软件及应用]J2SE听课笔记.doc_第2页
第2页 / 共106页
[计算机软件及应用]J2SE听课笔记.doc_第3页
第3页 / 共106页
[计算机软件及应用]J2SE听课笔记.doc_第4页
第4页 / 共106页
[计算机软件及应用]J2SE听课笔记.doc_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《[计算机软件及应用]J2SE听课笔记.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]J2SE听课笔记.doc(106页珍藏版)》请在三一办公上搜索。

1、安装J2SE development kit 时,默认装在C:Program Files 这个目录中由于含有空格,将来可能对一些软件有影响,应该改为没有空格的路径开发环境叫jdk运行环境叫jre编译执行解释执行程序执行过程图片 1局部变量 成员变量,你知道是怎么回事吗?方法体内的变量或者方法体参变量叫做局部变量方法体外,类体内的变量叫成员变量 图片 2浮点数在计算机中表示是有误差的Byte short char自作运算的时候,会首先将自己转换成为int类型因此byte b1=1;Byte b2=2;Byte b3=(byte)(b1+b2); /系统会自动转化为int类型,运算,需强制转化。B

2、yte 1个字节Int 4个字节书写规则图片 3图片 4看看有哪些问题图片 5图片 6图片 7图片 8图片 9分析算法的方法,用内存分析法图片 10Shift+Tab退格Break 跳出循环Continue 跳出本次循环循环的用法图片 11图片 12递归在内存中的运行图图片 13图片 14Stack 栈Heap 堆第三章图片 15图片 16图片 17图片 18图片 19图片 20图片 21包名一般用公司名 倒过来如果加上package命名空间了,java类一定要位于正确的包中。否则编译器找不到类。图片 22Java.lang里的类可以直接使用,不需要引用打包自己的类Jar cvf test.j

3、ar *.*将当前文件下的内容打包的命令图片 23图片 24图片 25重写和重载的区别重写是针对子类和父类之间的关系,重写的方法同名同参。重载是针对一个类来说,内部有多个同名,不同参的方法。重写的时候,最好是copy图片 26图片 27推荐所有类重写toString() 方法图片 28Equals方法是Object类中的函数,可以自己重写。注意“=”比较的是两个引用是否相同,如果这两个对象都是new出来的,则永远不会相同。Equals方法String ,Date方法中都有重写,图片 29记住关键字instanceof 是某个对象的实例吗?图片 30满足多态的三个条件1.0 要有继承2.0 要有

4、重写3.0 父类引用指向子类 当一个类含有抽象方法时,这个类一定要声明为抽象方法抽象方法只有声明没有实现。图片 31图片 32String 类就是final类,不可以继承的,Math ,Boolean类图片 33图片 34注意变量是static ,说明这个变量并不属于Runner接口。接口中没有自己的变量,没有方法的实现。图片 35图片 36接口和接口之间可以相互继承。图片 37 第四章图片 38图片 39通常使用PrintStackTrace 来输出错误的具体信息,这个信息主要给程序员看图片 40图片 41图片 42图片 43Main方法里不要抛异常。抓异常的时候,注意先抓小的,再抓大的图片

5、 44图片 45图片 46第五章图片 47除基础数据类型外,java中所有的数据类型都是引用类型。String也是引用类型。图片 48图片 49图片 50Length在数组中是属性在String中是方法。记住了Main方法中的String args你可以输出一下,什么都没有,这个数组主要用来盛放你自己数据的命令行参数。如你在运行一个java文件的时候,后面加上一些参数Java TestArray.java aaa bbb ccc运行结果后面就会出现 aaa bbb ccc等参数。System.Exit(-1) 表示系统非正常退出System.Exit(0)表示正常退出。数据类型:四类:一个角度

6、:成员变量,局部变量 另一个角度:基础数据类型,引用数据类型。排序的算法:public class TestArray public static void main(String args)int ints = new intargs.length;for(int i=0;iargs.length;i+)intsi = Integer.parseInt(argsi);NumSort(ints);public static void NumSort(int a)/*for(int i=0;ia.length;i+)for(int j=i+1;ja.length;j+)if(aj ai)intt

7、 = ai;ai = aj;aj = ai;System.out.print(ai);*/*/对上面的算法进行优化,每次只进行一次交换int k ,temp;for(int i=0;ia.length;i+)k = i;for(int j=k+1;ja.length;j+)if(aj=0;i-)for(int j=0;jaj+1)temp = aj;aj = aj+1;aj+1 = temp;System.out.print(ai);二分法查找算法public class TestSearch public static void main(String args) int a = 1,3,6

8、,7,8,9,10,13,15,46;int i = 13;System.out.print(binarySearch(a,i);public static int search(int a,int num)for(int i=0;ia.length;i+)if(ai=num)return i;return -1;public static int binarySearch(int a,int num)if(a.length = 0)return -1;int startPos = 0;int endPos = a.length - 1;int m = (startPos + endPos)

9、/ 2;while(startPos am)startPos = m + 1;if(num am)endPos = m - 1;m = (startPos + endPos) / 2;return -1;第六章 常用类String是不可变的序列,一开始分配出来就不允许在变了。Reverse Stringbuffer类的逆序方法。第七章Set 类似集合,没有顺序,不可以重复List 有顺序,可以重复,所谓重复是指两个对象equals注意此处的写法更具有灵活性,比如将来换成LinkedList可以基本上不用改动代码。而且使用的时候不局限于arraylist的用法。因为用的是父类。Collectio

10、n c = new HashSet();c.add(“hello”);c.add(new Integer(100);c.remove(“hello”);c.add(new Integer(100);大家看红颜色的两部分,现在集合中有几个100呢,答案是只有一个,因为在想集合中添加对象的时候,会自动调用对象的equals方法检测对象是否重复。用于Integer,String等类重写了equals方法,所以编译器认为是两个对象相同,添加一个。重写equals方法,必须重写hashCode方法。相等的对象具有相同的hashCode容器总共四大类:array set list map此处要注意iter

11、ator 在for循环中应该怎样写。增强的for循环Int arr = 1,2,3,4,5;/for循环的意思是把arr中的每个元素都拿出来放到int型变量i中For(int i:arr)System.out.print(i);一个图,一个类,三个知识点,六个接口一个类:就是java.util.CollectionsMap 自动打包和解包如 Map m1 = new HashMap();/m1.put(“one”,new Integer(1); M1.put(“one”,1);小练习:改用自动打包和解包的方式重写老师给出的程序。如下。import java.util.*;public clas

12、s TestArgsWords public static Integer ones = 1;public static void main(String args)Map m = new HashMap();for(int i=0;iargs.length;i+)Integer frequ = (Integer)m.get(argsi);m.put(argsi,frequ = null?ones:(frequ.intValue() + 1);System.out.print(m.size() + distinct words detected);System.out.println(m);第

13、八章注意先flush,后关闭closeflush的意思是先将缓冲区里的数据写入文件中。 System.in 也是标准的输入流 inputstreamDataoutputstream 可以读写double long 等Syste.out 是标准的printStream Object流直接将object读入或者读出Translent 透明该关键字修改时的变量在序列化时,不予考虑。Serializable 接口,序列化。该接口没有任何方法实现,是一个标记接口。Externalizable 自定义序列化过程。是serializable的子接口。第九章多线程有多种实现方式,一种是实现Runnable接口

14、,另一个是继承自thead类。但是推荐使用实现接口的方式,因为接口比继承更为灵活一点。一个类只能继承一个类,却可以实现多个接口。重写的方法不可以和被重写类抛出的异常不一致。在那个线程里调用sleep方法,那个线程就处于睡眠状态。让线程停止的方法:stop(停用),jion方法的意思是将另外一个线程合并到当前线程,相当于方法调用。即子线程执行完之后才执行当前的线程。Yield 让出cpu让其他线程执行。Run一结束,线程就结束。线程的停止最好使用如下方法。Class Runner4 implements Runnable Private boolean flags = true;Public v

15、oid run()Int I = 0;While(flags)System.out.println(“ ” + i+);Public void shutDown()Flag = false;同步方法:Public synchronized void add()在执行这个方法的过程中,锁定当前对象。This.wait()的意思是当前锁定到当前对象的线程进入阻塞状态。Wait的时候,失去对该对象的锁定状态,别的线程可以访问锁定对象。Sleep不会失去对该对对象的锁定。著名的生产者,消费者程序要会写。第十章Tcp/IP 详解。技术 管理 沟通 支撑IT人发展的三个支点。Tcp和UDP的端口各有655

16、33个。Socket的Accept(),DataOutputStream的readUTF()也是阻塞式的,一直等待接收。Scoket小例子TcpServer端:import .*;import java.io.*;public class TcpServer public static void main(String args) throws ExceptionServerSocket ss = new ServerSocket(6666);while(true)/Socket的意思就是跟客户端的一个链接 Socket s =ss.accept();DataInputStream dis =

17、 new DataInputStream(s.getInputStream();System.out.println(dis.readUTF();dis.close();s.close();/System.out.println(A client is accept!);TcpClient端:import .*;import java.io.*;public class TcpClient public static void main(String agrs) throws Exception/客户端申请链接Socket s = new Socket(127.0.0.1,6666);Outp

18、utStream os = s.getOutputStream();DataOutputStream dos = new DataOutputStream(os);dos.writeUTF(Hello Server!);dos.flush();dos.close();s.close();疑惑点:TCP和UDP这里不是很懂 多线程也不是很懂。Udp里面用的最多的就是dataoutputStream 等处理流第十一章推荐自己写类继承自Frame ,这样比Frame f = new Frame(); 更为灵活,因为你可以自己重写Frame类的方法。在设置布局管理器位置的时候,设置布局位置一定要用常量

19、int类型,而避免使用字符串表示。例:错误:f.add(bn,”North”); f.add(bs,”South”);正确:f.add(bn,BorderLayout.NORTH);f.ass(bs,BorderLayout.SOUTH);如果不小心书写错误,字符串形式的在编译的时候是不会报错的,运行时会报错,但是如果书写错误的话,整形常量的在编译时就会报错。ActionCommand 默认是按钮的名称。设置密码框显示编译出来的内部类通常是外部包装类$内部类名称!Paint方法当窗体需要重绘的时候自动的调用。Repaint方法先调用update方法后调用paint方法。匿名类:语句少,不经常变动

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号