




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java学习日记1, 一个文件里可编写多个类,一个文件里不能有两个public类。独立运行的类必须有main()函数。2, Print()不换行,println()打印新东西之前会换行。3, 在set classpath前后不能有空格,不能有中文符号。4, 三种注释方法:/、/*/、/*.*/,/*.*/不能嵌套,注释功能有:说明程序的功能,可以取消代码,或者是回复代码。5, 标识符:由字母、数字、下划线、美元符号组成,不能以数字、关键字开头。6, 常量:不变的数值。有整型,长整型,单精度、双精度、布尔常量、字符常量、字符号常量。单精度常量以f结尾。7, 变量就是系统为程序分配的一块内存单元,用来存储数据。变量须先定义后使用,不允许嵌套定义。8, 低字节的类型可以转换成高字节的类型,高字节的类型不可以转换成低字节。9, 流程控制:if若有多条语句最好用大括号括起来。问号表达式:y=x0?x:-x;若表达式为真,结果为x,反之为-x.10, Switch() 语句只接受int、byte、char、short类型数据,switch语句用break,多个条件执行相同命令:case 1:case 2:break;11,while语句后若有“;”,不是不执行该语句,而是一直在执行空语句。12,do.while.语句不管三七二十一都执行该语句,直到while语句为假,且while()后有“;”。13,system.in.read():从键盘上读取数据;14,定义数组:int x或 int x;arraycopy数组拷贝。15,面向对象三大特征:封装、继承、多态。一个类中方法可以访问同类成员。若局部变量和成员变量名字一样,则成员变量隐藏。16,一个类中方法可以访问同类的成员变量和局部变量。17,“=”与“equals()”的区别:“=”是比较两个对象的值是否相同,而equals()是比较两个对象的内容是否相同。例如:String str1=new String(“abc”);String str2=new String(“abc”);String str3=str1;If(str1=str2)System.out.println(“true”);ElseSystem.out.println(“false”);则结果返回为false。因为sr1和str2在堆中首地址不一样,而str1和str3首地址是一样的。若If(str1.equals(str2)System.out.println(“true”);ElseSystem.out.prinltn(“false”);则结果返回的是true,因为比较的是内容。18,用private修饰的成员变量,在同一类中可以访问,在其他类中不可以访问。程序代码要求强内聚弱耦合19,构造方法:和类名一样,无返回值,不能用return语句。实例对象一产生就立马调用构造方法,有几个实例对象就调用几次,一次完成对实例对象的初始化,若没有定义构造函数,系统会自动生成一个空构造函数,也可以进行重载。若定义了构造函数,则不再产生构造函数。了解构造函数执行过程。20,finalize()方法类似于C+中析构函数,在被清除之前会调用这个函数。21,static静态方法只能直接调用同类中其他的静态成员,而不能访问非静态成员。静态方法在使用之前不用创建任何对象,而非静态对象在使用之前必须先创建实例对象。静态方法不以任何方式调用this和super方法22,内部类:在类中直接定义内部类,内部类可以访问外部类成员变量。在程序块中均可定义内部类。23,类的继承:在java中只支持单继承,但类可以有多层继承,子类继承了父类所有的成员变量和成员方法,但不继承父类的构造方法,可使用super方法调用父类的构造方法。24,final()可声明类、属性、方法,若声明为类,则该类不被继承。若声明为变量,则该变量变为常量。若声明为方法,则该方法在子类中不能被覆盖。25,含有抽象方法的类称为抽象类。抽象方法:abstract int aa(int x,int y);一般方法:int aa(int x,int y)程序代码 两者的区别:前者必须由abstract修饰,只能声明,不能实例化,没有大括号;后者有大括号,说明实现了代码,不是抽象方法。26,特殊的抽象类称为接口,接口中所有的方法都是抽象的。一个类用implements去实现一个接口的所有方法。27,一个类继承了另一个类,不能使用比继承类的访问权限更低的权限去访问该类。28,del person.class 删除person字节码;javac *.java:编译所有源文件。29,a instanceof B:判断a是否是B的一个实例对象。对象的类型转换:子类可以转换成父类。Object是所有类的父类。30,异常是非致命的错误,不是语法错误。对异常处理用try.catch.。用throws关键字抛出异常,也可以自定义异常。try后面可以跟多个catch捕获多个异常。finally语句无论如何都要执行,没有异常也会执行。31,包,package语句,为java源文件的第一条语句,若无包则为缺省无包。同一个包中的类可以相互调用,不必写上包名。若为类加上包,则应将源文件中所有类都存到该包中。同一包中辆各类不一定在一个目录上。32,访问控制:类本身有两种访问控制:public和默认。父类不能是private和protected,否则子类无法继承。默认修饰的类只被同一包中的所有类访问。33,进程:正在进行的程序。线程:一个程序内部的一条执行线索,每个线程上所要运行的程序代码段是多线程,用Thread类创建线程。34,后台线程:如果对某线程对象在启动(调用start方法)前调用了setDaemon(true)方法,这个线程就变成了后台线程。只要还有一个前台线程在运行,这个进程就不会结束。如果一个进程中只有后台线程在进行,这个进程就会结束。Pp.join()的作用是把pp所对应的线程合并到调用pp.join();语句的线程中。35,单线程和多线程的区别:必须等到run()调用后才实现36,要实现多线程必须要编写一个继承了Thread类的子类,子类要覆盖Thread类的run方法,在子类run方法中调用正在新程序中运行的程序代码,启动一个新线程是调用Thread类的start方法,Thread类对象的start方法产生一个新线程,并在该线程上运行Thread类对象中的run方法,控制线程是否结束。37,产生一个TestThread对象,四个tt.start()线程,共同去卖同100张车票:TestThread tt =new TestThread();tt.start();tt.start();tt.start();tt.start();38,多个线程共享同一数据就会发生线程安全问题。39,线程间的通信:wait():当前线程放弃监视器并进入睡眠状态直到其他线程进入同一监视器并调用notify()为止。40,API:应用程序编程接口。Windous API:WIndous操作系统提供的各种函数。Java API:JDK提供的各种java类41,java开发工具软件的基本特点:集成编辑软件功能,使用工程化管理,产生应用程序的基本框架,支持调试,提供各种辅助工具。42,JCreator Pro:一个工作区可以管理多个工程,只能有一个活动工程。使用该软件时不用完全记住函数或者参数,因为有提示,43,String 类对象中的内容一旦被初始化就不能在改变。而stringBuffer类用于封装,内容可以改变。44,indexOf(int ch)方法用于返回一个字符在字符串中第一次出现的位置,若没有该字符,返回-1.45,集合类,用于存储一组对象,其中每个对象称为元素,常用到的有:Vetor、Enumeration、ArrayList等。46,从键盘上读取数字:int b=System.in.read();Vector.addElement():向Vector中添加元素。47,Collection,Set与List三者区别:Collection是父类,通用集合类,各元素对象无指定顺序,允许有重复元素和null元素对象。Set为子类,无指定顺序,不允许有重复元素,最多允许一个null元素对象。List也为子类,有指定顺序,允许有重复元素和多个null元素对象。48,Hashtable类:Hashtable像Vector一样动态存储一系列对象,而且对存储的每个对象都要安排另一个对象与之相关联。用put()存储数据:Hashtable ht=new Hashtable();Ht.put(“one”,new Integer(1);检索数据用get方法:Integer n=(Integer)ht.get(“two”);If(n!=null)System.out.println(“two=”+n);要成功检索某个字,用作关键字的类必须覆盖Object.hashtableCode()和Object.equals().49.Properties类:Hashtable类的子类,增加了讲Hashtable对象中的关键字和值保存到文件和从文件中读取关键字和值到Hashtable对象中的方法。如果要用Properties.store方法存储Properties对象中的内容,每个属性的关键字和值都必须是String类型。50,System类中的exit方法用于结束java虚拟机运行的程序。currentTimeMills():可以检测程序运行的时间。Java虚拟机系统变量或者系统环境变量都是变量和值成对出现。getProperties方法获取java虚拟机系统属性,setProperties方法用于设置系统属性。51,Date类:日期时间的类;Calendar:日期字段相互间的操作类;Calendar.add():增加时间;Calendar.Set():设置时间;Calendar.get():获取时间。Calendar类位于java.util包中52.TimerTash类实现了Runable接口,要运行的任务,由它里面实现的run方法来完成。53,Math类包含了所用于几何和三角运算的方法,Random类一个伪随机数产生类。54,File类:IO包中唯一代表磁盘文件本身信息的类,而不是文件中的内容。File f=new File(“hello.txt”);If(f.exist()f.delete();Else f.createNewFile();System.out.println(“File name:”+f.getName();获取文件的名称System.out.println(“File path:”+f.getPath();获取文件的路径System.out.println(f.exist()?”exist”:”not exist”);判断文件是否存在55,RandomAccessFile类提供了众多的文件访问方法;RandomAccessFile类支持随机访问,但是不能访问其他的Io设备,如网络、内存映像等。两种构造方法:new RandomAccessFile(f,”rw”);可以读写new RandomAccessFile(f,”r”);只读56,流是字节序列的抽象概念。文件是数据的静态存储形式流是数据传输时的形态。流分为两种:节点流类和过滤流类。57,InputStream类方法:int read();读取方法void close();读取后要关闭文件58,FileInputStream inone=new FileInputStream(“hello.test”);等同于File f=new File(“hello.test”);FileInputStream intwo=new FileInputStream(f);59,System.in连接到键盘,而System.out连接到显示器,用-1作为键盘输入的结束。60,PipedInputStream与PipedOntputStream类:创建管道通信,使用管道流类,可以实现各个程序模块之间的耦合通信。61,DateOutputStream类提供了三个写入字符串方法:-public final void writeByte(String s)-public final void writeChars(String s)-public final void writeUTF(String s)62,ObjectInputStream、ObjectInputStream用于从底层输入流中读取对象类型的数据和将对象类型的数据写入到底层输出流。63,避免频繁地在字符与字节间进行转换,最好不要直接使用InputStreamReader和OutputStreamWriter类读写数据,应尽量使用BufferedWriter类包装OutputStreamWriter类,用BufferredReader类包装InputStreamReader。InputStreamrReader和OutputStreamWriter用于将字节转换成字符流来读写的两个类。63,读取一行文本用BufferredReader。64,printStackTrace()用于将异常信息打印在标准输出设备上。65,AWT:应用窗口工具集;GUI:图形用户界面。66,将窗口从内存中显示出来用Frame.setViseble(true);Frame.setSize(int x,int y);设置窗口大小Frame.add(new Button(“OK”);增加一个新按钮67,GUI:包括基本组件和容器。Frame.dispose()将窗口对象释放,但线程消失,而Frame.setVisible(false);窗口不显示但程序没有结束。68,事件适配器:事件监听器接口的最简单的实现类,称为Adapter。69,调用enableevents(long eventsToEnable)方法,可以在即使没有注册事件监听器情况下,组件也能够对某些类型的时间进行响应和产生相应的事件对象。70,GraPhics类与图形绘制有关。GraPhics.draw String()方法的坐标参数是左下面,这和其他的坐标在左上方是不一样的。71,设置图形颜色:GraPhics.setColor(Color.Red);颜色英文须大写72使用GraPhics.drawImage(Image img,int s,int y,imageObserver observer)方法显示图像。73,与菜单相关的类:MenuBar、Menu、MenuItem。创建菜单的过程:先创建一个菜单条,再把几个菜单挂在菜单条上,最后在每个菜单上添加菜单项。也可以在菜单上创建子菜单。74Container容器类,所有容器类的父类,Container.add()用于将组件添加到容器中。75,Dialog类用于产生对话框,分为模态对话框和非模态对话框两种。76,Checkbox类用来建立单选按钮和多选按钮,单选按钮和多选按钮语义事件为ItemEvent,对应的监听器接口为ItemOutstream。77,panel容器类,产生空白面板,可容纳多个组件,不能独立存在。78,ScrollPane用于产生滚动窗口。79,布局管理器管理组件在容器中的布局。BroderLagout:NORTH、 WEST 、SOUTH 、EAST 、CENTERFlowLagout:布局分配是从左到右从上到下GridLagout:网格布局,模块大小完全相同,也是从左到右,从上到下cardLagout:多个组件交替显示,只有最上面的那一个可见。Container.setLagout(null)用于取消布局管理器Container.setBounds(x1.y1,x2,y2)用坐标来设置组件位置80,Swing提供了丰富的GUi组件,增强了AWT中原有组件的功能。JFC:java功能类,集合了Swing组件和其他能够开发API类。81,JFrame是与AWT中的Frame相对应的Swing组件,只能有一个唯一组件JRootPane;82,Applet:嵌套在网页中的小程序。83,浏览器显示网页的原理和打开记事本方式一样84,Applet由浏览器来启动执行过程:1)浏览器载入HTML文件。2)浏览器载入HTML文件中引用的Applet字节码。3)浏览器启动java虚拟机执行Applet;85Applet需要覆盖的方法:init()、 start()、 stop()、 destroy()、 paint()。鼠标事件监听器: MouseListener()。86,Thread.sleep(1000);语句需要捕获异常,用trycatch.语句捕获87,Applet相关知识:容器与插件的程序架构设计模式、Applet程序中的控制台输出。88,Applet程序的限制:不能启动执行其他应用程序,不能进行文件IO操作,不能调用本机代码,不能与Applet所在的主机之外的其他主机进行网络连接;89,Applet标记的详细表:archive=archiveList方括号的为可选项Code=appletFile.class不带方括号的为必选项90,OBJECT标记:使用HTMLContainer将Applet标记转换成OBJECT标记。使用OBJECT标记执行Applet小程序的java解释器被作为一个ActiveX插件使用。使用OBJECT标记比Applet标记多了自动下载和安装java解释器的功能。91,网络协议:TCP/IP UDP92,获取本机IP地址:在命令行输入:ipcongif;端口号的范围是0-65535之间。93,TCP传输控制协议,是面向连接的通信协议UDP用户数据报协议,是无连接的通信协议94,Socket是网络驱动层提供给应用程序编程的接口和一种机制。网络编程类位于包中。95,DatagramSocket类用于UDP通信,ServerSocket类用于TCP通信的服务器端。So
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论