国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java面試題

mrcode / 1150人閱讀

摘要:程序員面試寶典給的答案是,顯然錯(cuò)了。答案為還需執(zhí)行后面的執(zhí)行后的值分別為。類型賦值時(shí)不需要在后面加,加會(huì)報(bào)錯(cuò)。如果只能選一個(gè)選項(xiàng)的話,選,程序員面試寶典一書(shū)中給的答案是如果恰好考官出的是此書(shū)中的題,那就中了。

持續(xù)整理中...

          類和對(duì)象            

1.下面哪個(gè)不是Object類所定義的public method?( )
A.finalize() B.clone() C.wait() C.sleep()

          JVM            

1.下面給出的Java中ClassLoader的描述,哪些是正確的?( )
A.ClassLoader沒(méi)有層次關(guān)系
B.所有類中的ClassLoader都是AppClassLoader
C.通過(guò)Class.forName(String className)能夠動(dòng)態(tài)加載一個(gè)類
D.不同的ClassLoader加載同一個(gè)Class文件,所得的類是相同的

2.Which characters does JVM use?(JVM使用哪種字符編碼格式?)( )
A.ASCII characters  B.Unicode characters
C.Cp1252      D.UTF-8

          i++            

1.以下代碼的執(zhí)行結(jié)果是____

public static void main(String[] args) {
    int i = 0;
    int x = i++;
    int y = ++i;
    int z = i++ + ++i;
    System.out.println(x);
    System.out.println(y);
    System.out.println(z);
}

2.下列程序的輸出結(jié)果是( )

public static void main(String[] args) {
    int j = 0;
    for (int i = 0; i < 100; i++) {
        j = j++;
    }
    System.out.println(j);
}

A.0  B.99  C.100  D.101

3.下列程序的輸出結(jié)果是( )

public static void main(String[] args) {
    int a = 5, b = 3;
    if(!(a == b) && (a == 1 + b++)){};
    System.out.println(a + "," + b);
}

A.5,3  B.0,1  C.0,3  D.5,4

4.以下代碼的執(zhí)行結(jié)果是____

public static void main(String[] args) {
    int i = 0;
    i = i++ + ++i;
    int j = 0;
    j = ++j + j++ + j++ + j++;
    int  k = 0;
    k = k++ + k++ + k++ + ++k;
    int h = 0;
    h = ++h + ++h;
    int p1 = 0, p2 = 0, q1 = 0, q2 = 0;
    q1 = ++p1;
    q2 = p2++;
    System.out.println(i);
    System.out.println(j);
    System.out.println(k);
    System.out.println(h);
    System.out.println(p1);
    System.out.println(p2);
    System.out.println(q1);
    System.out.println(q2);
}

5.以下代碼的執(zhí)行結(jié)果是____

public static void main(String[] args) {
    int m = 5, n = 5;
    if((m != 5) && (n++ == 5)){}
    System.out.println(n);
    
    m = n = 5;
    if((m != 5) & (n++ == 6)){}
    System.out.println(n);
    
    m = n = 5;
    if((m == 5) || (n++ == 5)){}
    System.out.println(n);
    
    m = n = 5;
    if((m == 5) | (n++ == 6)){}
    System.out.println(n);
    
    int a = 1, b =2;
    int c = a & b;
    System.out.println(c);
}
          類型轉(zhuǎn)換            

1.Which of the following will compile correctly(下列哪項(xiàng)編譯正確?)( )
A.Short myshort = 99S;  B.float z = 1.0  C.int t = "abc".length()  D.char c = 17c;

2.下面代碼的輸出結(jié)果是( )

