Java編程筆試面試題⑤

上期題目解答:

1.如果程序代碼爲:

public class Demo{

public static void main (String[ ] args){

String a=args[1];

System.out.println(a);

}

}

進行編譯後,執行以下命令將得到什麼結果?

java Demo a1 a2 a3

結果:a2

2、現有一個類定義如下,請回答問題:

class Employee{

String name;

int age;

double wage;

static int No=0;

Employee(String a1,int a2,double a3){

name=a1; age=a2; wage=a3;

No++;

}

}

在使用該類時,已使用下面語句生成了該類的對象:

Employee e1,e2;

e1=new Employee("王勁",26,6300);

e2=new Employee("張山",30,3800);

問題:

1)e2.name,e2.age,e2.wage的值各是什麼 ?

2)生成對象e1,e2後,e1.No值爲多少 能否通過類名做前綴引用屬性No和age?

結果:1)(張山;30;3800.0)

2)可以訪問No,不能訪問age

3、閱讀以下程序,寫出運行結果

class Q1{

public static void main(String args[ ]){

double d=1.23;

Dec dec=new Dec( );

dec.decrement(d);

System.out.println(d);

}

classs Dec{

public void decrement(double decMe){

decMe = decMe - 0.1;

}

}

結果:1.23

4、分析下列程序的執行結果:

class Value{

public int i = 15;

}

public class Test{

public static void main(String argv[]){

Test t = new Test(); t.first();

}

public void first(){

int i = 5;

Value v = new Value();

v.i = 25; second(v, i);

System.out.println(v.i);

}

public void second(Value v, int i){

i = 0; v.i = 20;

Value val = new Value();

v = val;

System.out.println(v.i + " " + i);

}

}

結果:15 0 20

5、分析下列程序的執行結果:

public class Test{

public static void main(){

int i = 1, j = 10;

do{

if(i++ > --j)

continue;

}while(i < 5);

System.out.println("i=" + i + " j=" + j);

}

}

結果:i=5,j=6

今日題目:概念題 難度指數:★★

1.常用中間件RabbitMQ,kafka等,原理、區別、優缺點。

2.Lock 和 synchronize 實現原理與區別。簡述樂觀鎖悲觀鎖。分佈式鎖實現方式

3.常用中間件RabbitMQ,kafka等,原理、區別、優缺點

4.Redis原理,數據結構,集羣幾種方式,和memcache區別

書籍推薦:入門級 難度指數:★★★

Head First Java

Java學習筆記

Java核心技術:卷1 基礎知識

Java從入門到精通

瘋狂Java講義

Head First Servle&JSP

JSP & Servlet學習筆記

編寫高質量代碼——改善Java程序的151個建議

Java程序員修煉之道

Java8實戰

有效的單元測試

Java核心技術:卷2 高級特性

代碼整潔之道

數據結構與算法分析-Java語言描述

相關文章