JAVA经验Word文档格式.docx

上传人:b****6 文档编号:19694437 上传时间:2023-01-08 格式:DOCX 页数:19 大小:29.66KB
下载 相关 举报
JAVA经验Word文档格式.docx_第1页
第1页 / 共19页
JAVA经验Word文档格式.docx_第2页
第2页 / 共19页
JAVA经验Word文档格式.docx_第3页
第3页 / 共19页
JAVA经验Word文档格式.docx_第4页
第4页 / 共19页
JAVA经验Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

JAVA经验Word文档格式.docx

《JAVA经验Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA经验Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

JAVA经验Word文档格式.docx

staticfinal变量的名字所有字母都大写,并且能表示完整含义。

例如:

PI,PASSWORD。

⏹参数的命名

参数的名字和变量的命名规范一致。

⏹数组的命名

数组应该总是用这样的方式来命名:

byte[]buffer。

3.注意书写格式

1.括号要对齐

2.括号里面语句要推后4格缩写

4.fireStateChanged

protectedvoidfireStateChanged()

将一个ChangeEvent(以此JTabbedPane作为源)发送到每个已注册的侦听器。

每次选定的索引或JTabbedPane中选定的制表符发生了更改时调用此方法。

通常,选定的索引和选定的制表符同时更改。

但是,在某些情况下(如选项卡增加),选定的索引发生了更改而选定的选项卡却保持不变。

还有一些情况下(如删除选定的选项卡),索引保持不变,但一个新的选项卡移动到该索引。

对于所有这些情况都将触发事件。

另请参见:

addChangeListener(javax.swing.event.ChangeListener),EventListenerList

addChangeListener

publicvoidaddChangeListener(ChangeListener 

l)

将一个ChangeListener添加到此选项卡窗格中。

5.尽量不要使用全局变量,容易出现下标越界,多使用集函数,这样封装性会好一些

出错率大大降低。

6.引用字段的时候,一定是该字段所在类(类.字段),这样引用,例如:

select=chooser.showOpenDialog(this);

if(select==JFileChooser.APPROVE_OPTION)

注意接收返回值的变量要类型一致,不要轻易尝试强制转换,容易造成数据丢失。

7.就通过Globals.class.getResource("

/"

).getPath()获取Globals.class存放的路径

8.设置字体对话框和窗口大小不可变:

setResizable(false);

9.剪切板:

Clipboard

获得系统剪切板:

Clipboardclipboard=this.getToolkit().getSystemClipboard();

10.时间格式化和获得机器时间

Datedate=newDate();

//获得机器时间

//时间格式化SimpleDateFormat

SimpleDateFormatformat=newSimpleDateFormat("

yyyy-MM-dd"

);

System.out.println(format.format(date));

11.publicMenuItemadd(MenuItem 

mi)

将指定的菜单项添加到此菜单。

如果该菜单项为另一个菜单的一部分,则从该菜单移除它。

参数:

mi-要添加的菜单项

返回:

已添加的菜单项