public static void main(String[] args) {
    public static void main(String[] args){
    int i = 012;
    int j = 034;
    int k = (int)056L;
    int l = 078;
    System.out.println(i);
    System.out.println(j);
    System.out.println(k);
}

A.輸出12,34,56  B.輸出10,28,46
C.int k = (int)056L;行編譯錯(cuò)誤  D.int l = (int)078;行編譯錯(cuò)誤

3.以下程序錯(cuò)誤的是( )
A.short s=1;s=s+1;  B.short s=1;s+=1;

4.下面代碼的輸出結(jié)果是( )

public static void main(String[] args) {
    char x = "x";
    int i = 10;
    System.out.println(false ? i : x);
    System.out.println(false ? 10 : x);
}

A.120 x  B.120 120  C.x 120  D.以上答案都不對(duì)

          程序結(jié)構(gòu)            

1.Which declaration of the main() method in a stand-alone program are NOT valid?( )
(哪一個(gè)Main方法的聲明在獨(dú)立程序中是無(wú)效的?)
A.public static void main()
B.public static void main(String[] string)
C.public static void main(String[] exp) throws FileNotFondException
D.Static void main(String args)

2.以下程序的輸出結(jié)果是?( )

public class Penguin {

    private String name = null;
    private int health = 0;
    private String sex = null;
    
    public void Penguin() {
        health = 10;
        sex = "雄";
        System.out.println("執(zhí)行構(gòu)造方法。");
    }
    
    public void print(){
        System.out.println("企鵝的名字是" + name + ",健康值是" + health + ",性別是" + sex + "。");
    }
    
    public static void main(String[] args) {
        Penguin pgn = new Penguin();
        pgn.print();
    }

}

A.企鵝的名字是null,健康值是10,性別是雄。
B.執(zhí)行構(gòu)造方法。
企鵝的名字是null,健康值是0,性別是null。
C.企鵝的名字是null,健康值是0,性別是null。
D.執(zhí)行構(gòu)造方法。
企鵝的名字是null,健康值是10,性別是雄。

          運(yùn)算符            

1.以下代碼的輸出結(jié)果是( )

public static void main(String[] args) {
    boolean b = true ? false : true == true ? false : true;
    System.out.println(b);
}

A.true  B.false  C.null  D.以上答案都不對(duì)

2.以下代碼的輸出結(jié)果是( )

public static void main(String[] args) {
    int i = 42;
    String s = (i < 40) ? "life" : (i > 50) ? "universe" : "everything";
    System.out.println(s);
}

A.life  B.universe  C.everything  D.以上答案都不對(duì)

3.以下代碼的輸出結(jié)果是( )

public static void main(String[] args) {
    int a = 5;
    System.out.println(a < 5 ? 10.9 : 9);
}

A.編譯錯(cuò)誤  B.10.9  C.9  D.以上答案都不對(duì)

4.以下代碼的輸出結(jié)果是____

public static void main(String[] args) {
    int a = 1;
    int b = 2;
    System.out.println(a & b);
    System.out.println(a | b);
}

5.以下代碼的輸出結(jié)果是____

public static void main(String[] args) {
    int a = 1;
    int b = 2;
    System.out.println(b << a);
    System.out.println(b >> a);
}

6.以下代碼的輸出結(jié)果是____

public static void main(String[] args) {
    int a = 1;
    int b = 2;
    System.out.println(b << a << a);
    System.out.println(b >> a >> a);
    System.out.println(b >> 32);
    System.out.println(b << 33);
}
          算法            

1.編程,輸出數(shù)組里的全部數(shù)值。(假設(shè)int[] array = new int[]{1, 2, 3, 4})

2.編程,輸出99乘法口訣表

3.編程,輸出字符串中出現(xiàn)次數(shù)最多的字符,如果有多個(gè)則都輸出。(假設(shè)字符串String str = "abcdefaaaccc"。);

4.編程,有一個(gè)整數(shù)n,寫(xiě)一個(gè)函數(shù)f(n),返回0~n之間出現(xiàn)“1”的個(gè)數(shù)。比如f(1)=1,f(13)=6(1、10、11、12、13)

5.編程,獲取斐波那契數(shù)列的第n項(xiàng)值。
(斐波那契數(shù)列指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21……這個(gè)數(shù)列從第3項(xiàng)開(kāi)始,每一項(xiàng)都等于前兩項(xiàng)之和。F[n]=F[n-1]+F[n-2] (n>2,F[1]=1,F[2]=1,F[3]=2,F[4]=3))

          答案          

                  類和對(duì)象          

1.下面哪個(gè)不是Object類所定義的public method? 答案:
這題看起來(lái)很簡(jiǎn)單,但是仔細(xì)一想沒(méi)那么容易。
Object類定義的公用方法有以下7種:

toString();    //
equals(Object object);
getClass();
hashCode();
wait();
notify();
notifyAll();

wait();方法有三種重載方法
wait(long timeout);
wait(long timeout, int nanos);
再加兩個(gè)一共是9種public方法。
所以這題的正確答案是A、B、D, 四個(gè)選項(xiàng)里只有wait()是公用方法
clone()和finalize()是protected方法。sleep()不是Object類的方法。
《Java程序員面試寶典》給的答案是D,顯然錯(cuò)了。
                  JVM          

1.答案:
A.選項(xiàng)錯(cuò)誤,ClassLoader具備層次關(guān)系。
B.選項(xiàng)錯(cuò)誤,ClassLoader不止一種。
D.選項(xiàng)錯(cuò)誤,ClassLoader具備層次關(guān)系。
正確答案:C

2.答案:
JVM的設(shè)計(jì)者為了解決編碼問(wèn)題實(shí)現(xiàn)Java的跨平臺(tái),沒(méi)有使用任何特定的編碼格式,而是使用Unicode(萬(wàn)國(guó)碼)字符集來(lái)表示字符。
所以正確答案是B。

                  i++          

1.答案:
0
2
6

2.答案:
j=j++;//這一步j(luò)等于0,循環(huán)100次依然是0。
所以正確答案是A。

3.答案:
!(a == b)為true,還需執(zhí)行后面的(a == 1 + b++),執(zhí)行后a,b的值分別為5,4。
所以正確答案是D

4.答案:

public static void main(String[] args) {
    int i = 0;
    i = i++ + ++i;    //0 + (1 + 1) = 2
    int j = 0;
    j = ++j + j++ + j++ + j++;    //(1 + 0) + 1 + 2 + 3 = 7
    int  k = 0;
    k = k++ + k++ + k++ + ++k;    //0 + 1 + 2 + (1 + 3) = 7
    int h = 0;
    h = ++h + ++h;    //(1 + 0) + (1 + 1) = 3
    int p1 = 0, p2 = 0, q1 = 0, q2 = 0;
    q1 = ++p1;    //q1 = 1, p1 = 1
    q2 = p2++;    //q2 = 0, p2 = 1
    System.out.println(i);    //2
    System.out.println(j);    //7
    System.out.println(k);    //7
    System.out.println(h);    //3
    System.out.println(p1);    //1
    System.out.println(p2);    //1
    System.out.println(q1);    //1
    System.out.println(q2);    //0
}

5.答案:

public static void main(String[] args) {
    int m = 5, n = 5;
    if((m != 5) && (n++ == 5)){}
    System.out.println(n);    //5
    
    m = n = 5;
    if((m != 5) & (n++ == 6)){}
    System.out.println(n);    //6
    
    m = n = 5;
    if((m == 5) || (n++ == 5)){}
    System.out.println(n);    //5
    
    m = n = 5;
    if((m == 5) | (n++ == 6)){}
    System.out.println(n);    //6
    
    int a = 1, b =2;
    int c = a & b;
    System.out.println(c);    //0
}

所以正確答案是:
5
6
5
6
0

                  類型轉(zhuǎn)換          

1.答案:
A選項(xiàng)錯(cuò)誤。short類型賦值時(shí)不需要在數(shù)值后加s,加s會(huì)報(bào)錯(cuò)。
B選項(xiàng)錯(cuò)誤。float類型賦值時(shí)需要在數(shù)值后加f,不加f默認(rèn)會(huì)轉(zhuǎn)成double類型,編譯報(bào)錯(cuò)“不能從double轉(zhuǎn)換為float”。
D選項(xiàng)錯(cuò)誤。char類型賦值時(shí)不需要在后面加c,加c會(huì)報(bào)錯(cuò)。
正確答案為C。

2.答案:
在java中以0開(kāi)頭的數(shù)字代表8進(jìn)制,數(shù)字范圍0~7,以0x開(kāi)頭的數(shù)字代表16進(jìn)制數(shù)字范圍0~F。

public static void main(String[] args) {
    public static void main(String[] args){
    int i = 012;    //(1x8) + 2 = 10
    int j = 034;    //(3x8) + 4 = 28
    int k = (int)056L;//(5x8) + 6 = 46
    int l = 078;    //編譯報(bào)錯(cuò)“類型 int 的文字 078 超出了范圍”
    System.out.println(i);
    System.out.println(j);
    System.out.println(k);
}

所以正確答案是D

3.答案:
short s=1;s=s+1; //s+1為int型,編譯報(bào)錯(cuò)“類型不匹配:不能從 int 轉(zhuǎn)換為 short”
short s=1;s+=1; //編譯正常
所以正確答案是A。

4.答案:
在Java中,整型、實(shí)型、字符型被視為簡(jiǎn)單數(shù)據(jù)類型,簡(jiǎn)單數(shù)據(jù)類型之間會(huì)轉(zhuǎn)換,這些類型由低級(jí)到高級(jí)分別為:
(byte short char) int long float double (7種 不包括boolean)
簡(jiǎn)單數(shù)據(jù)類型之間的轉(zhuǎn)換又可以分為:
(1)低級(jí)到高級(jí)的自動(dòng)類型轉(zhuǎn)換。
(2)高級(jí)到低級(jí)的強(qiáng)制類型轉(zhuǎn)換。
(1)包裝類型過(guò)渡類型能夠轉(zhuǎn)換。

注意表達(dá)式中的精度轉(zhuǎn)換。當(dāng)表達(dá)式中有高精度和低精度類型同時(shí)存在時(shí),低精度類型會(huì)自動(dòng)轉(zhuǎn)換為高精度類型,輸出結(jié)果會(huì)發(fā)生變化,這點(diǎn)要特別注意。

false?i:x中i是整型,x是字符型,整型比字符型的精度高,所以x會(huì)自動(dòng)轉(zhuǎn)換為整型。結(jié)果為120
false?10:x中10是整型, 但是是常量表達(dá)式。Java編程規(guī)范中提到:當(dāng)后兩個(gè)表達(dá)式有一個(gè)是常量表達(dá)式時(shí)(10),兩外一個(gè)類型是T(char),而常量表達(dá)式可以被T表示時(shí),輸出結(jié)果是T類型(char類型可以被int表示,所以輸出結(jié)果依然是char類型)。結(jié)果為x
所以正確答案是A.120 x

                  程序結(jié)構(gòu)          

1.答案:
java中對(duì)于main方法有嚴(yán)格的定義,必須是
public static void main(String[] x)或
public static void main(String x[])形式的。
修飾符必須是public static,返回類型必須是void(不需要返回類型),參數(shù)必須是String[] 不能沒(méi)有參數(shù)也不能是其他參數(shù)。
標(biāo)準(zhǔn)格式如下:
public static void main(String[] args){}或
public static void main(String args[]){}
可以修改參數(shù)的名字或添加拋出異常。基本是死記硬背的一種格式,遇到此類問(wèn)題可以和標(biāo)準(zhǔn)格式進(jìn)行比對(duì)。
實(shí)際上不寫(xiě)public或參數(shù)并不會(huì)在編譯期間報(bào)錯(cuò)但會(huì)在運(yùn)行時(shí)報(bào)錯(cuò)。
所以這道題不簡(jiǎn)單,坑挺深的,編譯期間4個(gè)選項(xiàng)的寫(xiě)法都不會(huì)報(bào)錯(cuò),但運(yùn)行時(shí)A、D都會(huì)出錯(cuò)。
A、D選項(xiàng)會(huì)在運(yùn)行時(shí)報(bào)出找不到main方法的錯(cuò)誤:
“錯(cuò)誤:在類 Test 中找不到 main 方法,請(qǐng)將 main 方法定義為
public static void main(String[] args) 否則 JavaFX 應(yīng)用程序類必須擴(kuò)展javafx.application.Application”
所以正確答案是A、D。 如果只能選一個(gè)選項(xiàng)的話,選D,《Java程序員面試寶典》一書(shū)中給的答案是D,如果恰好考官出的是此書(shū)中的題,那就中了。

2.答案:
這道題看起來(lái)很簡(jiǎn)單,如果你選D就錯(cuò)了。
這題考驗(yàn)的是你對(duì)構(gòu)造方法的理解。
構(gòu)造方法的定義是:與類名完全相同。沒(méi)有返回值,也不能用void來(lái)修飾。
注意的是無(wú)返回類型而不是void返回類型。
在java中普通方法可以和構(gòu)造方法同名,但是必須帶有返回值。
實(shí)際上這題由于public void Penguin(){}方法寫(xiě)了void返回類型,所以他沒(méi)有符合構(gòu)造方法的條件,而是被當(dāng)作普通方法了。程序執(zhí)行了默認(rèn)的構(gòu)造方法并沒(méi)有執(zhí)行public void Penguin{}這個(gè)方法,變量沒(méi)有被初始化,所以結(jié)果是C。

                  運(yùn)算符          

1.答案:
a?b:c;是三目運(yùn)算符,相當(dāng)于:

if(a){
    b;
}else{
    c;
}

boolean b = true ? false : true == true ? false : true;相當(dāng)于:
boolean b = true ? false : (true == true ? false : true);相當(dāng)于:

boolean b;
if(true){
    b = false;
}else{
    if(true == true){
        b = false;
    }else{
        b = true;
    }
}

所以正確答案是B。

2.答案:
String s = (i < 40) ? "life" : (i > 50) ? "universe" : "everything";相當(dāng)于:
String s = (i < 40) ? "life" : ((i > 50) ? "universe" : "everything");相當(dāng)于:

String s;
if(i < 40){
    s = "life";
}else{
    if(i > 50){
        s = "universe";
    }else{
        s = "everything";
    }
}

所以正確答案是C。

3.答案:
注意10.9:9這里Java會(huì)根據(jù)運(yùn)算符的精度自動(dòng)進(jìn)行類型轉(zhuǎn)換。10.9的精度是double型,后面的9也自動(dòng)轉(zhuǎn)成double型了,
因此代碼執(zhí)行后結(jié)果為9.0。
所以答案是D。

4.答案:
&、|是位運(yùn)算符,是操作二進(jìn)制數(shù)的,所以要先把a(bǔ)、b轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行位運(yùn)算后再轉(zhuǎn)換為整型輸出結(jié)果。
1的二進(jìn)制是01,2的進(jìn)制是10
a&b = 1 & 2 =
01
10
__
00 = 0;

a|b = 1 | 2 =
01
10
__
11 = 3;
所以輸出結(jié)果為:
0
3

5.答案:
<<、>>是位移運(yùn)算符,是操作二進(jìn)制數(shù)的,所以要先把a(bǔ)、b轉(zhuǎn)換為二進(jìn)制數(shù)進(jìn)行位移運(yùn)算后再轉(zhuǎn)換為整型輸出結(jié)果。

public static void main(String[] args) {
    int a = 1;
    int b = 2;
    System.out.println(b << a);    //(b << a) = (0010 << 1) = 0100 = 4
    System.out.println(b >> a);    //(b >> a) = (0010 >> 1) = 0001 = 1
}

所以輸出結(jié)果為:
4
1

6.答案:
注意當(dāng)位移溢出時(shí)的計(jì)算結(jié)果。

public static void main(String[] args) {
    int a = 1;
    int b = 2;
    System.out.println(b << a << a);    //(b << a << a) = (b << 2) = (0010 << 2) = 1000 = 8  
    System.out.println(b >> a >> a);    //(b >> a >> a) = (b >> 2) = (0010 >> 2) = 0000 = 0
    System.out.println(b >> 32);    //(b >> 32) = (b >> (32%32)) = (b >> 0) = b = 2;    數(shù)據(jù)溢出時(shí),位移數(shù)%數(shù)據(jù)最大范圍,求余后重新計(jì)算
    System.out.println(b << 33);    //(b << 33) = (b << (33%32)) = (b << 1) = (0010 << 1) = 0100 = 4;    數(shù)據(jù)溢出時(shí),位移數(shù)%數(shù)據(jù)最大范圍,求余后重新計(jì)算
}

所以輸出結(jié)果為:
8
0
2
4

                  算法          

1.輸出數(shù)組里的所有值 答案:

//方法1 Arrays.toString(array)
public static void main(String[] args) {
    int[] array = new int[]{1, 2, 3, 4};
    System.out.println(Arrays.toString(array));    //[1, 2, 3, 4]
}
//方法2 for循環(huán)
public static void main(String[] args) {
    int[] array = new int[]{1, 2, 3, 4};
    int length = array.length;
    for (int i = 0; i < length; i++) {
        System.out.print(array[i] + " ");    //1 2 3 4
    }
}
//方法3 foreach循環(huán)
public static void main(String[] args) {
    int[] array = new int[]{1, 2, 3, 4};
    for(int v : array){
        System.out.print(v + " ");    //1 2 3 4
    }
}

2.輸出99乘法口訣表 答案:

//方法1 用String
public static void NineNine(){
    String str = "";
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            str += j + "*" + i + "=" + j*i + "	";
        }
        str += "
";
    }
    System.out.println(str);
}

