日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

我要投稿 投訴建議

超經(jīng)典 java 華為筆試題

時(shí)間:2022-09-26 06:02:01 筆試題目 我要投稿
  • 相關(guān)推薦

超經(jīng)典 java 華為筆試題

  Java 教程 Java 是由Sun Microsystems公司于1995年5月推出的高級程序設(shè)計(jì)語言。 本文將為你提供超經(jīng)典 java 華為筆試題,歡迎閱讀參考。

超經(jīng)典 java 華為筆試題

  一、單項(xiàng)選擇題

  1.Java是從()語言改進(jìn)重新設(shè)計(jì)。

  A.Ada B.C++ C.Pasacal D.BASIC

  答案:B

  2.下列語句哪一個(gè)正確()

  A. Java程序經(jīng)編譯后會產(chǎn)生machine code

  B. Java程序經(jīng)編譯后會產(chǎn)生byte code

  C. Java程序經(jīng)編譯后會產(chǎn)生DLL

  D.以上都不正確

  答案:B

  Java字節(jié)碼是Java源文件編譯產(chǎn)生的中間文件

  java虛擬機(jī)是可運(yùn)行java字節(jié)碼的假想計(jì)算機(jī) java的跨平臺性也是相對與其他編程語言而言的 先介紹一下c語言的編譯過程吧先是C語言源程序

  也就是。c的文件經(jīng)過C編譯程序編譯后生成windows可執(zhí)行文件exe文件然后在windows中執(zhí)行。。再介紹java的編譯過程先是java源程序 擴(kuò)展名

  為。java的文件由java編譯程序?qū)ava字節(jié)碼文件 就是class文件然后在java虛擬機(jī)中執(zhí)行。機(jī)器碼是由CPU來執(zhí)行的。Java編譯后是字節(jié)碼,

  電腦只能運(yùn)行機(jī)器碼。Java在運(yùn)行的時(shí)候把字節(jié)碼變成機(jī)器碼。C/C++在編譯的時(shí)候直接編譯成機(jī)器碼

  3.下列說法正確的有()

  A. class中的constructor不可省略

  B. constructor必須與class同名,但方法不能與class同名

  C. constructor在一個(gè)對象被new時(shí)執(zhí)行

  D.一個(gè)class只能定義一個(gè)constructor

  答案:C

  4.提供Java存取數(shù)據(jù)庫能力的包是()

  A.java.sql B.java.awt C.java.lang D.java.swing

  答案:A

  5.下列運(yùn)算符合法的是()

  A.&& B.<> C.if D.:=

  答案:A

  6.執(zhí)行如下程序代碼

  a=0;c=0;

  do{

  --c;

  a=a-1;

  }while(a>0);

  后,C的值是()

  A.0 B.1 C.-1 D.死循環(huán)

  答案:C

  7.下列哪一種敘述是正確的()

  A. abstract修飾符可修飾字段、方法和類

  B.抽象方法的body部分必須用一對大括號{ }包住

  C.聲明抽象方法,大括號可有可無

  D.聲明抽象方法不可寫出大括號

  答案:D

  abstract修飾符用來修飾類和成員方法

  1:用abstract修飾的類表示抽象類,抽象類位于繼承樹的抽象層,抽象類不能被實(shí)例化。

  2:用abstract修飾的方法表示抽象方法,抽象方法沒有方法體。抽象方法用來描述系統(tǒng)具有什么功能,但不提供具體的實(shí)現(xiàn)。

  Abstract是Java中的一個(gè)重要關(guān)鍵字,可以用來修飾一個(gè)類或者一個(gè)方法。

  修飾一個(gè)方法時(shí),表示該方法只有特征簽名(signature),沒有具體實(shí)現(xiàn),而是把具體實(shí)現(xiàn)留給繼承該類的子類。一個(gè)類中只要有一個(gè)abstract

  方法,那么這個(gè)類就要被聲明為abstract,但是其中可以有非abstract方法。

  abstract類可以使得類的設(shè)計(jì)者能夠創(chuàng)建方法的原型,而真正的實(shí)現(xiàn)留給使用這個(gè)類的人。

  8.下列語句正確的是()

  A.形式參數(shù)可被視為local variable

  B.形式參數(shù)可被字段修飾符修飾

  C.形式參數(shù)為方法被調(diào)用時(shí),真正被傳遞的參數(shù)

  D.形式參數(shù)不可以是對象

  答案:A

  解答:

  ? ? 形式參數(shù)是指在函數(shù)名后面的小括號里定義的變量, 用于接受來自調(diào)用函數(shù)的

  參數(shù)。形式參數(shù)在函數(shù)內(nèi)部可以象其它局部變量那樣來使用。

  ? ? 例如:

  ? ? puthz(int x, int y, int color, char *p)

  ? ? {

  ? ? ? ? ? int i, j, k;? /*定義局部變量*/

  ? ? ? ? ? <程序體>

  ? ? }

  ? ? 其中x, y, color, *p為函數(shù)的形式參數(shù), 不需要再進(jìn)行說明就可在該函數(shù)內(nèi)

  直使用。

  9.下列哪種說法是正確的()

  A.實(shí)例方法可直接調(diào)用超類的實(shí)例方法

  B.實(shí)例方法可直接調(diào)用超類的類方法

  C.實(shí)例方法可直接調(diào)用其他類的實(shí)例方法

  D.實(shí)例方法可直接調(diào)用本類的類方法

  答案:D

  解答:類方法就是靜態(tài)方法。static? ? 其它的就是實(shí)例方法

  ? ? ? 實(shí)例方法可以對當(dāng)前對象的實(shí)例變量進(jìn)行操作,也可以對類變量進(jìn)行操作,但類方法不能訪問實(shí)例變量。實(shí)例方法必須由實(shí)例對象來調(diào)用,而類方法除了可由實(shí)例對象調(diào)用外,還可以由類名直接調(diào)用。另外,在類方法中不能使用 this 或 super。

  關(guān)于類方法的使用,有如下一些限制:

  1 在類方法中不能引用對象變量。

  2 在類方法中不能使用super、this關(guān)鍵字。

  3 類方法不能調(diào)用類中的對象方法。

  與類方法相比,實(shí)例方法幾乎沒有什么限制:

  1 實(shí)例方法可以引用對象變量(這是顯然的),也可以引用類變量。

  2 實(shí)例方法中可以使用super、this關(guān)鍵字。

  3 實(shí)例方法中可以調(diào)用類方法。

  二、多項(xiàng)選擇題

  1.Java程序的種類有()

  A.類(Class) B.Applet C.Application D.Servlet

  Java程序的種類有:

  (a)內(nèi)嵌于Web文件中,由瀏覽器來觀看的_Applet

  (b)可獨(dú)立運(yùn)行的 Application

  (c)服務(wù)器端的 Servlets

  2.下列說法正確的有()

  A.環(huán)境變量可在編譯source code時(shí)指定

  B.在編譯程序時(shí),所能指定的環(huán)境變量不包括class path

  C. javac一次可同時(shí)編譯數(shù)個(gè)Java源文件

  D. javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory)

  答案:BCD

  3.下列標(biāo)識符不合法的有()

  A.new B.$Usdollars C.1234 D.car.taxi

  答案:ACD

  4.下列說法錯(cuò)誤的有()

  A.數(shù)組是一種對象

  B.數(shù)組屬于一種原生類

  C. int number=[]={31,23,33,43,35,63}

  D.數(shù)組的大小可以任意改變

  答案:BCD

  解答:Java把數(shù)組當(dāng)作一個(gè)java類來處理

  java是純面向?qū)ο蟮恼Z言,他的數(shù)組也是一個(gè)對象。

  5.不能用來修飾interface的有()

  A.private B.public C.protected D.static

  答案:ACD

  only public & abstract are permitted

  你既然定義了interface(接口),那肯定是要其它的類去實(shí)現(xiàn)它的,

  不然你定義它干嗎,所以不能用protected去修飾,

  而要用public去修飾。接口可以去繼承一個(gè)已有的接口。

  接口只能被public和默認(rèn)修飾符修飾,protected也不行所以除了public其他的都要選

  6.下列正確的有()

  A. call by value不會改變實(shí)際參數(shù)的數(shù)值

  B. call by reference能改變實(shí)際參數(shù)的參考地址

  C. call by reference不能改變實(shí)際參數(shù)的參考地址

  D. call by reference能改變實(shí)際參數(shù)的內(nèi)容

  答案:ACD

  解答:

  1 基本類型和基本類型變量被當(dāng)作參數(shù)傳遞給方法時(shí),是值傳遞。

  在方法實(shí)體中,無法給原變量重新賦值,也無法改變它的值。

  2 對象和引用型變量被當(dāng)作參數(shù)傳遞給方法時(shí),是引用傳遞。

  在方法實(shí)體中,無法給原變量重新賦值,但是可以改變它所指向?qū)ο蟮膶傩浴?/p>

  7.下列說法錯(cuò)誤的有()

  A.在類方法中可用this來調(diào)用本類的類方法//this只能從實(shí)例代碼內(nèi)部使用,也就是說不能用在靜態(tài)代碼內(nèi)

  B.在類方法中調(diào)用本類的類方法時(shí)可直接調(diào)用

  C.在類方法中只能調(diào)用本類中的類方法//錯(cuò)

  D.在類方法中絕對不能調(diào)用實(shí)例方法

  答案:ACD

  D.應(yīng)該說不能直接調(diào)用

  public class Test {

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  Test t=new Test();

  t.print();

  }

  public void print(){

  System.out.println("1111111111111");

  }

  }

  8.下列說法錯(cuò)誤的有()

  A. Java面向?qū)ο笳Z言容許單獨(dú)的過程與函數(shù)存在

  B. Java面向?qū)ο笳Z言容許單獨(dú)的方法存在

  C. Java語言中的方法屬于類中的成員(member)//類成員是靜態(tài)的,成員方法屬于實(shí)例

  D. Java語言中的方法必定隸屬于某一類(對象),調(diào)用方法與過程或函數(shù)相同

  答案:ABC

  9.下列說法錯(cuò)誤的有()

  A.能被java.exe成功運(yùn)行的java class文件必須有main()方法

  B.J2SDK就是Java API

  C.Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件

  D.能被Appletviewer成功運(yùn)行的java class文件必須有main()方法

  答案:BCD

  三、判斷題

  1.Java程序中的起始類名稱必須與存放該類的文件名相同。()

  答案:正確

  2.Unicode是用16位來表示一個(gè)字的。()

  答案:正確

  3.原生類中的數(shù)據(jù)類型均可任意轉(zhuǎn)換。()

  答案:錯(cuò)誤、排序都有哪幾種方法?請列舉。用JAVA實(shí)現(xiàn)一個(gè)快速排序。

  排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,

  分配排序(箱排序、基數(shù)排序)

  快速排序的偽代碼。

  / /使用快速排序方法對a[ 0 :n- 1 ]排序

  從a[ 0 :n- 1 ]中選擇一個(gè)元素作為m I d d l e,該元素為支點(diǎn)

  把余下的元素分割為兩段left 和r I g h t,使得l e f t中的元素都小于等于支點(diǎn),而right 中的元素都大于等于支點(diǎn)

  遞歸地使用快速排序方法對left 進(jìn)行排序

  遞歸地使用快速排序方法對right 進(jìn)行排序

  所得結(jié)果為l e f t m I d d l e r I g h t

  6、請對以下在J2EE中常用的名詞進(jìn)行解釋(或簡單描述)

  web容器:給處于其中的應(yīng)用程序組件(JSP,SERVLET)提供一個(gè)環(huán)境,使 JSP,SERVLET直接更容器中的環(huán)境變量接**互,不必關(guān)注其它系統(tǒng)問

  題。主要有WEB服務(wù)器來實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴(yán)格遵守J2EE規(guī)范中的WEB APPLICATION 標(biāo)準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的WEB服務(wù)器就叫做J2EE中的WEB容器。

  EJB容器:Enterprise java bean 容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容

  器,馬上就會被容器進(jìn)行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。

  JNDI:(Java Naming & Directory Interface)JAVA命名目錄服務(wù)。主要提供的功能是:提供一個(gè)目錄系,讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能。

  JMS:(Java Message Service)JAVA消息服務(wù)。主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊。包括點(diǎn)對點(diǎn)和廣播。

  JTA:(Java Transaction API)JAVA事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用其提供的接口即可。

  JAF:(Java Action FrameWork)JAVA安全認(rèn)證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制

  策略。

  RMI/IIOP:(Remote Method Invocation /internet對象請求中介協(xié)議)他們主要用于通過遠(yuǎn)程調(diào)用服務(wù)。例如,遠(yuǎn)程有一臺計(jì)算機(jī)上運(yùn)行一個(gè)

  程序,它提供股票分析服務(wù),我們可以在本地計(jì)算機(jī)上實(shí)現(xiàn)對其直接調(diào)用。當(dāng)然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進(jìn)行通信。RMI是

  JAVA特有的。

  7、JAVA語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?

  Java通過面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。在Java中,每個(gè)異常都是一個(gè)對象,它是Throwable

  類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常后便拋出一個(gè)異常對象,該對象中包含有異常信息,調(diào)用這個(gè)對象的方法可以捕獲到這個(gè)異常并進(jìn)行

  處理。Java的異常處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:try、catch、throw、throws和 finally。一般情況下是用try來執(zhí)行一段程序,如果出現(xiàn)異

  常,系統(tǒng)會拋出(throws)一個(gè)異常,這時(shí)候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理。

  用try來指定一塊預(yù)防所有"異常"的程序。緊跟在try程序后面,應(yīng)包含一個(gè)catch子句來指定你想要捕捉的"異常"的類型。

  Throw語句用來明確地拋出一個(gè)"異常"。

  Throws用來標(biāo)明一個(gè)成員函數(shù)可能拋出的各種"異常"。

  Finally為確保一段代碼不管發(fā)生什么"異常"都被執(zhí)行一段代碼。

  可以在一個(gè)成員函數(shù)調(diào)用的外面寫一個(gè)try語句,在這個(gè)成員函數(shù)內(nèi)部寫另一個(gè)try語句保護(hù)其他代碼。每當(dāng)遇到一個(gè)try語句,"異常"的框架就放到堆棧上面,直到所有的try語句都完成。如果下一級的try語句沒有對某種"異常"進(jìn)行處理,堆棧就會展開,直到遇到有處理這種"異常"的try語句。

  1、字符串a(chǎn)bcdefg,要求按逆序輸出為gfedcba

  public class Main {

  public static void main(String[] args) {

  StringBuffer buf = new StringBuffer("abcdefg");

  buf = buf.reverse();

  System.out.println(buf.toString());

  }

  }

  2、使用字符串的正則判斷是否全部由數(shù)字組成

  import java.util.Scanner;

  import java.util.regex.Matcher;

  import java.util.regex.Pattern;

  public class JAVA {

  public static void main(String[] args) {

  String regEx = "\\D+";

  Scanner in = new Scanner(System.in);

  while (in.hasNext()) {

  ? String str = in.next();

  ? Pattern p = Pattern.compile(regEx);

  ? Matcher m = p.matcher(str);

  ? if (!m.find()) {

  ? ? System.out.println("輸入的字符串全是數(shù)字");

  ? } else {

  ? ? System.out.println("輸入的字符串不全是數(shù)字");

  ? }

  }

  }

  }

  3、把當(dāng)前日期轉(zhuǎn)換成yyyy年MM月dd日

  import java.text.SimpleDateFormat;

  import java.util.Date;

  public class JAVA {

  public static void main(String[] args) {

  SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");

  Date d = new Date();

  String s = sf.format(d);

  System.out.println(s);

  }

  }

  4、編一個(gè)程序,它能讀入兩個(gè)正整數(shù)(第一個(gè):n進(jìn)制的基數(shù)(2-19)第二個(gè):要轉(zhuǎn)換的十進(jìn)制數(shù)),,并輸出這個(gè)正整數(shù)的2-19進(jìn)制形式,依

  次用A、B、C、D、E、F、G、H、I表示10、11、12、13、14、 15、16、17、18。如輸入為15 56時(shí),輸出為3B。

  import java.util.Scanner;

  public class Main {

  public static void main(String[] args) {

  char[] charaters = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',

  ? ? 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I' };

  Scanner in = new Scanner(System.in);

  StringBuffer ans = new StringBuffer("");

  int base = 0;

  int digit = 0;

  base = in.nextInt();

  digit = in.nextInt();

  if (2 <= base && base <= 18) {

  ? while (digit != 0) {

  ? ? ans.append(charaters[digit % base]);

  ? ? digit /= base;

  ? }

  ? ans = ans.reverse();

  ? System.out.println(ans.toString());

  } else {

  ? System.out.println("Input Error!");

  }

  }

  }