??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品国产,亚洲一区二区中文,99视频在线 http://www.aygfsteel.com/agun/category/30010.htmlȀ情成梦惻I努力创造未?/description>zh-cn Mon, 28 Apr 2008 09:07:30 GMT Mon, 28 Apr 2008 09:07:30 GMT 60 一个java的基试题 http://www.aygfsteel.com/agun/archive/2008/04/28/196753.htmlagun agun Mon, 28 Apr 2008 07:10:00 GMT http://www.aygfsteel.com/agun/archive/2008/04/28/196753.html http://www.aygfsteel.com/agun/comments/196753.html http://www.aygfsteel.com/agun/archive/2008/04/28/196753.html#Feedback 0 http://www.aygfsteel.com/agun/comments/commentRss/196753.html http://www.aygfsteel.com/agun/services/trackbacks/196753.html 下面是一个java的基试题Q我也记不v来在哪里看到了,应该有类DL题。我们来看一下?br />
例题1 Q?br />
QUESTION NO: 1
1?/p>
public class Test {
public static void changeStr(String str) {
str = " welcome " ;
}
public static void main(String[] args) {
String str = " 1234 " ;
changeStr(str);
System.out.println(str);
}
}
QUESTION NO: 2
2,
public class Test {
public static void group(test1 a) {
a.setId( " 2 " );
}
public static void main(String arg[]) {
test1 a = new Test(). new test1();
a.setId( " 1 " );
group(a);
System.out.println(a.getId());
}
class test1 {
String id;
String name;
public String getId() {
return id;
}
public void setId(String id) {
this .id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
}
Ҏ上面的程?1Q我们看看得到的l果应该是什么?br />
q道题涉及的问题是对象与对象以用的问题Q这个问题大家很Ҏh。这道题的答案是1234?br />
那么Ҏ问题1,你能否知道问?的答案呢,问题2的答案是2.
分析Q对对象引用的不是很熟悉的h一定以为问?的答案应该不变也?,怎么??
q就是涉及对象以及对象引用的问题?
一首先介绍一下对象的引用.
创徏对象
创徏一个对象,其实Q它包含了四个动作。object a=new object();
1Q右边的“new object”Q是以objectcMؓ模板Q在堆空间里创徏一个objectcd象(也简UCؓobject对象Q?br />
2Q末()意味着Q在对象创徏后,立即调用objectcȝ构造函敎ͼ对刚生成的对象进行初始化。构造函数是肯定有的。如果你没写QJava会给你补上一个默认的构造函数?br />
3Q左边的“object a”创徏了一个objectcd用变量。所谓objectcd用,是以后可以用来指向object对象的对象引用?br />
4Q?#8220;=”操作W对象引用指向刚创建的那个object对象。我们可以把q条语句拆成两部分:
object a;
a= new object();
效果是一L。这样写Q就比较清楚了,有两个实体:一是对象引用变量,一是对象本w?nbsp;
在堆I间里创建的实体Q与在数据段以及栈空间里创徏的实体不同。尽它们也是确实实存在的实体Q但是,我们看不见,也摸不着?br />
不仅如此Q我们仔l研I一下第二句Q找扑ֈ创徏的对象叫什么名字?有h_它叫“object”。不对,“object”是类Q对象的创徏模板Q的名字。一个objectcd以据此创建出无数个对象,q些对象不可能全?#8220;object”?nbsp;
对象q名都没有,没法直接讉K它。我们只能通过对象引用来间接访问对象?nbsp;
Z形象地说明对象、引用及它们之间的关p,
Z说明q个关系,我在|上看到别h的比L好的我也引用一?
对象好比是一只很大的气球Q大到我们抓不住它。引用变量是一根Q可以用来系汽球?nbsp; 如果只执行了W一条语句,q没执行W二条,此时创徏的引用变量aq没指向M一个对象,它的值是null。引用变量可以指向某个对象,或者ؓnull。它是一根Q一根还没有pMM一个汽球的l뀂执行了W二句后Q一只新汽球做出来了Qƈ被系在aq根l上。我们抓住这根Q就{于抓住了那只汽球。再来一句: object a1;又做了一根Q还没系上汽球。如果再加一句: a1= a;pM了。这里,发生了复制行为。但是,要说明的是,对象本nq没有被复制Q被复制的只是对象引用。结果是Qa1也指向了a所指向的对象。两根Ѿpȝ是同一只汽球?nbsp; 如果用下句再创徏一个对象:a1= new object();则引用变量a1Ҏ向第二个对象?nbsp; 从以上叙q再推演下去Q?br />
我们可以获得以下l论Q(1Q一个对象引用可以指?个或1个对象(一根子可以不pL球,也可以系一个汽球)Q(2Q一个对象可以有N个引用指向它Q可以有N条子系住一个汽球)?nbsp;
如果再来下面语句Q?nbsp; a= a1;按上面的推断Qa也指向了W二个对象。这个没问题。问题是W一个对象呢Q没有一条子系住它Q它飞了。多C里说Q它被Java的垃圑֛收机制回收了。这不确切。正地_它已成ؓ垃圾回收机制的处理对象。至于什么时候真正被回收Q那要看垃圾回收机制的心情了?br />
了解了上面的对象的引?我们应该熟悉对象以及对象的引用了.我们回头再说W一?/p>
java内部提供了几个类,q些cd以不使用new关键字来初始?例如: string
上面问题1,可以Ҏ下面的方?br />
1?br />
public class Test {
public static void changeStr(String str) {
str = new String( " welcome " );
}
public static void main(String[] args) {
String str = new String( " 1234 " );
changeStr(str);
System.out.println(str);
}
}
通过上面对对象应用的理解,q道原因了.
]]>javaUMq算W?转蝲) http://www.aygfsteel.com/agun/archive/2008/03/18/186915.htmlagun agun Tue, 18 Mar 2008 01:51:00 GMT http://www.aygfsteel.com/agun/archive/2008/03/18/186915.html http://www.aygfsteel.com/agun/comments/186915.html http://www.aygfsteel.com/agun/archive/2008/03/18/186915.html#Feedback 0 http://www.aygfsteel.com/agun/comments/commentRss/186915.html http://www.aygfsteel.com/agun/services/trackbacks/186915.html aQ?#8220;>>”q算W?
“>>”q算W作带符L位移处理Q它作位Ud理时Q会先将值向右移Qƈ在高位填0Q然后将位移后所I出的高位,全部Ҏ原来的最高位的|代表正负L位)。也是说负的gUdQ仍然是负的|比如Q?
Q?0>>2 =-3
-10= 1111 1111 1111 1111 1111 1111 1111 0110
右移2位:0011 1111 1111 1111 1111 1111 1111 1101
l果Q?111 1111 1111 1111 1111 1111 1111 1101 Q全部天上原本符号位的|1Q?
bQ?#8220;>>>”q算W?
“>>>”q算W所作的是无W号的位Ud理,它不会将所处理的值的最高位视ؓ正负W号Q所以作位移处理Ӟ会直接在I出的高位填?。当我们要作位移的原始值ƈ非代表数值时Q例如:表示颜色囄的|最高位q正负PQ可能就会需要用此U无W号的位UR比如:
Q?0>>>2=1073741821
-10=1111 1111 1111 1111 1111 1111 1111 0110 (不管原来?#8220;W号”位的?一长串1)Q空上的全部直接?)
0011 1111 1111 1111 1111 1111 1111 1101=1037341821
cQ?#8220;<<”q算W?
“>>”q算W的所作的也是无符L位移处理Q同样地Q它不会所处理的值的最高位视ؓ正负W号Q它作位Ud理时Q会直接左移q在低位填入0。所以第二高位以下的位若Ud了最高位Q该值的正负可能会与原来的不同?
Q?147483647<<2=4
-2147483647=1000 0000 0000 0000 0000 0000 0000 0001
0000 0000 0000 0000 0000 0000 0000 0100=4
dQ?#8220;<<<”q算W?
恩,当然了,在java里不存在它?/p>
]]> switch 关键?byte关键?/title> http://www.aygfsteel.com/agun/archive/2008/03/17/186683.htmlagun agun Mon, 17 Mar 2008 01:00:00 GMT http://www.aygfsteel.com/agun/archive/2008/03/17/186683.html http://www.aygfsteel.com/agun/comments/186683.html http://www.aygfsteel.com/agun/archive/2008/03/17/186683.html#Feedback 0 http://www.aygfsteel.com/agun/comments/commentRss/186683.html http://www.aygfsteel.com/agun/services/trackbacks/186683.html switch 关键?
switch表达式的值决定选择哪个case分支Q如果找不到相应的分支,q接从"default" 开始输出?br />
当程序执行一条case语句后,因ؓ例子中的case分支中没有break 和return语句Q所以程序会执行紧接于其后的语句?br />
也就是说Q不default攑֜什?br />
位置Q它L在最后一个处理,然后l箋向下处理Q?br />
所以,最后的处理办法Q避免出C外结果的最好办法就是每一个case
以及default语句都要加一个break!
byte关键?
byte表示字节型,它的范围?-127~ 128之间 Q?/p>
byte a=129;q样定义Q超q了 byte的范_会不允许定义?/p>
但是?br />
byte a=(byte)3049;q种情况Q进行强制{换的。可以定?br />
a的gؓ-23;
]]> PreparedStatement 使用like 模糊查询 http://www.aygfsteel.com/agun/archive/2008/03/03/183364.htmlagun agun Mon, 03 Mar 2008 01:35:00 GMT http://www.aygfsteel.com/agun/archive/2008/03/03/183364.html http://www.aygfsteel.com/agun/comments/183364.html http://www.aygfsteel.com/agun/archive/2008/03/03/183364.html#Feedback 0 http://www.aygfsteel.com/agun/comments/commentRss/183364.html http://www.aygfsteel.com/agun/services/trackbacks/183364.html PreparedStatement 使用like
在用PreparedStatementq行模糊查询的时候废了一番周折,以前一直都没有注意q个问题。一般情况下我们q行_查询Qsql语句cMQselect * from table where name =?Q然后调?nbsp;PreparedStatement的setString{方法给Q指定倹{那么模p查询的时候应该怎么写呢Q我首先试了:select * from customer where name like ‘%?%’?br />
此时E序报错Q因为?被包含在了单引号中,PreparedStatementq不视它Z个参数。后来上|查了相关的一些资料,发现可以q样写select * from table where name like Q;但是在指定参数的时候把Q指定ؓ”%”+name+”%”Qname是指定的查询条g。这样就OK了?br />
一般情况下Q我L潜意识的认定了?是取代所指定的参敎ͼ但是实际上我们可以对指定的参数进行了一定的包装之后再传l?Q比如这里我们在参数的前后都加了一?Q然后再传给Q?nbsp;
String expr = "select * from table where url like ?";
pstmt = con.prepareStatement(expr);
String a="a";
pstmt.setString(1, "%"+a+"%");//自动d单引?nbsp;Q包装后的参敎ͼ
pstmt.execute();
System.out.println(pstmt.toString());//打印sql
//会默认生成sqlQ?select * from table where url like '%http%'
]]> java.util.ResourceBundle 和java.util.properties q两个类有什么区?/title> http://www.aygfsteel.com/agun/archive/2008/01/29/178359.htmlagun agun Tue, 29 Jan 2008 06:29:00 GMT http://www.aygfsteel.com/agun/archive/2008/01/29/178359.html http://www.aygfsteel.com/agun/comments/178359.html http://www.aygfsteel.com/agun/archive/2008/01/29/178359.html#Feedback 0 http://www.aygfsteel.com/agun/comments/commentRss/178359.html http://www.aygfsteel.com/agun/services/trackbacks/178359.html
都是dproperties格式的文件的Q而Properties同时q能用来写文件?nbsp;
Properties的处理方式是其作ؓ一个映表。ResourceBundle本质上也是一个映,但是它提供了国际化的功能?nbsp;
假设电脑讄的地区是中国大陆Q语a是中?nbsp;
那么你向ResourceBundleQ资源约束名UCؓbaseQ获取abc变量的值的时候,ResourceBundle会先后搜?nbsp;
base_zh_CN_abc.properties
base_zh_CN.properties
base_zh.properties
base.properties
文gQ直到找到abc为止
相应的,在英国就会去找base_en_GB_abc.properties{?nbsp;
因此Q你只需要提供不同语a的资源文Ӟ而无需改变代码Q就辑ֈ了国际化的目的?nbsp;
另外Q在.properties里面Q不能直接用中文之cL字,而是要通过native2ascii转乘\uxxxxq种形式
]]>
վ֩ģ壺
|
|
ߴ |
|
|
̩ |
|
̳ |
̨ |
ϲ |
|
|
Ͻ |
ɽ |
Ԫ |
ͭ |
ʡ |
|
ǭ |
彧 |
Ԫ |
㶫ʡ |
|
|
|
|
|
|
|
|
|
|
|
ɽ |
첼 |
Ϻӿ |
|
ɽ |
|
|
|