文档库 最新最全的文档下载
当前位置:文档库 › Java程序设计基础习题答案

Java程序设计基础习题答案

Java程序设计基础习题答案
Java程序设计基础习题答案

Java程序设计基础课后习题参考答案

第2章

1、关于Java Application得入口方法main()得检验:

main()方法得参数名就是否可以改变?

main()方法得参数个数就是否可以改变?

该方法名就是否可以改变?

参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。

2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗?

参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。

3、下列语句能否编译通过?

bytei =127;

bytej = 128;

longl1 = 999999;

long l2= 9999999999;

参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。

4、下列语句能否编译通过?

float f1 =3、5;

float f2 = 3.5f;

参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。

5、验证int 与char,int与double等类型就是否可以相互转换。

参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。

6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。

(1)4+5 == 6*2 ?(2) (4=5)/6??

(3)9%2*7/3>17(4)(4+5)<=6/3 ?

(5) 4+5%3!=7-2????(6)4+5/6〉=10%2

参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得.

7、下列()就是合法得Java标识符。

(1)Counter1 ??(2)$index,

(3) name-7 ??(4)_byte

(5)larray????(6)2i

(7) try???(8)integer

参考答案:Java标识符由数字,字母与下划线(_),美元符号($)组成.在Java中就是区分大小写得。而且还要求首位不能就是数字。最重要得就是,Java关键字不能当作Java标识符.因此,(1)、(4)、(5)、(8)就是合法标识符。

8、下列各项中定义变量及赋值不正确得就是()

(1) intI= 32;

(2) float f =45、0;

(3)doubled=45、0;

参考答案:(2)不正确,选项(2)定义float 类型时必须在数据后面加上“F”或“f”。

9、Java语言中,整型常数123占用得存储字节数就是()

(1) 1 (2)2(3)4?(4) 8

参考答案:正确选项就是(3),Java语言中,默认整型数占用4个字节数。

10、以下代码得编译运行结果就是

