当前位置:文档之家› Java经典练习题

Java经典练习题

Java基础试题一、选择题1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。

A. 3B. 3. 5C. 4D. 53、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)?A、public static void main()B、public static void main(String args[] )C、public static int main(String [] arg )D、public void main(String arg[] )44.Which of the following is not a valid comment:Da. /** comment */b. /* comment */c. /* commentd. // comment5. Java中char类型的数据长度为 :C(A)8位(B)16位(C)32位(D)64位6.下面哪个表达式是错误的:B(A)int i = 100;(B)float f = 100.0;(C)Object o = “Hello world”;(D)char c = ‘\u1234’;7.下面哪个语句是正确的:C(A)byte s = 256;(B)String s = ‘Hello world’;(C)int x = 012;(D)char c = “a”;8.下列叙述中,正确的是:AA)声明变量时必须指定一个类型B)Java认为变量number与Number相同C)Java中唯一的注释方式是"//"D)源文件中public类可以有0或多个9.下列属于合法的Java标识符是:DA)"ABC" B)&5678 C)+rriwo D)saler10.下面哪个标识符是不合法的:D(A)s1 (B)$1 (C)_1 (D)1s11.在switch(expression)语句中,expression的数据类型不能是:AA)double B)char C)byte D)short12.已知:int[] a = new int[100];在下列给出的数组元素中,非法的是:DA)a[0] B)a[1] C)a[99] D)a[100]13.下列的哪个赋值语句是不正确的?: AA.float f = 11.1; B.double d = 5.3E12;C.float d = 3.14f ; D.double f=11.1E10f;14.下列的哪个赋值语句是正确的?DA.char a=12; B.int a=12.0;C.int a=12.0f; D.int a=(int)12.0;15.下面关于数组的定义错误的是(B)A) int a[]={1,2,3,4,5,6}; B) int a[6]={1,2,3,4,5,6}C) int[][] a; D)int [] a=new int[6];(以下为多项选择)16.下面哪些代码可以正确编译( AC)(A)double d = 1.0;int i = 1;if(d == i) {System.out.println(“Hello world”);}(B)int i = 1;int j = 2;if(i = 1 && j = 2) {System.out.println(“Hello world”);}(C)boolean b1 = true, b2 = false;if(b1 == b2) {System.out.println(“Hello world”);(D)int i = 0;if(i) {System.out.println(“Hello world”);}17.下面的哪些声明是合法的?AC(A)int a[]; (B)int a[5]; (C)int[] a; (D)int a[] = [5];18.下面哪些类型是Java的基本数据类型ABD(A)int (B)boolean (C)String(D)double二、填空题1..JVM是(Java虚拟机),JDK是(Java开发工具包),appletviewer是(小应用程序阅览器) 。

2. Java源程序经编译生成的字节码文件的扩展名为(class)3. Java语言的主要贡献者是(James Gosling(詹姆斯·戈士林))。

4.在JDK中,Java语言的编译命令是_____Javac.exe_______,Java语言的执行命令是java .exe_______。

5.写出以下表达式的结果:1) 5 % 6 / 3 =(1)2) true && false =(false)3) 5 >> 3 =(0)4) 12 ^ -4 =(-16 )6.设有数组定义:int a[]= { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 则执行下列几个语句后的输出结果是33 66 99。

for ( int i = 0 ; i < a.length ; i ++ )if(a[i]%3==0 )System.out.print(a[i]+" ");三、简答题1.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?switch(expr1)中,expr1是一个整数表达式。

因此传递给switch 和case 语句的参数应该是int、short、char 或者byte。

long,String 都不能用于swtich中的表达式(JDK 7以后可以作用于String)。

2.一个".java"源文件中是否可以包括多个类?有什么限制?可以。

必须只有一个类名与文件名相同3.简述Java语言实现平台无关(跨平台)性的原理。

J Java程序经过编译,会生成字节码文件,而字节码可以在任何安装了Java虚拟机的平台上运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class文件,即Java程序的跨平台性。

4.说明Java语言中三种注释的语法格式,以及用途。

Java语言中注释的语法有三种:单行注释、多行注释和文档注释。

1)单行注释,单行注释指只能书写一行的注释。

用于对于代码进行简单的说明,单行注释的语法格式为://注释内容2)多行注释:多行注释指可以书写任意多行的注释。

多行注释一般用于说明比较复杂的内容,例如程序逻辑或算法实现原理等。

多行注释的语法格式为:/* 注释内容*/3)文档注释:文档注释指可以被提取出来形成程序文档的注释格式,这是Java语言有特色的注释格式。

一般对于程序程序的结构进行说明,例如类、属性、方法和构造方法进行说明,文档注释的语法格式为:/** 注释内容*/5.请把以下英文翻译成中文:When you compile a program written in the Java programming language, the compiler converts the human-readable source file intoplatform-independent code that a Java Virtual Machine can understand. This platform-independent code is called Bytecode.当你在编译Java编程语言编写的程序,编译器转换成平台无关的代码,Java虚拟机能够理解人类可读的源文件。

这个平台无关的代码被称为字节码。

}第二章注意问题:main函数是Java应用程序执行的入口。

(int)23.7结果为23(int)-45.89f结果为-45+”除字符串相加功能外,还能把非字符串转换成字符串,如:“x”+123;的结果是“x123”。

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。

但被模数是负数就另当别论了1,三元运算符class TernaryOp{public static void main(String args[]){int salary,daysPresent = 30;salary = daysPresent == 20 ? 2000 : 3000;System.out.println("您本月薪资为 $"+salary);}}2,编写一个程序,这个程序从键盘上输入2个数,然后求这2个数的和,程序结束。

提示:调用System.in.read();可以读取到一个从键盘上输入字符对应的整数。

通过这个程序,你一定能体会到在什么import java.io.*;public class Ch1 {public static void main(String[] args) throws IOException{ BufferedReader ke=new BufferedReader(new InputStreamReader(System.in));String x;int p,q,m;System.out.print("请输入第一个数");x=ke.readLine();p=Integer.parseInt(x);System.out.print("请输入第二个数");x=ke.readLine();q=Integer.parseInt(x);m=p+q;System.out.println("两个数的和为:"+m);}}3,数组public class Lo {public static void main(String[] args) {int[] aa={32,55,69};for(int i=0;i<aa.length;i++){System.out.print(aa[i]+”“);}System.out.println( );}}4,输入一个年份,判断它是不是闰年。

相关主题