Java½â»ó4 37¼«¶Ë²»¿É˼Òé
±¾ÃÕÌâ²âÊÔµÄÊÇÄã¶ÔijЩ¹æÔòµÄÕÆÎճ̶ȣ¬ÕâЩ¹æÔòÓÃÓÚÉùÃ÷´Ó·½·¨ÖÐÅ׳ö²¢±»catchÓï¾ä¿éËù²¶»ñµÄÒì³£¡£ÏÂÃæµÄÈý¸ö³ÌÐòÿһ¸ö¶¼»á´òӡЩʲô£¿²»Òª¼ÙÉèËüÃǶ¼¿ÉÒÔͨ¹ý±àÒ룺
import java.io.IOException;
public class Arcane1 {
public static void main(String[] args) {
try {
System.out.println("Hello world");
} catch(IOException e) {
System.out.println("I've never seen
println fail!");
}
}
}
public class Arcane2 {
public static void main(String[] args) {
try {
// If you have nothing nice to say, say nothing
} catch(Exception e) {
System.out.println("This can't
happen");
}
}
}
interface Type1 {
void f() throws CloneNotSupportedException;
}
interface Type2 {
void f() throws InterruptedException;
}
interface Type3 extends Type1, Type2 {
}
public class Arcane3 implements Type3 {
public void f() {
System.out.println("Hello world");
}
public static void main(String[] args) {
Type3 t3 = new Arcane3();
t3.f();
}
}
µÚÒ»¸ö³ÌÐò£¬Arcane1£¬Õ¹Ê¾Á˱»¼ì²éÒì³£µÄÒ»¸ö»ù±¾ÔÔò¡£Ëü¿´ÆðÀ´Ó¦¸ÃÊÇ¿ÉÒÔ±àÒëµÄ£ºtry×Ó¾äÖ´ÐÐI/O£¬²¢ÇÒcatch×Ӿ䲶»ñIOExceptionÒì³£¡£µ«ÊÇÕâ¸ö³ÌÐò²»ÄܱàÒ룬ÒòΪprintln·½·¨Ã»ÓÐÉùÃ÷»áÅ׳öÈκα»¼ì²éÒì³££¬¶øIOExceptionÈ´ÕýÊÇÒ»¸ö±»¼ì²éÒì³£¡£ÓïÑԹ淶ÖÐÃèÊöµÀ£ºÈç¹ûÒ»¸öcatch×Ó¾äÒª²¶»ñÒ»¸öÀàÐÍΪEµÄ±»¼ì²éÒì³££¬¶øÆäÏà¶ÔÓ¦µÄtry×Ӿ䲻ÄÜÅ׳öEµÄijÖÖ×ÓÀàÐ͵ÄÒì³££¬ÄÇôÕâ¾ÍÊÇÒ»¸ö±àÒëÆÚ´íÎó[JLS 11.2.3]¡£
»ùÓÚͬÑùµÄÀíÓÉ£¬µÚ¶þ¸ö³ÌÐò£¬Arcane2£¬¿´ÆðÀ´Ó¦¸ÃÊDz»¿ÉÒÔ±àÒëµÄ£¬µ«ÊÇËüÈ´¿ÉÒÔ¡£ËüÖ®ËùÒÔ¿ÉÒÔ±àÒ룬ÊÇÒòΪËüΨһµÄcatch×Ó¾ä¼ì²éÁËException¡£¾¡¹ÜJLSÔÚÕâÒ»µãÉÏÊ®·Öº¬»ì²»Ç壬µ«ÊDz¶»ñException»òThrowbleµÄcatch×Ó¾äÊǺϷ¨µÄ£¬²»¹ÜÓëÆäÏà¶ÔÓ¦µÄtry×Ó¾äµÄÄÚÈÝΪºÎ¡£¾¡¹ÜArcane2ÊÇÒ»¸öºÏ·¨µÄ³ÌÐò£¬µ«ÊÇcatch×Ó¾äµÄÄÚÈÝÓÀÔ¶µÄ²»»á±»Ö´ÐУ¬Õâ¸ö³ÌÐòʲô¶¼²»»á´òÓ¡¡£
µÚÈý¸ö³ÌÐò£¬Arcane3£¬¿´ÆðÀ´ËüÒ²²»ÄܱàÒë¡£·½·¨fÔÚType1½Ó¿ÚÖÐÉùÃ÷ÒªÅ׳ö±»¼ì²éÒì³£CloneNotSupportedException£¬²¢ÇÒÔÚType2½Ó¿ÚÖÐÉùÃ÷ÒªÅ׳ö±»¼ì
Ïà¹ØÎĵµ£º
ÏÂÃæµÄ³ÌÐò¶ÔÒ»¸ö±äÁ¿Öظ´µØ½øÐÐÔöÁ¿²Ù×÷£¬È»ºó´òÓ¡ËüµÄÖµ¡£ÄÇôÕâ¸öÖµÊÇʲôÄØ£¿
public class Increment {
public static void main(String[] args) {
int j = 0;
for (int i = 0; i < 100; i++)
j = j++;
System.out.println(j);
}
}
Õ§Ò»¿´£¬Õâ¸ö³ÌÐò¿ÉÄÜ» ......
ÏÂÃæµÄÃÕÌâÒÔ¼°ËæºóµÄÎå¸öÃÕÌâ¶ÔÄãÀ´ËµÊÇŤתÁ˾ÖÃ棬ËüÃDz»ÊÇÏòÄãչʾijЩ´úÂ룬ȻºóѯÎÊÄãÕâЩ´úÂ뽫×öЩʲô£¬ËüÃÇÒªÈÃÄãȥд´úÂ룬µ«ÊÇÊýÁ¿»áºÜÉÙ¡£ÕâЩÃÕÌâ±»³ÆΪ“Ñ»·Õߣ¨looper£©”¡£ÄãÑÛÇ°»áչʾ³öÒ»¸öÑ»·£¬Ëü¿´ÆðÀ´Ó¦¸ÃºÜ¿ì¾ÍÖÕÖ¹µÄ£¬¶øÄãµÄÈÎÎñ¾ÍÊÇдһ¸ö±äÁ¿ÉùÃ÷£¬ÔÚ½«Ëü×÷ÓÃÓÚ¸ÃÑ»·Ö®ÉÏʱ£¬Ê¹µÃ¸Ã ......
ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ»·×ª±äΪһ¸öÎÞÏÞÑ»·£º
while (i != i + 0) {
}
ÓëÇ°Ò»¸öÃÕÌⲻͬ£¬Äã±ØÐëÔÚÄãµÄ´ð°¸Öв»Ê¹Óø¡µãÊý¡£»»¾ä»°Ëµ£¬Äã²»ÄÜ°ÑiÉùÃ÷Ϊdouble»òfloatÀàÐ͵ġ£
ÓëÇ°Ò»¸öÃÕÌâÒ»Ñù£¬Õâ¸öÃÕÌâ³õ¿´ÆðÀ´ÊDz»¿ÉÄÜʵÏֵġ£±Ï¾¹£¬Ò»¸öÊý×Ö×ÜÊǵÈÓÚËü×ÔÉí¼ÓÉÏ0£¬Äã±»½ûֹʹÓø¡µãÊý£¬Òò´Ë²»ÄÜʹÓÃNaN ......
ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ»·×ª±äΪһ¸öÎÞÏÞÑ»·£º
while (i != 0) {
i >>>= 1;
}
»ØÏëһϣ¬>>>=ÊǶÔÓ¦ÓÚÎÞ·ûºÅÓÒÒƲÙ×÷·ûµÄ¸³Öµ²Ù×÷·û¡£0±»´Ó×óÒÆÈëµ½ÓÉÒÆλ²Ù×÷¶ø¿Õ³öÀ´µÄλÉÏ£¬¼´Ê¹±»ÒÆλµÄ¸ºÊýÒ²ÊÇÈç´Ë¡£
Õâ¸öÑ»·±ÈÇ°ÃæÈý¸öÑ»·ÒªÉÔ΢¸´ÔÓÒ»µã£¬ÒòΪÆäÑ»·Ìå·Ç¿Õ¡£ÔÚÆäÑ»·ÌâÖУ¬ ......
Ê×ÏÈÀ´¸ö¼òµ¥ÄǵÄʵÀý:
package cn.vicky;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer {
private int i = 1;
private void change(long time){
System.out.println("one : " + i);
final Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Overrid ......