這篇文章主要介紹了Java程式設計基礎測試題分享,具有一定參考價值,需要的朋友可以了解下。
單選題:(每題目2分)
#1. 下列哪個聲明是錯的? (B)
A. int i=10;
B. float f=1.1; //float f=1.1f
C. double d=34.4;
D. byte b=127;
long類型的資料加上後綴L或l
float類型的資料加上後綴F或f
整數預設是int型別
浮點數預設是double類型
2. 下面哪一個不是java中的關鍵字? (C)
A. public
B. true
C. main
D. class
3.下列程式哪一個語句是正確的(C)
A. byte a=0,b=3; byte c =a+b;//a+b的型別為int
B. short s =23; s=s+12;
//s+12底層是轉成int相加,所以結果為int。
C. short s=23; s+=12; //相當於s=(short)(s+12)
D. float f = 23+23.23; //23+23.23的結果為double
4. 下面程式執行的結果是? (B)
class Test { public static void main(String[] args) { System.out.println(“”+‘a'+1); } }
A. 98
B. a1
C. 971
D. 197
#//空串放前相當於字串的拼接,空串放後,'a'+1,先做運算,再與空串進行拼接,byte,short,char可以自動轉為int ,
5. 下面程式執行的結果是? (B)
int i =100; while(true) { if (i++ > 100) //i先计算在自加 { break; } System.out.println(i); }
A. 100
B. 101
C. 102
D. 錯誤
6. 下列程式的運作結果是 ( D )
int a=3,b=1; if(a==b) { System.out.println("a="+a); }
A. a=1
B . a=3
C. 編譯錯誤
D. 正常運作但沒有輸出
7. 下列程式的運作後,結果正確的是:(B)
inta=1,b=2; intc=(a+b>3?a++:++b); //a=1,b=3,c=3
A. a=2,b=3
B. a=1,b=3
C. a=1 ,b=2
D. c=2
8. 下列程式的運作結果(B)
classDemo { public static int fun(int c) { return c+=2; } public static void main(String[] args) { int temp = fun(2); System.out.println(temp); } }
A. 2
B. 4
C. 6
D. 8
9. 下列陣列定義錯誤的是(C)
A. int [] arr ={23,45,65,78,89}; //靜態初始化
B. int [] arr=new int[10] ; //動態初始化
C. int [] arr=new int[4]{3,4,5,6};
D. int [] arr={'a', 23 , 45 , 6 };
//'a'可以自動轉為int,
# 10. 以下程式執行的結果是? (D )
int x=1,y=1; if(x++==2& ++y==2) //x=2,y=2,&与&&的结果相同但是&不具有短路效果 { x=7; } System.out.println("x="+x+" , y="+y);
A. x=1 y=2
B. x=7 y=1
#C. x =7 y=2
D. x=2 y=2
#11. 以下不屬於基本資料型別的是(D)
A. int
B. double
C. long
D. int[] //引用型別
12. 下列程式所執行的結果是? ( C)
booleanb=true; if(b=false) //将false赋值给b,则b=false { System.out.println("a"); } elseif(b) { System.out.println("b"); } elseif(!b) { System.out.println("c"); } else { System.out.println("d"); }
A. a
B. b
C. c
D. d
#13. 下面程式執行的結果是? (D)
intx=2,y=3; switch(x) { default: y++; //y=4,但是没有break,程序继续向下执行 case 3: y++; case 4: y++; } Sysetem.out.println("y="+y);
A. 3
B. 4
C. 5
D. 6
14. 下列程式執行的結果
for(int i=1;i<=10;i++) { if (i%3==0) { continue; //continue跳出本次循环 } System.out.println(“java基础班”); }
在螢幕上列印幾次「java基礎班」?( C )
A. 5
B. 6
C. 7
D. 8
# 15.閱讀下面程式碼片段:
classDemo { public static void main (String[] args) { int[] arr = new int[10]; System.out.println(arr[1]); } }
執行結果正確的說法是( C )
A. 編譯時會產生錯誤
B. 編譯時正確,執行階段會產生錯誤
C. 輸出零
D. 輸出空
# 16 .和下面程式碼能完成相同的選項是(B)
#
int i=1; intsum=0; while(i<=100) { if(i%2==0) { sum=sum+i; } i++; }
A. for (int x=1; xB. for (int x =0; xC. for (int x =1; xD.上述全對
#17.下列程式碼輸出為( D )
int i=0; int sum=0; while(i<=10) { i++; if( i%2!=0 ) continue; sum+=i; } System.out.println(sum); //sum=2+4+6+8+10
A. 55
B. 45
C. 35
D. 30
18. 給出下列程式碼片段:
if ( x> 0 ) { System.out.println(“Hello”); } else if (x >-3 ) { System.out.pirntln ( “I am Tom”); } else {System.out.println (“How are you?”); }
請問將列印字串「How are you ?」的x的範圍是( C)
A. x>0B. x > -3###C. x -3#############19. 下列程式碼執行的結果為( A )##################
classDemo { public static void main(String[] args) { int num =max(43,34); //num=43 System.out.println(num); } public static int max(int a,int b) { returna>b?a:b; } }###A. 43###B. 23###C. 77###D . 9 ######
20 .下面程序执行的结果是( A )
classDemo { public static void main(String [] args) { int a=10; if(a++>10) { a=20; } System.out.println(a); } }
A. 11
B. 12
C. 20
D. 21
多选题:(每道题目3分)
21. 下面哪些是合法的标志符( B.C.D)
A. 2variable
B. variable2
C. what$
D. _3_
//不能以数字开头,不能是java中的关键字,字母区分大小写
22. 下列方法中能和方法int max(int a, int b, double c)构成重载关系的是( B,C )
A. double max(int a, int b, double c)
B. void max(int a, double c, int b)
C. int max(double a, int b)
D. int max(int x, int y, double z)
//同一个类中,方法名相同,参数类型或参数个数不同,与返回值类型无关
23. 下面的说法正确的是( A,C, )
A. byte ,short,char 数据类型可以自动转化为int
B. float 数据类型可以自动转换为long。
C. 在java语言中默认小数为double
D. byte a=23; byte b=12; a+b的结果为byte类型 //int
24. 下面关于方法描述正确的是(A,D)
A. 方法是对功能代码块的封装
B. 方法没有返回值的时候什么都不用写
C. 没有返回值的方法,不能有return 语句
//每句后面都可以以有默认的return ;也可以手动加上
D. 方法是可以没有形参的
25. 下面关于循环描述正确的是(A,D)
A. while循环先判断循环条件,后执行循环操作
B. while 至少会执行一次
C. do-while先进行循环条件判断,后执行循环操作
D. do-while循环至少执行一次,后进行循环判断
简答题目:(每道题目5分)
26:JDK,JRE,JVM是什么,有什么用,它们之间又有什么关系?
JDK:java程序的开发环境,包含JRE和java开发工具
JRE:java程序的运行环境,包含jvm和java的核心类库
JVM:保证java语言的跨平台性
27:数组是基本类型吗? Java中基本数据类型分类有哪些?
不是,基本数据类型分为4类8种;
整型:byte short int long
字符型:char
布尔类型:boolean
浮点型:float double
28:方法是什么?它的运行特点是什么?
方法:完成特定功能的代码块
运行特点:不调用不执行;方法调用的时候不用再传递数据类型;方法与方法是平级的,不能嵌套调用;方法定义的时候参数之间用逗号隔开;方法不调用不执行;如果方法有明确的返回值,一定要用return带回一个值。
29:数组是什么?我们根据什么可以获取数组中的元素呢?
数组是存储同一种数据类型并且可以存储多个元素的容器;我们可以根据数组的索引来获取数组中的元素。
30:请说说什么时候使用变量,什么时候使用if语句,什么时候使用循环语句?说的有理即可得分。
当一个值不固定,在一定范围内改变时,就需要将其定义为变量。
当需要进行判断的时候用if语句;
当出现大量重复的代码时,就需要使用循环语句。
编程题目:(每道题目10分)
注意:格式,命名规范,注释。
31:在main方法中写一段代码,实现在控制台输出九九乘法表。
package com.practice1; //在main方法中写一段代码,实现在控制台输出九九乘法表。 public class PrintTable { //定义程序入口 public static void main(String[] args) { //控制外层循环,即第一个乘数 for (int i = 1; i < 10; i++) { //控制内层循环即第二个乘数 for (int j = i; j < 10; j++) { System.out.print(i+"*"+j+"="+i*j+" "); } //每打印一行将换行 System.out.println(); } } }
32:请写一个方法sum,实现求两个数之和。要求在main方法中调用。
package com.practice1; //请写一个方法sum,实现求两个数之和。要求在main方法中调用。 public class SumDemo { //提供程序入口 public static void main(String[] args) { //调用求和的方法 System.out.println(add(10,20)); } public static int add(int i, int j) { returni+j; } }
33:请写一个方法printArray,实现遍历数组。要求在main方法中调用
package com.practice1; //请写一个方法printArray,实现遍历数组。要求在main方法中调用。 public class ArrayDemo { //提供程序入口 public static void main(String[] args) { //定义一个数组 int[] arr={1,2,5,3,6,8}; //调用数组的遍历方法 printArr(arr); } // 定义一个遍历数组的方法 private static void printArr(int[] arr) { System.out.print("["); for (int i = 0; i < arr.length; i++) { if(i==arr.length-1){ System.out.print(arr[i]); }else{ System.out.print(arr[i]+" "); } } System.out.print("]"); } }
总结
以上是Java基礎測驗題分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JVMmanagesgarbagecollectionacrossplatformseffectivelybyusingagenerationalapproachandadaptingtoOSandhardwaredifferences.ItemploysvariouscollectorslikeSerial,Parallel,CMS,andG1,eachsuitedfordifferentscenarios.Performancecanbetunedwithflagslike-XX:NewRa

Java代碼可以在不同操作系統上無需修改即可運行,這是因為Java的“一次編寫,到處運行”哲學,由Java虛擬機(JVM)實現。 JVM作為編譯後的Java字節碼與操作系統之間的中介,將字節碼翻譯成特定機器指令,確保程序在任何安裝了JVM的平台上都能獨立運行。

Java程序的編譯和執行通過字節碼和JVM實現平台獨立性。 1)編寫Java源碼並編譯成字節碼。 2)使用JVM在任何平台上執行字節碼,確保代碼的跨平台運行。

Java性能与硬件架构密切相关,理解这种关系可以显著提升编程能力。1)JVM通过JIT编译将Java字节码转换为机器指令,受CPU架构影响。2)内存管理和垃圾回收受RAM和内存总线速度影响。3)缓存和分支预测优化Java代码执行。4)多线程和并行处理在多核系统上提升性能。

使用原生庫會破壞Java的平台獨立性,因為這些庫需要為每個操作系統單獨編譯。 1)原生庫通過JNI與Java交互,提供Java無法直接實現的功能。 2)使用原生庫增加了項目複雜性,需要為不同平台管理庫文件。 3)雖然原生庫能提高性能,但應謹慎使用並進行跨平台測試。

JVM通過JavaNativeInterface(JNI)和Java標準庫處理操作系統API差異:1.JNI允許Java代碼調用本地代碼,直接與操作系統API交互。 2.Java標準庫提供統一API,內部映射到不同操作系統API,確保代碼跨平台運行。

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器