java选择题《每日一练》
文章目錄
正確答案: A 你的答案: A (正確)
能
不能
子類方法能否訪問父類的public成員
正確答案: C 你的答案: C (正確)
class
interface
new
create
沒有女朋友怎么辦?new一個
正確答案: D 你的答案: C (錯誤)
int是java提供的8種原始數(shù)據(jù)類型之一
Integer是java為int提供的封裝類
int的默認值為0
Integer的默認值為1
八大基本數(shù)據(jù)類型(byte,short,int,long,double,float,char,boolean)
Integer是 int 包裝類
Integer 是類 默認是null ,表示的對象,用一個引用指向這個對象
int 是基本數(shù)據(jù)類型,直接存儲值, 默認是 0
正確答案: D 你的答案: D (正確)
public
private
protected
static
public 公有 private私有 protected受保護
static表示“全局”或者“靜態(tài)”的意思,用來修飾成員變量和成員方法,也可以形成靜態(tài)static代碼塊。
正確答案: A 你的答案: A (正確)
void set(int y)
int set(int x,double y)
double set(int x,int y)
void set(int x,int y)
方法重載:方法名稱相同,參數(shù)列表不同(可以是參數(shù)的類型,個數(shù),順序不同)
正確答案: C 你的答案: C (正確)
方法
main
構造方法
對象
構造方法的作用是對象初始化(屬性初始化)
1 . public class ABC{
2 . public int max( int a, int b) { }
3 .
4 . }
將以下哪個方法插入行 3 是不合法的。( )。
正確答案: B 你的答案: B (正確)
public float max(float a, float b, float c){ }
public int max (int c, int d){ }
public float max(float a, float b){ }
private int max(int a, int b, int c){ }
重載:
1、 重載是在編譯器通過方法中形參的靜態(tài)類型確定調(diào)用方法版本的過程。
2、 重載是多態(tài)在編譯期的表現(xiàn)形式
3、 重載的判定只有兩個條件(其他的條件都不能作為判定):
1、 方法名一致
2、形參列表不同
重寫:滿足一個規(guī)則:兩同兩小一大
1、兩同:方法名和形參列表一致
2、兩小:重寫方法的返回值(引用類型)和拋出異常,要和被重寫方法的返回值(引用類型)和拋出異常相同或者是其子類。注意,一旦返回值是基本數(shù)據(jù)類型,那么重寫方法和被重寫方法必須相同,且不存在自動拆裝箱的問題。
3、一大:重寫方法的訪問修飾符大于等于被重寫方法的訪問修飾符。
public class ThisTest {
public static void main(String args[]) {
String x=“7”;
int y = 2;
int z=2;
System.out.println(x+y+z);
}
}
正確答案: B 你的答案: B (正確)
11
722
22
程序有編譯錯誤
+號兩邊如果有一邊為字符類型 則為字符串連接
如果變?yōu)閥+z+x 則等價于(y+z)+x 輸出47
正確答案: A 你的答案: C (錯誤)
Java中所有的類都直接或間接繼承自Object,無論是否明確的指明,無論其是否是抽象類。
Java中的接口(interface)也繼承了Object類
利用“==”比較兩個對象時,Java調(diào)用繼承自Object的equals方法,判斷是否相等。
如果類的定義中沒有重新定義toString()方法,則該類創(chuàng)建的對象無法使用toStrig()
A,Object是所有類的直接或者間接父類。
B,接口沒有繼承Object類。(一旦繼承,Object中可以有實例方法的)
C,Object的equals方法,只有一句話,return this==object。這句話說反了。
D,和A一樣,都是Object的子類了,肯定有Object的方法:hashCode、equals、toString、clone、notify、notifyall、wait、finalize、getClass
正確答案: A 你的答案: A (正確)
字節(jié)碼
可執(zhí)行代碼
機器代碼
以上都不對
編譯器將java源代碼編譯成字節(jié)碼class文件
類加載到JVM里面,執(zhí)行引擎把字節(jié)碼轉為可執(zhí)行代碼
執(zhí)行的過程,再把可執(zhí)行代碼轉為機器碼,由底層的操作系統(tǒng)執(zhí)行。
C++是編譯型語言,源碼直接變成機器碼。
Java是解釋型語言,會先生成中間碼(字節(jié)碼),然后由解釋器(JVM內(nèi)置)解釋字節(jié)碼到機器碼。
正確答案: A 你的答案: A (正確)
.java
.class
.exe
.jar
java中源文件的后綴為.java,經(jīng)過javac.exe編譯后生成字節(jié)碼文件,后綴為.class,再經(jīng)過java.exe編譯為可執(zhí)行文件,后綴為.exe。
正確答案: A 你的答案: C (錯誤)
System.in System.out
System.out System.in
System.io.in System.io.out
System.io.out System.io.in
System.in 和 System.out 是java中的標準輸入輸出流,一般情況下代表從控制臺輸入和輸出到控制臺
正確答案: D 你的答案: D (正確)
2japro
&Class
const
_123
Java 標識符有如下命名規(guī)則:
由26個英文字母大小寫,數(shù)字:0-9 符號:_ $ 組成
標識符應以字母、_ 、$開頭。
標識符不能是關鍵字。
Java中嚴格區(qū)分大小寫
class Base {
Base() {
System.out.print(“Base”);
}
}
public class Alpha extends Base {
public static void main( String[] args ) {
new Alpha();
//調(diào)用父類無參的構造方法
new Base();
}
}
在執(zhí)行new Alpha()時,會先執(zhí)行父類的構造方法,在執(zhí)行相應的子類的構造方法,所以此處會打印Base,在執(zhí)行new Base()時,會直接執(zhí)行Base中無參構造器的代碼,再輸出Base,所以選B
public class Test
{
static boolean foo(char c)
{
System.out.print?;
return true;
}
public static void main( String[] argv )
{
int i = 0;
for ( foo(‘A’); foo(‘B’) && (i < 2); foo(‘C’))
{
i++ ;
foo(‘D’);
}
}
}
正確答案: A 你的答案: A (正確)
ABDCBDCB
ABCDABCD
Compilation fails.
An exception is thrown at runtime.
考for循環(huán)的執(zhí)行順序,1.先執(zhí)行初始化條件,2.執(zhí)行判斷條件,3.如果滿足2的條件,執(zhí)行循環(huán)體中代碼;4.執(zhí)行foo(‘c’), 5.初始化條件不在執(zhí)行,友從2開始執(zhí)行
public class Test {
public static void main(String args[]) {
String s = “祝你考出好成績!”;
System.out.println(s.length());
}
}
正確答案: D 你的答案: D (正確)
24
16
15
8
length得到的是字符,不是字節(jié)。
如果是s.getBytes(“GBK”).length就是求的字節(jié)數(shù)。如果是GBK,一個中文字符占2字節(jié),如果是UTF-8則是3個字節(jié)
正確答案: D 你的答案: A (錯誤)
程序運行時異常由Java虛擬機自動進行處理
使用try-catch-finally語句捕獲異常
可使用throw語句拋出異常
捕獲到的異常只能在當前方法中處理,不能在其他方法中處理
捕獲到的異常不僅可以在當前方法中處理,還可以將異常拋給調(diào)用它的上一級方法來處理。
正確答案: B 你的答案: A (錯誤)
正確
錯誤
靜態(tài)方法中不能調(diào)用對象的變量,因為靜態(tài)方法在類加載時就初始化,對象變量需要在新建對象后才能使用
正確答案: A 你的答案: A (正確)
正確
錯誤
這在java中是正確的,在C語言中是錯誤的,java的char類型占兩個字節(jié),默認使用GBK編碼存儲。這種寫法是正確的,此外java還可以用中文做變量名。
正確答案: B 你的答案: A (錯誤)
正確
錯誤
this()才必須是構造函數(shù)中的第一個可執(zhí)行語句,用this調(diào)用語句并不需要。
正確答案: A 你的答案: B (錯誤)
會
不會
Thread.sleep() 和 Object.wait(),都可以拋出 InterruptedException。這個異常是不能忽略的,因為它是一個檢查異常(checked exception)
public class Example{
String str=new String(“tarena”);
char[]ch={‘a(chǎn)’,‘b’,‘c’};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
//引用類型變量,傳遞的是地址,屬于引用傳遞。
str=“test ok”;
ch[0]=‘g’;
}
}
正確答案: B 你的答案: B (正確)
tarena and abc
tarena and gbc
test ok and abc
test ok and gbc
正確答案: A 你的答案: B (錯誤)
根據(jù)某一條件重復執(zhí)行一部分代碼直到滿足終止條件為止
可以根據(jù)條件控制程序流程,改變程序執(zhí)行的順序
選擇語句可以嵌套使用
當條件滿足時就會執(zhí)行相應的語句
流程控制語句分類:
順序結構
選擇結構:if語句、switch語句
循環(huán)結構:while語句、for語句
正確答案: C 你的答案: C (正確)
只能寫在源代碼的第一句
可以訪問java/util目錄下及其子目錄下的所有類
能訪問java/util目錄下的所有類,不能訪問java/util子目錄下的所有類
編譯錯誤
java.util.*,只能讀取其目錄下的類,不能讀取其子目錄下的類。
因為其根目錄和子目錄下可能有同名類,若都能讀取,則會混淆。
正確答案: D 你的答案: D (正確)
(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
(500,+∞)
(500,+∞)、任意大于0小于500的非100倍數(shù)的整數(shù);
(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
無效等價類是指對于軟件規(guī)格說明而言,是沒有意義的、不合理的輸入數(shù)據(jù)集合。利用無效等價類可以找出程序異常說明情況,檢查程序的功能和性能的實現(xiàn)是否有不符合規(guī)格說明要求的地方。
有效等價類是指輸入數(shù)據(jù)完全滿足程序輸入的規(guī)格說明,是有效、有意義的輸入數(shù)據(jù)所構成的集合。利用有效等價類可以檢驗程序是否滿足規(guī)格說明所規(guī)定的功能和性能。
正確答案: A B C D 你的答案: B C D (錯誤)
Java編程語言
Java類文件格式
Java API
JVM
當我們編寫并運行一個Java程序時,就同時運用了這四種技術,用Java程序設計語言編寫源代碼,把它編譯成Java.class文件格式,然后再在Java虛擬機中運行class文件。當程序運行的時候,它通過調(diào)用class文件實現(xiàn)了Java API的方法來滿足程序的Java API調(diào)用
正確答案: A D E 你的答案: A B C D E (錯誤)
方法區(qū)
實例變量
靜態(tài)變量
程序計數(shù)器
虛擬機棧
JVM內(nèi)存區(qū):程序計數(shù)器、虛擬機棧、本地方法棧、堆、方法區(qū)(包括常量池)。
不屬于JVM內(nèi)存區(qū):直接內(nèi)存(Direct Memory),用戶I/O操作
正確答案: A B 你的答案: A C (錯誤)
序列化是將數(shù)據(jù)轉為n個 byte序列的過程
反序列化是將n個 byte轉換為數(shù)據(jù)的過程
將類型int轉換為4 byte是反序列化過程
將8個字節(jié)轉換為long類型的數(shù)據(jù)為序列化過程
把你看得懂的轉換為看不懂的,就是序列化。
把你看不懂的轉換為看得懂的,就是反序列化。
正確答案: A B C D 你的答案: B C (錯誤)
枚舉
靜態(tài)內(nèi)部類
雙檢鎖模式
餓漢式
正確答案: A B C 你的答案: A C (錯誤)
不管catch是否捕獲異常,finally語句塊都是要被執(zhí)行的
在try語句塊或catch語句塊中執(zhí)行到System.exit(0)直接退出程序
finally塊中的return語句會覆蓋try塊中的return返回
finally 語句塊在 catch語句塊中的return語句之前執(zhí)行
D.不是return之前,是return執(zhí)行完成之前,return表達式的結果會暫時保存起來,不會被改變
總結
以上是生活随笔為你收集整理的java选择题《每日一练》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从源代码分析DbSet如何通过Objec
- 下一篇: 一线城市广州50+新老年文娱旅游需求洞察