1) 安装好jbuilder2005后,可以看下它的安装目录,对以后很有帮助。它主要的目录有:(1)bin目录。这里存放各种可执行的二进制文件。(2)doc目录。这里存放各种.jar格式的javadoc帮助文档,jbuilder2005会调用这个目录下的帮助文件来显示帮助信息。(3)extras目录:这里有一些著名的第三方开源项目 (4)jdk1.4目录:自带的一个jdk 。(5)lib目录。存放jbuilder2005的各种类库 (6)patch目录:存放补丁的地方。(7)samples目录:这是我们最应该学习的地方了,很多示例程序 (8)src目录:jbuilder2005开发的组件和类库的源代码。(9)templates目录:jbuilder2005各种技术的模板。(10)thirdparty目录:放置第三方开源项目的文档。
2) 当你需要查找一个类的信息时,可以Search->Find classes,就会载入类的代码,切换到doc就可以查看文挡。或者你可以将光标定位到要查看的类上,Ctrl+Q就可以调出帮助信息。此外,你也可以按F1,就可以调出帮助信息。
3) Jbuilder2005安装好后,不要立即启动,因为还存在着几个问题。1)光标错位。解决办法:在〈Jbuilder2005安装目录〉/bin目录下找到jbuilder.config文件,加入这样的:
20 vmmemmin
32m
21 vmmemmax 75%
22 vmparam –Dprimetime.editor.useVariableWidthFont=true
加入黑体的这一行再启动jbuilder,就可以解决掉问题。
4) jdk5.0新特性:
a)监视和管理,新加javax.management和java.lang.management包
package
com.vitamin.Console;
import
java.lang.management.
*
;
import
java.util.
*
;
import
javax.management.
*
;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
public
class
MemoTest
{
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/** *//**
* @param args
*/
public static void main(String[] args)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// TODO 自动生成方法存根
List pools = ManagementFactory.getMemoryPoolMXBeans();
for(ListIterator i = pools.listIterator();i.hasNext();)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
MemoryPoolMXBean p = (MemoryPoolMXBean)i.next();
System.out.println("内存类型: "+p.getType());
System.out.println("内存使用情况: "+p.getUsage());
}
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
}
b).泛型
未使用泛型的代码:
package
com.vitamin.Console;
import
java.util.ArrayList;
import
java.lang.
*
;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
public
class
MemoTest
{
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/** *//**
* @param args
*/
public static void main(String[] args)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// TODO 自动生成方法存根
![](/Images/OutliningIndicators/InBlock.gif)
ArrayList al = new ArrayList();
al.add(0,new Integer(44));
int tol = ((Integer)al.get(0)).intValue();
System.out.println(tol);
}
![](/Images/OutliningIndicators/InBlock.gif)
}
使用泛型的代码:
package
com.vitamin.Console;
import
java.util.ArrayList;
import
java.lang.
*
;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
public
class
MemoTest
{
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/** *//**
* @param args
*/
public static void main(String[] args)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
// TODO 自动生成方法存根
![](/Images/OutliningIndicators/InBlock.gif)
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(0,new Integer(44));
int tol = al.get(0).intValue();
System.out.println(tol);
}
![](/Images/OutliningIndicators/InBlock.gif)
}
使用泛型可以不需要再进行类型转换了,而且如果往里面添加类型不符合的数据的话,在编译时就会报错。
c)自动装/拆箱
未使用:
ArrayList
<
Integer
>
al
=
new
ArrayList
<
Integer
>
();
al.add(
0
,
new
Integer(
44
));
int
tol
=
al.get(
0
).intValue();
使用:
ArrayList
<
Integer
>
al
=
new
ArrayList
<
Integer
>
();
al.add(
0
,
44
);
int
tol
=
al.get(
0
);
d)增强型for循环
未使用:
ArrayList
<
Integer
>
list
=
new
ArrayList
<
Integer
>
();
For(Iterator I
=
list.iterator();i.hasNext();)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
Integer value = (Integer)i.next();
}
使用:
ArrayList
<
Integer
>
list
=
new
ArrayList
<
Integer
>
();
For(Integer i : list)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
Integer value = i ;
}
甚至可以:
ArrayList
<
Integer
>
list
=
new
ArrayList
<
Integer
>
();
For(
int
i : list)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
int value = i ;
}
e)引入了新关键字enum
public
enum
StopLight
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
Reg,Green,Yellow
}
f)静态引入
使用前:
Import java.awt.BorderLayout.
*
;
getContentPane().add(
new
JPanel(),BorderLayout.CENTER);
使用后:
Import
static
java.awt.BorderLayout.
*
;
getContentPane().add(
new
JPanel(),CENTER);
g)格式化输出/输入
System.out.printf(“hello,World/n”);
System.out.printf(“
%
s
%
5d”,user,total);
Scanner s
=
Scanner.create(System.in);
String param
=
s.next();
Int value
=
s.nextInt();
s.close();
h)不定参数
它允许在一个方法中传入多个不定数量的参数,
Void myFunc(Object. . . args)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
For(int I = 0;I <args.length;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
}
}
myFunc(“tt”,”dafa”);