循環(huán)10W次時(shí)間:1180ms

//方法2 用StringBuilder
public static void NineNine(){
    StringBuilder sb = new StringBuilder();
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= i; j++) {
            sb.append(j);
            sb.append("*");
            sb.append(i);
            sb.append("=");
            sb.append(j*i);
            sb.append("	");
        }
        sb.append("
");
    }
    System.out.println(sb);
}

循環(huán)10W次時(shí)間:367ms

//方法3 一次循環(huán)完成
public static void NineNine(){
    int i = 1;  
    int j = 1;
    String str = "";
    while (i <= 9) {
        str += j + "*" + i + "=" + j*i + "	";
        j++;
        if(j > i){
            i++;
            j = 1;
            str += "
";
        }
    }
    System.out.println(str);
}

循環(huán)10W次時(shí)間:1197ms

//測(cè)試代碼
public static void main(String[] args){
    long t1 = System.currentTimeMillis();
    for (int i = 0; i < 100000; i++) {
        //循環(huán)時(shí)注釋掉System.out.println(str)
        NineNine();
    }
    long t2 = System.currentTimeMillis();
    System.out.println(t2 - t1);
}

3.輸出字符串中出現(xiàn)次數(shù)最多的字符 答案:

//方法1
public static void printMaxChars(String str){
    HashMap map = new HashMap();
    int length = str.length();
    int max = 0;
    //循環(huán)字符串中的所有字符,記錄每個(gè)字符出現(xiàn)的次數(shù)并獲取最大次數(shù)
    for (int i = 0; i < length; i++) {
        int count = 0;
        char c = str.charAt(i);
        if(map.containsKey(c)){
            count = map.get(c);
        }
        count++;
        if(count > max){
            max = count;
        }
        map.put(c, count);
    }
    System.out.println("最大次數(shù):" + max);
    //遍歷map中的鍵,如果其值等于最大次數(shù),則列出
    for (Character c : map.keySet()) {
        if(map.get(c).equals(max)){
            System.out.print(c + " ");
        }
    }
}