(该方法是popupMenu中的方法,将指点的菜单项加到弹出式菜单中,每次点击弹出菜单就相当于点击菜单中菜单项,如果是JpopupMenu中此方法效果一样,所以重新申请相应的JMuItem,这样就不会把菜单中相同部分删除,例如在菜单中

//布局编辑菜单

undoItem=newJMenuItem("

撤销(Z)Ctrl+Z"

undoItem.setEnabled(false);

cutItem=newJMenuItem("

剪切(T)Ctrl+T"

cutItem.setEnabled(false);

copyItem=newJMenuItem("

复制(C)Ctrl+C"

copyItem.setEnabled(false);

pasteItem=newJMenuItem("

粘贴(V)Ctrl+V"

pasteItem.setEnabled(false);

delItem=newJMenuItem("

删除(Del)Del"

//布局弹出式菜单

popMenu=newJPopupMenu();

popMenu.add(undoItem1=newJMenuItem("

撤销"

));

popMenu.addSeparator();

popMenu.add(cutItem1=newJMenuItem("

剪切"

popMenu.add(copyItem1=newJMenuItem("

复制"

));

popMenu.add(pasteItem1=newJMenuItem("

粘贴"

popMenu.add(delItem1=newJMenuItem("

删除"

popMenu.add(selectAllItem1=newJMenuItem("

全选"

)。

12.setComponentPopupMenu

publicvoidsetComponentPopupMenu(JPopupMenu 

popup)

设置此JComponent的JPopupMenu。

UI负责注册绑定并添加必要的侦听器,这样可在恰当的时间显示JPopupMenu。

何时显示JPopupMenu取决于外观:

有些在鼠标事件中显示它,另一些则启用键绑定。

如果popup为null,并且getInheritsPopupMenu返回true,则将getComponentPopupMenu委托给父级。

这将允许所有子组件继承父组件的popupmenu。

这是一个绑定属性。

popup--分配给此组件的弹出菜单,可以为null

(在JtextArea有此方法,能将相应弹出式添加到JtextArea中,并在JtextArea中点击右键的时候自动弹出)

13.根据文件名来读文件,单只能读到跟程序在同一目录下文件

importjava.io.*;

importjava.util.Scanner;

publicclassTestPrintStream2

{

publicstaticvoidmain(String[]args)

args=newString[1];

System.out.println("

请输入文件名:

"

Scannerin=newScanner(System.in);

args[0]=in.nextLine();

Stringfilename=args[0];

if(filename!

=null){list(filename,System.out);

}

}

publicstaticvoidlist(Stringf,PrintStreamfs)

try

//根据文件名获得文件内容

BufferedReaderbr=

newBufferedReader(newFileReader(f));

Strings=null;

While((s=br.readLine())!

=null)

fs.println(s);

br.close();

catch(IOExceptione)

fs.println("

无法读取文件"

}

14.4

15.toString(int 

i,int 

radix)

 

返回用第二个参数指定基数表示的第一个参数的字符串表示形式。

Stringstr=Integer.toSting(100,16);

将100转化成16进制。

16.删除某字符串123123123中第2个123,用鼠标选中删除(用String类中substring)

intindex=myJTabpane.getSelectedIndex();

Stringstr=text[index].getText();

text[index].setText(str.substring(0,text[index].getSelectionStart())+str.substring(text[index].getSelectionEnd()));

17.记事本中从后往前查找,用到核心方法是lastIndexOf(),但是此方法只能查到文本中最后一条(符合匹配),所以用字符串的截取文中的字符串,在截取字符串中查找,然后设置光标位置(setSelectionStart(),setSelectionEnd())

if(flag==false)//指定开始查找的位置,从上次到的位置或者光标位置开始向上查找

{

if(start>

0)

{

var=text.getText().substring(0,start);

//字符串的截取的一个副本var

}

else

{

var=text.getText();

start=text.getText().length();

index=var.lastIndexOf(findField.getText(),start);

if(index<

{

JOptionPane.showMessageDialog(this,"

找不到"

+findField.getText());

start=0;

else

start=index;

//设置下次开始查找的位置

text.setSelectionStart(index);

text.setSelectionEnd(index+findField.getText().length());

}

17.将所用文本框中的字符串都转化成小写,JDK中String类里有toLowerCase();

StringtextStr=text.getText().toLowerCase();

//将所有的字母都转化小写

StringfindFieldStr=findField.getText().toLowerCase();

18.JTextFiled,JTextArea中监听文本的内容的改变,可以通过实现接口DocumentListener

中的三个方法insertUpdate,chengedUpdate,removeUpdate。

但是要注意添加监听器时候

要先获得Document再添加监听器。

text[0].getDocument().addDocumentListener(this);

如果用内部类:

Text[0].getDocument().addDocumentListener(new内部类的类名());

18.在C/S中编写服务器和客户器通讯(支持多线程)时,如果利用缓冲区发送数据时,要注意的是;

只有当缓冲区满的时候才会发送,如果想在缓冲区还没有满的时候就发送,就利用BufferedOutputStream类中的方法frush(),刷新此缓冲区的输入流。

BufferedOutputStreambos=newBufferedOutputStream();

InputStreamis=newInputStream();

bos.write(“Hello,welecomeyou!

”.getBytes());

bos.frush();

Byte[]buf=newByte[100];

intlen=is.read(buf));

System.out.println(newString(buf,0,len));

19.下载带图片的网页时,应当用字符流写,不要用字节流写,因为字节写时候会把一些2进制的代码看成换行,造成数据错误。

20.设置窗口JFrame大小有方法:

setBounds(int 

x,int 

y,int 

width,int 

height);

设置窗口JFrame最大化有方法:

setExtendedState

publicvoidsetExtendedState(int 

state)

设置此窗体的状态。

该状态表示为逐位掩码。

∙NORMAL

指示不设置任何状态位。

∙ICONIFIED

∙MAXIMIZED_HORIZ

∙MAXIMIZED_VERT

∙MAXIMIZED_BOTH

串连MAXIMIZED_HORIZ和MAXIMIZED_VERT。

注意,如果该状态在给定平台上不受支持,则什么也不会发生。

应用程序可以通过java.awt.Toolkit#isFrameStateSupported(intstate)方法确定特定的状态是否可用。

state-窗体状态常量的逐位掩码

21.文本的内容的撤消和重复,JAVA提供类UndoManger中undo(),redo()方法,在JtextArea获得Document,再添加监听器UndoableEditListener

1>

undoManger=newUndoManager();

//创建UndoManager的对象

2>

text[0].getDocument().addUndoableEditListener(this);

3>

publicvoidundoableEditHappened(UndoableEditEventparm1)

{

undoManger.addEdit(parm1.getEdit());

}//实现接口UndoableEditListener中的方法

4>

publicvoiddoUndo()

try

undoManger.undo();

}

catch(Exceptione)

{

System.out.println("

不能撤消"

22.孙鑫JAVA无难事视频的笔记:

Lessons2

java-version判断JDK是否安装成功

Javap反编译在JAVA JDK中bin目录下有javap使用方法:

javap类名

JavapPoint(其中Point是类名)

方法的重载:

方法同名,但是要么参数类型不同,要么参数个数不同,两者必居其一

publicvoidpoint(){}

publicvoidpoint(intx,inty){}

publicvoidpoint(doublex,doubley){}

方法的覆盖:

继承时,为了覆盖父类的方法,要求方法名,方法的返回类型,参数个数,参数类型,完全相同。

a>

(super可以在子类中调用父类中被覆盖的方法,还可以用super调用父类中成员变量)

b>

(子类中的构造方法要么用super(带参数)显示调用父类的构造函数,要么隐式调用父类super()无参构造函数,并且super要在构造方法第一句)

c>

(构造方法是不能被继承的)

d>

多态性:

通过覆盖父类的方法来实现的,在运行时,根据传递的对象的引用,来调用响应的方法。

f>

instanceof判断某对象是某个类的实例

子类对象是父类的的实例

父类对象不是子类的示例

类的继承:

extends

1>

成员变量被方法中的形参(局部变量)覆盖,可以用this显示调用成员变量:

intx,y;

publicvoidpoint(x,y)

thisx=x;

thisy=y;

2>

使用this可以简化构造函数的调用。

publicvoidpoint()

this(3,3)//调用构造方法point(intx,inty)

静态方法可以直接用类名.静态方法(),不用创建类的对象。

也可以用类的对象引用静态方法和静态变量。

静态方法中不能有非静态变量和方法,因为静态方法属于类,不属于对象,也就是说在程序加载类的时候,静态方法就分配了内存,而非静态要创建类的对象之后才分配内存,即new之后,才分配内存。

[要有内存模型]

3>

非静态的方法可以调用静态方法和静态变量【用内存模型分析可得】

final定义一个常量时候初始化finaldoublePI=3.1415926;

final定义一个常量时候也可以在构造函数中赋初始值。

Point(){PI=3.1415926}

final定义一个常量是不可以修改的。

finaldoublePI=3.1415926;

PI=3.14;

(报错误)

4>

final定义的常量一般设置为static,可以节省内存。

如果不是static,每次创建该对象

时候,都会分配一个该常量的空间。

Pointpoint1=newPoint();

Pointpoint2=newPoint();

这样就造成了point2,point1的常量的空间浪费,如果是static的常量,point1,point2就不会给该常量在分配空间,都共用系统分配的全局常量的空间。

5>

如果申明常量为finalstatic的时候就一定要初始化finalstaticdoublePI=3.14;

22.面向对象的编程思路,先把某以事物看成一对象,抽象出它具有特点,比如:

状态(变量),行为(方法),然后在用extendx来继承抽象出的类,在子类中实现父类中行为(方法),在另外一个类中创建主函数。

23.孙鑫JAVA无难事视频的笔记:

Lessons3上

定一个包用packagepackagemybole;

package语句必须放在程序中第一条语句中

命令提示符用javac–d.Text.java就会生成相应Text类中定义的包的目录;

Javac–dd:

\Text.java就会在D盘的根目录下生成一个Text类中定义的包的目录

javac–dd:

*.java就会在D盘所有以java结尾都编译。

final修饰的类是最终类,不能被继承。

注意方法的权限修饰符public,protected,default,private的区别。

方法被申明final,可以被继承但是不被覆盖。

方法被申明为private,即不被继承,当然不能被覆盖。

方法被声明为static,即不被继承,也不能被覆盖。

方法被申明为abstract,所在类必须为抽象类,抽象不能被直接实例化,只能被继承。

抽象类不一定含有抽象方法,也可能抽象类中的所有的方法都被实现了,也可以将该类申明为抽象类。

6>

用interface定义一个接口。

接口中的方法的都是publicabstract,在用implements实现接口中方法,访问权限一定要在接口中的方法的权限等同或高(一定是public)接口中的数据成员,这些成员都是默认为publicstaticfinal(公有的静态常量)

接口可以多继承,类只能单继承,可以实现多个接口:

interfacesoftextendsSittable,Lie

7>

用implements实现一个接口。

24.staticStringvalueOf(booleanb)

返回boolean参数的字符串表示形式。

staticStringvalueOf(charc)

返回char参数的字符串表示形式。

staticStringvalueOf(char[]data)

返回char数组参数的字符串表示形式。

staticStringvalueOf(char[]data,intoffset,intcount)

返回char数组参数的特定子数组的字符串表示形式。

staticStringvalueOf(doubled)

返回double参数的字符串表示形式。

staticStringvalueOf(floatf)

返回float参数的字符串表示形式。

staticStringvalueOf(inti)

返回int参数的字符串表示形式。

staticStringvalueOf(longl)

返回long参数的字符串表示形式。

staticStringvalueOf(Objectobj)

返回Object参数的字符串表示形式。

我们可以将char类型用valueOf(charc)转化成String类型,在用Integer.parseInt(Stringstr)转化成int类型。

25.孙鑫视频Lessons3下:

1》内部类可以直接访问外部类的方法和成员变量,但是外部

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

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1