public class Test{

public static void main(String[]args){

?int age;

age = age + 1;

System、out、println(“theage is “ + age);

(1)编译通过,运行无输出

(2)编译通过,运行结果为“the ageis1”

(3)?编译通过但运行时出错

(4)不能通过编译

参考答案:(4)为正确选项.Java 在使用变量前应该先初始化.

11、写出下列表达式得运行结果

(1)6+3<2+7 ???(2) 4%2+4*3/2

(3)(1+3)*2+12/3???(4) 8>3&&6==6&&12<4

(5)7+12<4&&12—4<8 (6)23〉>2

参考答案:(1)false;(2)6;(3)12; (4)fale;(5)false;(6)5;

第3章

1.编码验证i++与++i得区别。

参考答案:++i 与i++在单独使用时,就就是i=i+1。而a=++i, 相当于i=i+1;a= i; (先i =i+ 1,再使用i得值),而 a =i++,相当于 a =i; i=i+1;(先使用i 得值,再i =i+ 1)。

2、写出下面表达式得结果

(1)5/3

(2)5/3、0

(3)5%3

(4)5%-3

参考答案:

(1)1

(2)1、66666666

(3)2

(4)2

3、考虑如下得Test、java,并指出错误原因.

程序清单:Test、java

class Test{

publicstaticvoid main(String[]args){

byte b =5;

b =(b–2);

System、out、println(b);

}

参考答案:b=(b-2);错误,在进行b—2时,运算结果类自动提升为int,而b就是byte类型,编译得时候会报错,因为存在高类型数据向低类型数据转化得风险.而byteb=5;就是正确得,因为在编译得时候就能够确定5在byte允许得范围内,虚拟机在编译时做了一定得优化处理.

4、考虑一下对于if……else……语句,还有没有更简洁得写法。

例如:if(x >0 ){

y =x;

} else{

y = -x;

可以简写成什么?

参考答案:y=x>0?x:-x;

5.给定N,编程实现打印N*N得乘法表。

参考答案:

public static voidmain(String[]args)?{

int a =0, b =0,c= 0;

for(int i=0; i<9;i++) {

a=i+1;

for(int j=0;j

b =j+1;

c= a*b;?

System、out、print(a +”*"+ b+ "=" + c + ” ");?}?

System、out、println(" ");

}?

6、将下列语句转换成Java代码:

(1)如果b1为真,打印“one”,否则打印“two"。

(2)如果b1为假并且b2为真,打印“one”,否则打印“two”。

(3)如果b1为假,并且如果b2为真则打印“one”,如果b2为假则打印“two”;

否则打印“three”。

参考答案:(1) if(b1=true){

System、out、print("one”);

}else{

System、out、print("two");

}

(2)if(b1=false &&b2=true) {

System、out、print("one");

}else {

System、out、print(”two”);

}

(3)if(b1=false&& b2 =true){

System、out、print("one”);

}elseif(b1=false&& b2 =false){

System、out、print("two”);

}else{

System、out、print(”three");

}

7、找出如下各项中得语法错误:

(1)

for(intk=0;k<100;k++)

System、out、println(k)

(2)

for(int k=0;k〈100;k++);

System、out、println(k);

(3)

int k=0

while k〈100{

System、out、println(k);k++

};

(4)

intk=0;

do{

System、out、println(k);

k++;

}whilek〈100;

参考答案:

(1)for(intk=0;k<100;k++){

System、out、println(k);

}

(2)for(int k=0;k<100;k++){

System、out、println(k);

(3)int k=0;

while (k〈100 ){

System、out、println(k);

k++;

}

(4)int k=0;

do{

System、out、println(k);

k++;

}while (k〈100);

8.写出三个不同得循环―for、while与do-while循环,打印出从0(包括0)开始直到1000得所有10得倍数。

参考答案:

(1)intn=0;

while(n〈=1000&&n%10==0) {?

System、out、print(n);

?n++;?

}?

(2)

int n=0

do?{

if(n%10==0){

System、out、print(n);

}

n++;

}?while(n<1000);

(3)

for(int n=0;n〈=1000;n++){

if(n%10==0){

system、out、print(n);

9.给定N,编程实现打印行数为N得菱形。

参考答案:

publicstatic void main(String[] args){

Scanner read =new Scanner(System、in);

??intn;

?while (true){

??System、out、println("输入一个整数(>=0)");

??if (read、hasNextInt()){

?n=read、nextInt();

??if (n <0)

?continue;

??break;

??}else {

??read、next();

}

?}

?for(int i= 0; i< n;i++) {

for (int j=1; j < n—i; j++)

?System、out、print(” ");

??for (int j = 0;j<i*2+1;j++)

??System、out、print("*");

?for (intj=1;j< n-i;j++)

?System、out、print("");

??System、out、println();

??}

?for (inti=n—2;i >=0;i--){

??for (int j = 1;j <n-i; j++)

?System、out、print(””);

?for (intj= 0; j <i*2 + 1;j++)

????System、out、print(”*");

?for(int j= 1; j < n-i;j++)

???System、out、print(” ”);

System、out、println();

?}

}

10、写出下面程序得输出结果:

publicclassTestWhile{

public static void main(String[]args){

?inta=0;

???while(++a〈=100)

??if((a%9)==0)

???System、out、print(a+"\t");

?System、out、println();

??}

参考答案:9 18 27 3645 54 63 7281 90 99

第4章

1、比较String与StringBuffer得区别,并说明什么时候适合使用String Buffer。

参考答案:

在Java中,String被完全当成一个对象,一个String对象就是组成这个字符串得字符序列,加上用来操作字符串得方法。字符串一旦被创建,就不能改变它得值.StringBuffer类同样能够表示一串字符。但就是,与String类不同,一个StringBuffer类能够被修改,StringBuffer类维护得就是一个字符缓冲区,在必要时它得长度能够增长与缩短。对任何涉及修改字符串得任务,应该用St ringBuffer代替String。

2、说明==与equals得区别,并举例。

参考答案:

==操作比较得就是两个变量得值就是否相等,对于引用型变量表示得就是两个变量在堆中存储得地址就是否相同,即栈中得内容就是否相同。equals 操作表示得就是两个变量就是否就是对同一个对象得引用,即堆中得内容就是否相同。==比较得就是两个对象得地址,而equals比较得就是两个对象得内容.

3、假定s就是字符串字面值“exercise”,找出下列表达式有语法错误得并改正:?(1)s、charAt(”hello”)

(2)s、indexOf(”er")

?(3)s、substring(5)

(4)s、lastIndexOf(er)

(5)s、length()

参考答案:

其中(1)与(4)表达式有语法错误。(1)charAt(int) 参数就是int 类型得;(4)lastIndexOf()中得参数应该为int或者String,这里得er既不就是int也不就是String.

4、给定一个句子,统计单词中字母得出现次数(字母不区分大小写,全部按照小写计算).

参考答案:参考代码

import java、util、Scanner;

publicclass countChar {

?public static void main(String[]args){

??//输入需要检测得字符串

??System、out、print("Input String :”);

?Scanner str0 =newScanner(System、in);

?String s= str0、next();

??System、out、println("theString is:” + s);

??s=s、toLowerCase();?//将字符串转换为小写

//输入需要统计得字符

?System、out、print(”Input char :");

Scanner str1= new Scanner(System、in);

String s1 = str1、next();

char c = s1、charAt(0);

?System、out、println(”Inputchar is:" + c);

int count= 0; //统计出现次数变量

for (inti =0; i <s、length();i++){

?charch=s、charAt(i);

??if(ch == c) {

???count++;

??}

?System、out、println("The times is :” + count);

?}

}

5、执行Strings = newString(”xyz");这一语句,共创建几个String 对象?

参考答案:两个。"xyz"本身就是一个字符串对象,而new String()也会创造一个字符串对象。

6、对于语句Strings= "hello";下面那个表达式就是合法得?

(1)s +=5;

(2)char c = s[1]

(3)intlen = s、length;

(4)String t=s、toLowCase;

参考答案:(1)为合法得。

7、String与StringBuffer中得哪个方法能改变调用该方法得对象自身得值?

(1)String得charAt()

(2)String得replace()

(3)String得toUpperCase()

(4)StringBuffer得reverse()

参考答案:(4)StringBuffer得reverse()可以改变对象自身得值。

8、假定s就是字符串字面值“exercise”,计算下面每个表达式得值:

?(1)s、charAt(5)

?(2)s、indexOf(”er")

(3)s、substring(5)

(4)s、lastIndexOf(‘e’)

(5)s、length()

参考答案:

(1)i;

(2)2;

(3)ise;

(4)0;

(5)8;

9、写出下面程序得输出结果:

public class StringExample {

public static void main(String[]args){

String str=newString(”abcd”);

Stringstr1= ”abcd";

Stringstr2= new String(”abcd”);

System、out、println(str == str1);

System、out、println(str==str2);

System、out、println(str1 ==str2);

?System、out、println(str、equals(str1));

System、out、println(str、equals(str2));

System、out、println(str1、equals(str2));

System、out、println(str == str、intern());

System、out、println(str1== str1、intern());

System、out、println(str、intern()==str2、intern());

Stringhello= "hello";

String hel="hel";

Stringlo="lo”;

System、out、println(hello ==”hel” +"lo");

System、out、println(hello =="hel" +lo);

}

参考答案:

false

false

false

true

true

true

false

true

true

true

false

10、编写程序,将字符串“aabbcdefg”中每个字符作加2操作,最后结果为“ccddefghi”。

参考答案:参考代码

public class Char{

publicstatic void main(String[] args){

??Strings ="aabbcdefg";

??char[]ch= s、toCharArray();

??for(int i= 0;i < ch、length; i++) {

??ch[i] = (char)(ch[i]+2);

ch、toString();

??System、out、println(ch);

}

第5章

1.编写一个程序,计算出前10个平方数(例如1,4,9,16),并将这10个数保存到一个整型数组中,将数组中得所有元素输出到控制台,验证程序就是否正确。要确保数组有10个元素,并且元素值得范围就是1~100、

参考答案:

publicstaticvoid main(String[] args){

?intb[] =new int[10];

for (int i=1;i < 11; i++){

??b[i]= i*i;

for (int i= 0;i 〈10;i++){

?System、out、println(a[i]);

??}

}

2.声明一个数组,其中得元素为37,47,23,—5,19,56,然后创建一个新数组,将前一个数组得内容复制到后一个数组中.

参考答案:

public static void main(String[]args){

?int a[]= {37,47,23,-5,19,56};

?int b[]= newint[a、length];

??for(int i= 0;i 〈a、length;i++){

?b[i] =a[i];

?}

?for(int j = 0; j< b、length;j++){

?System、out、print(b[j]+” ");

?}

3.从命令行输入5个整数到数组a中,分别输入33、55、22、66及77。求偶数得个数及其与.

参考答案:示例代码:

public staticvoid main(String[]args) {

?int a[]=new int[5];

?int count=0;

??intsum = 0;

??for (int i= 0; i< a、length;i++) {

??System、out、print(”请输入数组中得元素:");

??Scannerread=new Scanner(System、in);

??a[i] = read、nextInt();

??if(i% 2 != 0){

count++;

??sum = sum+ a[i];

??}

??}

?System、out、println("偶数个数就是:”+count);

??System、out、println(”偶数得与就是:"+sum);

?}

4、从命令行输入一个字符串“JavaServlet",将每个字符存入a数组。

(1)大写字母有几个?分别就是那几个?

(2)小写字母有几个?分别就是那几个?

(3)将小写字母转换成大写字母,大写字母转换成小写字母。

参考答案:

public static void main(String[] args){

if(args[0]!= ""){

?String inputString=args[0];

?int countLower=0;

int countUpper= 0;

?String strLower= "";

??String strUpper= "”;

for(int i= 0;i 〈inputString、length();i++){

??char c = inputString、charAt(i);

?if (Character、isUpperCase(c)){

??countUpper++;

???strUpper +=c+ "”;

}else if(Character、isLowerCase(c)){

?countLower++;

???strLower+= c+ " ";

??}

??System、out、println(”大写字母有"+countUpper +"个,分别就是:" + strUpper);

System、out、println("小写字母有" + countUpper +”个,分别就是:” + strLower);

}

}

5、阅读下面代码:

int[]ages=new int[10];

System、out、println(ages[9]);

下面关于上面两行代码得说法哪一个正确得?

(1)编译时发生错误

(2)编译通过,运行时发生错误,因为局部变量在没有初始化情况下,不能使用(3)编译通过,执行之后向控制台输出结果为0

(4)编译通过,执行时提示发生数组越界得错误

参考答案:(3)为正确选项。

6、阅读下面代码:

publicclass AClass {

?public static voidmain(String[] args){

?String[]msg ={"one",”two”,"three",”four"};

if(args、length==0){

System、out、println("No arguments”);

}else {

System、out、println(msg[args、length]+" arguments");

下面哪个选项得说法就是正确得?

(1)该代码无法编译通过

(2)不带任何参数运行该程序时,会抛出NullPointerException异常

(3)分别带0个参数、3个参数运行该程序时,会打印No arguments与two arguments

(4)分别带0个参数、3个参数运行该程序时,会打印Noarguments与four arguments

参考答案:(4)为正确选项。

6.从命令行输入八个参数,并以气泡法排序后保存在a数组中,然后再输入一个查找键值Key,按顺序查找判断该键值就是否存在与a数组中。

参考答案:参考代码:

public static void main(String[]args){

?int i, j,t,temp;

int array[]= new int[8];

System、out、println(”输入8个整数:");/* 输入8个整数*/

?for (i =0;i 〈array、length; i++) {

??System、out、print("请输入:”);

??Scannerread = new Scanner(System、in);

??array[i]=read、nextInt();

?/*冒泡排序*/

?for (i =0; i< array、length;i++){

??for (j= array、length —1;j >i;j—-)

?if (array[j] >array[j — 1]){

??t= array[j];

???array[j]= array[j-1];

??array[j -1] =t;

???}

?}

?/*输出排序后得数组元素*/

?for(i =0;i<array、length;i++){

??System、out、print(array[i] +" ”);

?}

System、out、println(”输入一个整数作为键值Key:”);

??Scannerread = new Scanner(System、in);

?temp=read、nextInt();

for(i =0;i <array、length &&temp<=array[i];i++) /*在排序后得数组中查找*/

??{

if (temp ==array[i]){

???System、out、printf("array[%d]就是您所找得数、\n",i); /*在数组中有可能有相等得元素*/

??} else if (temp !=array[i—1]) {

?System、out、printf("数组中没有您想找得数、");/*数组中没有所输入得数*/

}

??}

?}

8、现有一个长度为49得整型数组a[49],不重复得将1-50之中49个数依次赋值给该数组,编写程序找出没有放进该数组得就是哪个数?

参考答案:

public static int findNum(int a[]){

?int numFound =0;

Arrays、sort(a);

?System、out、println(Arrays、toString(a));

??for (int i= 0;i <50;i++){

?if(a[i] !=(i + 1)){

????numFound=i+1;

??break;

???}

??}

??return numFound;

第6章

1、指出下面声明中得语法错误(如果有)。记住,域声明得某些部分就是可选得.

(1)public booleanisEven;

(2)private boolean isEven;

(3)private boolean is Odd;

(4)public boolean isOdd;

(5)string S;

(6)private boolean even =0;

(7)private String s= helloWorld;

参考答案:

(3)与(4)均存在变量名命名错误;

(5)string并不就是一个类型,应为String.

(6)布尔类型变量得值应该为“true"或者“false”,不应该为整型.

(7)helloWorld不就是一个字符串,必须用双引号,如:”helloWorld"。

2、写出下列实例变量得声明:

(1)名为bool得私有boolean型变量,初始值为真。

(2)名为str得公共string型变量,初始值为“hello”。

(3)名为nEmployees得私有int型变量,没有初始值。

参考答案:

(1)privateBooleanbool=true;

(2)public String str = “hello”;

(3)privateintnEmployees;

3、创建如下类:

Circle类(圆形),Square类(正方形)与Point类(点)。Point根据

(x,y)坐标定位。Cricle除了一个(x,y)坐标之外,还有半径属性。正方形除了一个(x,y)坐标之外,还有边长。请问这些类中那些就是超类,那些就是子类?

参考答案:

Point类(点)为超类,而Circle类(圆形)与Square类(正方形)为子类。

4、关键字组合问题:

(1)abstract方法能否就是final类型得?

(2)abstract方法能否就是static类型得?

(3)能否定义一个私有静态(private static)方法?

参考答案:

(1)abstract不能用final 修饰符修饰;

(2)abstract方法不能就是static类型得;

(3)不能定义一个私有静态方法.

5、阅读下面代码:

1、?public class Test{

2、void test(short s){

3、?System、out、println("Iam an int");

4、?}

5、?void test(byte b){

6、?System、out、println("I am a string");

7、}

8、?

9、?public staticvoid main(String args[]){

10、?Test t=newTest();

11、char ch=’y’;

12、t、test(ch);

13、?}

14、?}

下面对于上述代码得描述哪个就是正确得?

(1)第5行无法编译,因为void方法不能被重载(overridden)

(2)第12行无法编译,因为没有定义可以接受char类型参数得方法

(3)代码可以编译,但执行时在12行会抛出异常

(4)代码可以编译,并且执行之后得输出结果为:Iam an int

参考答案:(2)为正确参考答案。

6、阅读下面代码,请确定a、b、c、d中得哪一个说法就是正确得?

?classA{

??int value1;

?}

?classBextends A {

?int value2;

}

(2)类A扩展了类B

(2)类B就是类A得父类

(3)类B就是类A得子类

(4)类A得对象实例中,存在一个名字为value2得成员变量

参考答案:(3)为正确参考答案。

7、在如下源代码文件Test、java中,哪个就是正确得类定义?

(1)publicclass test{

public int x=0;

publictest(int x){

this、x =x;

}

}

(2)public class Test{

public intx=0;

public Test(intx){

this、x= x;

}

(3)publicclass Testextends T1, T2 {

public int x= 0;

publicTest (int x){

this、x =x;

}

(4)protected class Test extends T2{

publicint x=0;

public Test(int x){

this、x=x;

}

参考答案:(2)为正确参考答案。

8、描述静态代码块、非静态代码块与构造函数得执行顺序.

参考答案:(静态代码块→非静态代码块→构造方法).

9、请用代码实现一个计算方法calc(),该方法接受两个参数,返回值为两个参数得与,并且返回值类型与传入得参数类型一致,例如:calc(3,5)返回8,calc(3、0,5、3)返回8、3.

参考答案:

(这里不考虑类型判断与溢出等问题,使用方法重载或者泛型实现)

?(1)publicint calc(intnum1,int num2){

?return num1+num2;

}

publicdoublecalc(double num1,doublenum2){

?return num1+num2;

(2)public T calc(T num1, T num2){

return num1+num2;

}

10、简述Java中this与super得用法。

参考答案:

在Java中有两个非常特殊得变量:this与super,这两个变量在使用前都就是不需要声明得。this变量使用在成员函数得内部,指向当前对象。super变量直接指向超类得构造函数,用来引用超类中得变量与方法.this指代当前类得构造方法,super指代父类得构造方法.

第7章

1、"abcd"instanceof Object 得返回结果就是:

(1)"abcd"

(2)true

(3)false

(4)String

参考答案:(2)为正确项。

2、阅读下面代码:

public classFoo {

public static void main (String[] args){

int i= 0;

addTow(i++);

System、out、println(i);

}

static void addTow(inti){

i+= 2;

上述代码得执行结果就是:

(1)0 ???

(2)1

(3)2???

(4)3

参考答案:(2)为正确项.

3、阅读下面代码

public class ThisUse {

int plane;

staticint car;

public voiddoSomething() {

inti;

//插入语句

下面哪个选项中得内容不能添加到//插入语句处(添加后导致编译错误)

(1)i=this、plane;???

(2)i=this、car;

(3)this、car=plane;???

(4)this、i=4;

参考答案:(4)不能添加到//插入语句处。

4、下列选项中哪一个说法就是错误得?

(1)实例方法可以直接访问静态变量与静态方法

(2)静态方法可以直接访问静态变量与静态方法

(3)静态方法可以直接访问实例变量与实例方法

(4)静态方法中不能使用this与super

参考答案:(3)选项说法就是错误.

5、关于静态变量得创建,哪一个选项得说法就是正确得?

(1)一旦一个静态变量被分配,它就不允许改变

(2)一个静态变量在一个方法中被创建,它在被调用得时候值保持不变

(3)通常情况下、在任意多个类得实例中,一个静态变量得实例只存在一个(4)一个静态标识符只能被应用于原始类型变量

参考答案:(3)正确选项.

6、下列哪一种叙述就是正确得?

(1)abstract修饰符可修饰字段、方法与类

(2)抽象方法得body部分必须用一对大括号{}包住

(3)声明抽象方法,大括号可有可无

(4)声明抽象方法不可写出大括号

参考答案:(4)为正确项。解析:抽象方法得定义:只有方法得声明,没有方法得实现,即没有方法体。

7、阅读下面代码:

1:interfaceFoo{

2:?intk =0;

3:}

4:

5: public classTest implements Foo{

6:?public staticvoidmain(Stringargs[]){

7:int i;

8: Test test = newTest();

9:??i=test、k;

10: i=Test、k;

11:??i= Foo、k;

12:?}

13:}

下面关于执行结果得说法哪一个就是正确得?

(1)第2行编译失败???

(2)第9行编译失败

(3)第10行编译失败??

(4)编译成功

参考答案:(4)为正确项。

8、阅读下面代码:

classA{

void test1(){

hi();

}

private void hi(){

System、out、println(”sayhi,a");

}

class AAextends A{

void hi(){

System、out、println("say hi,aa");

}

publicclasstest{

publicstatic void main(String b[]) throwsException{

A a = new AA();

a、test1();

}

下面关于上述代码得说法哪一个就是正确得?

(1)编译失败?????

(2)编译通过,执行结果就是:say hi,a

(3)编译通过,执行结果就是:sayhi,aa?

(4)编译通过,运行时发生错误

参考答案:(2)为正确项。

10.简述Java中有几种内部类?(根据自己得理解,简答即可)

参考答案:

(1)静态嵌套类:就是个封闭式顶层类或接口得static(静态)成员。这样得类在Java中作为顶层类。

(2)成员内部类:就是一种非静态内部类,它不就是顶层类。作为包含它得类得全部成员,成员类可以访问包含它得类得属性与方法,甚至private修饰得变量与方法.正如类得其她实例变量与方法一样,一个成员内部类得所有实例都与包含它得类得一个实例相关。

(3)方法与作用域中得内部类(局部类):就是一个内部类,定义在一个Java 代码块内,比如说定义在一个方法或循环主体内.局部类具有局部作用域,仅使用在定义它得代码块内。局部类可以访问包含它得类得方法与变量.

(4)匿名内部类:就是一种其定义与使用被组合到单一表达式中得方法与作用域中得内部类.其定义与使用都在一个表达式中完成,而不就是在一条语句中定义,在另一条语句中使用。匿名内部类只使用一次,故不包含构造方法.

11.Java中包装类得作用就是什么?

参考答案:在Java中不能定义基本类型得类,为了能将基本类型视为对象来处理,并能操作相关得方法,Java为每个基本类型都提供了包装类。这样,便可以把这些基本类型转化为对象来处理了.

12.Java中final修饰得类、方法、变量各有什么特点?

参考答案:

(1)final类

final类不能被继承,因此final类得成员方法没有机会被覆盖,默认都就是final得。在设计类时候,如果这个类不需要有子类,类得实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。

(2)final方法

如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。

使用final方法得原因有二:?第一、把方法锁定,防止任何继承类修改它得意义与实现.

第二、高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率.

(3)final变量(常量)

用final修饰得成员变量表示常量,值一旦给定就无法改变!

final修饰得变量有三种:静态变量、实例变量与局部变量,分别表示三种类型得常量。

13.简述Java中反射得作用。

参考答案:Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属得类;在运行时构造任意一个类得对象;在运行时判断任意一个类所具有得成员变量与方法;在运行时调用任意一个对象得方法;生成动态代理。

14.简述Java接口得特点,与抽象类得区别。

参考答案:

接口得特点:

(1)所有属性都就是用public、static、final修饰。

(2)所有方法都就是用public修饰,方法没有方法体。

(3)不允许有静态方法.

(4)接口可以继承多个接口.

与抽象类得区别:

(1)抽象类中可以有普通成员变量,接口中没有普通成员变量.

(2)抽象类有非抽象得方法与构造方法,并且修饰符可以就是私有得,接口只能就是抽象得方法,并且修饰符就是public。

(3)抽象类中可以包含静态方法,接口中不能包含静态方法.

(4)类只能继承一个抽象类,但能实现多个接口。

15.Java中instanceof关键字得作用就是什么?

参考答案:instanceof就是Java中得一个二元操作符,也就是Java中得保留关键字。它得作用就是测试它左边得对象就是否就是它右边类得实例,返回boolea n类型得值.

15、阅读下面得代码

class A{

public static voidprt(){

System、out、println("1");

}

public A(){

System、out、println("A");

}

publicclass Bextends A{

publicstatic void prt() {

System、out、println(”2”);

}

public B(){

System、out、println("B”);

?}

public staticvoid main(String[] args){

A a=new B();

a= new A();

}

?请写出输出结果。

参考答案:

A

第8章

1.下面哪个类就是异常类得基类?

(1)String ??????

(2)Error

(3)Throwable???????

(4)RuntimeException

参考答案:(3)为正确选项。Java把异常当作对象来处理,并定义一个基类java、lang、Throwable作为所有异常得超类,因此Throwable在异常类层次结构得顶层。在Java API中已经定义了许多异常类,这些异常类分为两大类归属于Throwable:错误(Error)与异常(Exception)。

2、下面哪个选项中得异常类不就是运行时异常?

(1)NullPointerException

(2)ClassCastException

(3)ArrayIndexOutOfBoundsException

(4)SQLException

参考答案:(4)不就是运行时异常。

3、阅读下面代码:

try {

int x = 0;

inty= 5 / x;

}catch(Exception e){

System、out、println (”Exception");

}catch (ArithmeticException ae){

System、out、println ("ArithmeticException");

}

《JAVA程序设计》试卷含答案

《JAVA 程序设计》试卷 《JAVA 程序设计》试卷 第1页,共6页 第2页,共6页 Java 程序设计 一、 填空题(要求将答案写在空白处,共11道小题,每空1分,共20分) 1、Java 的三大体系分别是______、______、______。 2、Java 程序的运行环境简称之为______。 3、Java 中的程序代码都必须在一个类中定义,类使用______关键字来定义。 4、布尔常量即布尔类型的两个值,分别是______和______。 5、在Java 中,byte 类型数据占______个字节,short 类型数据占______个字节,int 类型数据占______个字节,long 类型数据占______个字节。 6、若x = 2,则表达式 ( x + + )/3 的值是______。 7、若int a =2; a+=3;执行后,变量a 的值为______。 8、若int []a={12,45,34,46,23}; ,则a[2]= ______。 9、若int a[3][2]={{1,1},{2,2},{3,3}},则a[2][1]= ______。 10、 面向对象的三大特征是______、______和______。 11、 定义在类中的变量被称为______,定义在方法中的变量被称为______ 二、 选择题(将正确答案写在括号内,注意没有在题目中特别说明的均为单选题, 共10题,每题2分,共20分) 1、以下选项中,哪个用来编译源程序 A 、Javadoc B 、Java 运行工具 C 、Java 编译器 D 、Java 打包工具 2、Java 属于以下哪种语言? A 、机器语言 B 、 汇编语言 C 、高级语言 D 、以上都不对 3、下面哪种类型的文件可以在Java 虚拟机中运行? A 、.java B 、.jre C 、class D 、.exe 4、以下选项中,switch 语句判断条件可以接收的数据类型有哪些? (多选) A 、int B 、byte C 、char D 、short 5、假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个? A 、0 B 、2 C 、3 D 、5 6、下面的运算符中,用于执行除法运算是哪个? A 、% B 、\ C 、/ D 、* 7、下列语句哪些属于循环语句?(多选) A 、for 语句 B 、if 语句 C 、while 语句 D 、switch 语句 8、下面哪种写法可以实现访问数组arr 的第1个元素? A 、arr[0] B 、arr(0) C 、arr[1] D 、arr(1) 9、以下哪个选项可以正确创建一个长度为3的一维数组? A 、 new int [2]; B 、 new int[3][]; C 、 new int[3]; D 、 以上答案皆不对 10、请先阅读下面的代码。 int x = 1; int y = 2; if (x % 2 == 0) { y++; } else { y--; } System.out.println("y=" + y); 上面一段程序运行结束时,变量y 的值为下列哪一项? A 、3 B 、2 C 、1 D 、switch 语句 三、程序阅读题(要求将分析结果写在答题纸上,共4道小题,每题5分,共20分) 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原因。 代码一: public class Test01 {

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

Java程序设计期末考试试题

Java程序设计期末考试试题、试卷、习题A卷 一、选择题。本题共20小题,每题2分,满分40 分。 1、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行……… () A)init() B)start() C)destroy() D)stop() 2、有以下方法的定义,请选择该方法的返回类型() ReturnType method(byte x, double y) { return (short)x/y*2; } A)byte B)short C)int D)double 3、以下哪项可能包含菜单条()。 A)Panel B)Frame C)Applet D)Dialog 4、Java application中的主类需包含main方法,main方法的返回类型是什么?()A)int B)float C)double D)void 5、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A)String args B)String ar[] C)Char arg D)StringBuffer args[] 6、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A). java B) .class C) . html D) .exe 7、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( )。 A)3 B)3. 5 C)4 D)5 8、不允许作为类及类成员的访问控制符的是( )。 A)public B)private C)static D)protected 9、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A)static void method( ) B)public void method( ) C)final void method( ) D)abstract void method( ) 10、以下哪一个不是JAVA的标准数据流( )。 A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流 11.设有下面两个赋值语句:( ) a = Integer.parseInt(“123”); b = Integer.valueOf(“123”).intValue(); 下述说法正确的是()。 A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。 12、下列代表十六进制整数的是( ) A)0123 B)1900 C)fa00 D)0xa2

《JAVA语言程序设计》期末考试试题及答案(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.wendangku.net/doc/1014217897.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

JAVA程序设计试卷一

浙江工商大学2006/2007学年第一学期考试试卷课程名称:Java程序设计考试方式:闭卷完成时限:120分钟班级名称:学号:姓名:题号一二三四五六七八九十总分分值 得分 阅卷人 一、选择题(每题2分,共30分) 1、Java程序的执行过程中用到一套JDK工具,其中java.exe是指B。 A.Java文档生成器 B.Java解释器 C.Java编译器 D.Java类分解器 2、Java语言中,下列标识符错误的是D。 A.—sys1 B.&—m C.I D.40name 3、下列语句执行后,变量a、c的值分别是B。 int x=182; int a,c; c=x/100; a=x%10; A)1,2B)2,1C) 1.82,2D)100,82 4、应用程序的main方法中有以下语句,则输出的结果是A。 String s1="0.5",s2="12"; double x=Double.parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y); A)12.5B)120.5C)12D)“12.5” 5、下列程序段执行后的结果是A。 String s=new String("abcdefg");

for(int i=0;i

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

计算机程序设计基础习题册含答案

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

程序设计基础试题_03_答案.doc

学院领导 审批并签名 A / B卷 广州大学 学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名 分数 评分 一:选择题(每题3分,共60分) (1)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为(A)

A) double B) float C) int D) char (2)设a=1,b=2,c=3,d=4,则表达式:a=10 or a<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可 作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6 C) i--; D) y=int(x); (8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输 入值: scanf(i=%d,f=%f,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12 B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12 (9)给出以下定义: char x[ ]=abcdefg;

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

程序设计基础试题(附答案)

程序设计基础复习题 一、单选 1、一个完整的计算机系统应该包括() A、系统软件和应用软件 B、计算机及其外部设备 C、硬件系统和软件系统 D、系统硬件和系统软件 2、“裸机”的概念是指() A、正在进行设计还没有组装好的计算机 B、已经组装好但还没有安装任何软件的计算机 C、仅安装了操作系统的计算机系统 D、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是() A、1936年 B、1946年 C、1956年 D、1970年 4、CASE的含义是() A、计算机辅助设计 B、计算机辅助制造 C、计算机辅助教学 D、计算机辅助软件工程5、当前广泛使用的微型计算机是() A、第一代 B、第二代 C、第三代 D、第四代 6、当代计算机的体系结构称为是() A、冯·诺依曼机 B、非冯·诺依曼机 C、图灵机 D、比尔盖茨机 7、硬盘是() A、输入设备 B、输出设备 C、存储设备 D、计算设备 8、下面4句话中,最准确的表述是() A、程序=算法+数据结构 B、程序是使用编程语言实现算法 C、程序的开发方法决定算法设计 D、算法是程序设计中最关键的因素

9、计算机能直接执行的语言是() A、机器语言 B、汇编语言 C、高级语言 D、目标语言 10、解释程序的功能是() A、将高级语言程序转换为目标程序 B、将汇编语言程序转换为目标程序 C、解释执行高级语言程序 D、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是() A、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

(完整版)程序设计基础试题_10_答案

广州大学学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查) 学院系专业班级学号姓名 一、填空题(每空1分,共10分) 1.C源程序的基本单位是(函数)。 2.一个C源程序中至少应包含一个(main()函数)。 3.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为(10 ),b的值为( 6 )。 4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,b值为( 4 ),c 值为( 2 )。 5.表达式8.2-2/3 的计算结果是(8 )。 6.在C语言中,整数可用三种数制表示,它们分别是(十进制)、(八进制)和(十六进制)。 二、程序计算题(每小题5分,共15分) 1. # define f(a) printf(“%d”,a) main() { int i,b[]={1,2,3,5,7,9,11,13,15},*p=5+b; for(i=3;i;i--) switch(i) { case 1: case 2: f(*p++); break;

case 3: f(*(--p)); } } 2. main() { int arr_sum(int arr[],int n); int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p,total; int (*pt)( int arr[],int n); pt=arr_sum; p=a[0]; total=(*pt)(p,12); printf(“total=%d\n”,total); } arr_sum(int arr[],int n) { int i,sum=0; for(i=0;i

相关文档
相关文档 最新文档