輸出結(jié)果:
最大次數(shù):4
c a
(輸出結(jié)果還可以放進(jìn)數(shù)組里排個(gè)序)

4.編寫(xiě)函數(shù)f(n), 獲取0~n中“1”出現(xiàn)的次數(shù) 答案:

//獲取0~n中1的數(shù)量
public static int get1Count(int n){
    String str = "";
    for (int i = 1; i <= n; i++) {
        str += i;
    }
    int count = 0;
    int length = str.length();
    for (int i = 0; i < length; i++) {
        char c = str.charAt(i);
        if(c == "1"){
            count++;
        }
    }
    return count;
}

5.獲取斐波那契數(shù)列的第n項(xiàng)值 答案:

//方法1 for循環(huán)
public static int feiBo(int n) {
    int a = 0;
    int b = 1;
    for (int i = 0; i < n; i++) {
        int c = a + b;
        a = b;
        b = c;
    }
    return a;
}

feiBo(40)循環(huán)1000萬(wàn)次時(shí)間:440ms

//方法2 for循環(huán)簡(jiǎn)化
public static int feiBo(int n){
    int a = 0;
    int b = 1;
    for (int i = 0; i < n; i++) {
        b = a + b;
        a = b - a;
    }
    return a;
}

feiBo(40)循環(huán)1000萬(wàn)次時(shí)間:325ms

//方法3 遞歸
public static int feiBo(int n){
    return n < 2 ? n : feiBo(n - 1) + feiBo(n - 2);
}

feiBo(40)只計(jì)算一次時(shí)間:401ms
以上測(cè)試可以看出。雖然遞歸很優(yōu)美,但是效率太差,老老實(shí)實(shí)用for循環(huán)寫(xiě)吧。很意外的是for循環(huán)簡(jiǎn)化后效率提升了這么多。

//測(cè)試代碼
public static void main(String[] args) {
    long t1 = System.currentTimeMillis();
    for (int i = 0; i < 10000000; i++) {
        feiBo(40);    //遞歸效率極低,不能循環(huán)這么多次,只能循環(huán)一次
    }
    long t2 = System.currentTimeMillis();
    System.out.println(t2 - t1);
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/68018.html

相關(guān)文章

  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語(yǔ)言和等其他語(yǔ)言的對(duì)比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問(wèn)到的持久化與恢復(fù)實(shí)現(xiàn)故障恢復(fù)自動(dòng)化詳解哨兵技術(shù)查漏補(bǔ)缺最易錯(cuò)過(guò)的技術(shù)要點(diǎn)大掃盲意外宕機(jī)不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語(yǔ)言和Java、python等其他語(yǔ)言的對(duì)比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    BicycleWarrior 評(píng)論0 收藏0
  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語(yǔ)言和等其他語(yǔ)言的對(duì)比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問(wèn)到的持久化與恢復(fù)實(shí)現(xiàn)故障恢復(fù)自動(dòng)化詳解哨兵技術(shù)查漏補(bǔ)缺最易錯(cuò)過(guò)的技術(shù)要點(diǎn)大掃盲意外宕機(jī)不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語(yǔ)言和Java、python等其他語(yǔ)言的對(duì)比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    tommego 評(píng)論0 收藏0
  • Android-Java面試

    摘要:好不容易在月號(hào)這天中午點(diǎn)左右接到了來(lái)自阿里的面試電話。這里會(huì)不斷收集和更新基礎(chǔ)相關(guān)的面試題,目前已收集題。面試重難點(diǎn)的和的打包過(guò)程多線程機(jī)制機(jī)制系統(tǒng)啟動(dòng)過(guò)程,啟動(dòng)過(guò)程等等掃清面試障礙最新面試經(jīng)驗(yàn)分享,此為第一篇,開(kāi)篇。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 各大公司 Java 后端開(kāi)發(fā)面試題總結(jié) 各大公司 Jav...

    TalkingData 評(píng)論0 收藏0
  • 墻裂推薦:搜云庫(kù)技術(shù)團(tuán)隊(duì),面試必備的技術(shù)干貨

    摘要:今天整理了一下近大半年以來(lái)的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫(xiě)過(guò)了,這個(gè)記錄的過(guò)程讓我也有了新的理解。希望大家,收藏,點(diǎn)贊,加轉(zhuǎn)發(fā)。 今天整理了一下近大半年以來(lái)的一些文章,和我的預(yù)期一樣,很多文章我都忘記自己曾經(jīng)寫(xiě)過(guò)了,這個(gè)記錄的過(guò)程讓我也有了新的理解。希望大家,收藏,點(diǎn)贊,加轉(zhuǎn)發(fā)。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...

    SegmentFault 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<