目录
第 3 章 Java程序设计基础
一.单项选择题
二、填空题
三. 简答题
四.程序阅读题
五.程序设计题
一.单项选择题
1.下列java标识符,错误的是()
A. _sys_varl B. $change C. User_name D. 1_file
2.下列不属于简单数据类型的是()
A.整数类型 B.类 C.符点数类型 D.布尔类型
3.下列属于JAVA关键词的是()
A.TRUE B.goto C.float D.NULL
4.下列声明和赋值语句错误的是
A.double w=3.1415;
B.String strl=”bye”;
C.float z=6.74567
D.boolean truth=true;
5.java中,八进制数以______开头。
A.0x B.0 C.0X D.08
6.自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为()
A.char-int-long-float-double
B.int-long-float-double-char
C.long-float-int-double-char
D.以上都不对
7.在java中,Integer.MAX_VALUE表示
A.浮点类型最大值
B.整数类型最大值
C.长整型最大值
D.以上说法都不对
8.JAVA中,数据类型值中不可能出现的符号是()
A.d B.f C.e Dhttps://blog.51cto.com/u_/
9.下列表示单引号的是()
A.‘ B.\’ C.\\’ D.‘\
10. 下列语句片断中,four得值为:()
int three=3;
char one=‘1’
char four=(char)(three+one);
A.3 B.1 C.31 D.4
11. 下列不属于整型变量的类型是
A.byte B.short C.float D.long
12. int类型整型变量在内存中的位数为
A.8 B.16 C.32 D.64
13. 下列数据类型转换,必须进行强制类型转换的是
A.byte→int B.short→long
C.float→double D.int→char
14. java中,用()关键字定义常量
A.final B.#define C.float D.const
15. 关于变量的作用范围,下列说法错误的是
A.异常处理参数作用域为整个类
B.局部变量作用于声明该变量的方法代码段
C.类变量作用于声明该变量的类
D.方法参数作用于传递到方法内代码段
16. 下列属于条件运算符的是
A.+ B.?: C.&& D.>>
17. 下列程序test类中的变量c的最后结果为
public class test
{
public static void main(String args[])
{
int a=10;
int b;
int c;
if(a>50)
{
b=9;
}
c=b+a;
}
}
A.10 B.0 C.19 D.编译出错
18. 下列程序片断的执行,说法正确的是
public class test
{
public static void main(String args[])
{
byte b=100;
int i=b;
int a=2000;
b=a;
System.out.printlnB.;
}
}
A.b的值为100 B.b的值为2000 C.第六行出错 D.第八行出错
19. 00(&)00010111语句的执行结果为
A.00000010 B. C.00 D.
20. 已知i为整形变量,关于一元运算++i和i++,下列说法正确的是
A. ++i运算将出错
B.在任何情况下运行程序结果都一样
C.在任何情况下运行程序结果都不一样
D.在任何情况下变量i的值都增1
21. 在java中语句:37.2%10的运算结果为
A. 7.2 B. 7 C. 3 D. 0.2
22.在java语句中,运算符&&实现
A. 逻辑或 B. 逻辑与 C. 逻辑非 D. 逻辑相等
23.在java语句中,位运算操作数只能为整型或()数据
A. 实型 B. 字符型 C. 布尔型 D. 字符串型
24.00(|)00010111语句的执行结果为
A. 00000000 B. C. 00 D.
25.~0010101语句的执行结果为
A. B.0010101 C. D.00000000
26.复合语句用()括起来的一段代码。
A.小括号() B.大括号{} C.中括号〔〕 D.单引号‘’
27.下列不属于条件语句关键字的是
A.if B.else C.swich D.while
28.多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值
A.整型 B.实型 C.接口型 D.字符型
29.下面不属于java条件分支语句结构的是
A.if结构 B.if-else结构
C.if-else if结构 D.if-else else机构
30.下列方法method()执行,返回值为
int method(){
int num=10;
if (num>20)
return num;
num=30;
}
A.10 B.20 C.30 D.编译出错
31.三元条件运算符ex1?ex2:ex3,相当于下面()语句。
A.if(ex1) ex2;else ex3;
B.if(ex2) ex1;else ex3;
C.if(ex1) ex3;else ex2;
D.if(ex3) ex2;else ex1;
32.java用()来实现goto语句所特有的一些功能。
A.break B.default C.continue D.return
33.一个循环一般应包括哪几部分内容
A.初始化部分 B.循环体部分
C.迭代部分和终止部分 D.以上都是
34.关于while和do-while循环,下列说法正确的是
A.两种循环除了格式不通外,功能完全相同
B.与do-while语句不通的是,while语句的循环至少执行一次
C.do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D.以上都不对。
35. 下列程序输出结果为:
public class test
{
public static void main(String args[])
{
int a=0;
outer: for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
if(j>i)
{
continue outer;
}
a++;
}
}
System.out.printlnA.;
}
}
A.0 B.2 C.3 D.4
36.下列数组定义及赋值,错误的是
A. int intArray[];
B. intArray=new int[3];
intArray[1]=1;
intArray[2]=2;
intArray[3]=3;
C. int a[]={1,2,3,4,5};
D. int[][]=new int[2][];
a[0]=new int[3];
a[1]=new int[3];
37.在java中,字符串由java.lang.String和()定义
A. java.lang.StringChar
B. java.lang.StringBuffer
C. java.io.StringChar
D. java.io.StringBuffer
38. 请说出下列代码的执行结果 :
String s = "abcd";
String s1 = new String(s);
if (s = = s1) System.out.println("the same");
if (s.equals(s1)) System.out.println("equals");
A. the same equals B. equals
C. the same D. 什么结果都不输出
39.以下哪个不是Java的原始数据类型( )
A.int B.Boolean C.float D.char
40.给出下面代码,关于该程序以下哪个说法是正确的?( )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{
System.out.println(arr[0]); }
}
A.编译时将产生错误 B.编译时正确,运行时将产生错误
C.输出零 D.输出空
41.以下代码段执行后的输出结果为( )
int x=-3; int y=-10;
System.out.println(y%x);
A. -1 B.2 C.1 D.3
42.以下哪个不是Java的原始数据类型( )
A.int B.Boolean C.float D.char
43. 如下哪个是Java中的标识符( )
A.fieldname B.super C.3number D.#number
44. JAVA基础程序填空 设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。
A. 3 B. 3. 5 C. 4 D. 5
45. 下面的代码段执行之后count的值是什么( )
int count = 1;
for (int i = 1; i <= 5; i++) {
count += i;
}
System.out.println(count);
A.5 B.1 C.15 D.16
46. 设有下面两个赋值语句:
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述说法正确的是( )。
A.a是整数类型变量,b是整数类对象。
B.a是整数类对象,b是整数类型变量。
C.a和b都是整数类对象并且值相等。
D.a和b都是整数类型变量并且值相等。
47.类Parent、Child定义如下:
1. public class Parent
2.{ public float aFun(float a, float B. throws
3. IOException { }
4.}
5.public class Child extends Parent{
6.
7.}
将以下哪种方法插入行6是不合法的。( )
A.float aFun(float a, float b){ }
B.public int aFun(int a, int b)throws Exception{ }
C.public float aFun(float p, float q){ }
D.public int aFun(int a, int b)throws IOException{ }
48.有以下方法的定义,请选择该方法的返回类型( )。
ReturnType method(byte x, double y)
{
return (short) x/y*2;
}
A.byte B.short C.int D.double
49.关于以下代码段的说法正确的是( )
1.String s="abcde";
2.StringBuffer s1=new StringBuffer("abcde");
3.if(s.equals(s1))
4. s1=null;
5.if(s1.equals(s))
6. s=null;
A.第1行编译错误,String的构造器必须明确调用
B.第3行编译错误,因为s与s1有不同的类型
C.编译成功,但执行时在第5行有异常抛出
D.编译成功,过程中也没有异常抛出
50.关于选择结构下列哪个说法正确? ( )
A.if语句和 else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
51.while循环和 do…while循环的区别是: ( )
A.没有区别,这两个结构任何情况下效果一样
B.while循环比 do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do…while循环是先循环后判断,所以循环体至少被执行一次
52.关于 for循环和 while循环的说法哪个正确? ( )
A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
53. 下列代码的执行结果是什么?
String s1 = "aaa";
s1.concat("bbb");
System.out.println(s1);
A. The string "aaa". B. The string "aaabbb".
C. The string "bbbaaa". D. The string "bbb".
54.已知如下定义:String s = "story"; 下面哪个语句不是合法的( )
A.s += "books"; B.s = s + 100;
C.int len = s.length; D.String t = s + “abc”;
55.如下哪个是Java中有效的关键字()
A.name B.hello C.false D.good
56.下列程序段执行后的结果是( )。
String s = new String("abcdefg");
for (int i=0; i<s.length(); i+=2){
System.out.print(s.charAt(i));
}
A. aceg B.ACEG C.abcdefg D.abcd
57.有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).
A. 2 7 8 12 35 B.12 35 8 7 2
C.35 12 8 7 2 D.8 7 12 35 2
58.应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s1=new String("abc");
String s2=new String("abc");
boolean b1=s1.equals(s2);
boolean b2=(s1==s2);
System.out.print(b1+" "+b2);
A.true false B.false true C.true true D)false false
59.应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s="12345#aaa#bbb#67890";
int n=s.indexOf("#");
int k=s.indexOf("#",n+1);
int m=s.indexOf("#",k+1);
String s2=s.substring(m+1);
System.out.println(s2);
A. B.67890 C.aaa D.bbb
60.下面程序段执行后b的值是( )。
Integer integ =new Integer(9);
boolean b = integ instanceof Object;
A. 9 B.true C.1 D.false
61.应用程序Test.java的源程序如下,在命令行键入:
java Test aaa bb c
回车后输出的结果是 ( )。
public class Test {
public static void main(String args[]) {
int k1=args.length;
int k2=args[1].length();
System.out.print(k1+" "+k2);
}
}
A. 3 2 B. 1 2 C.1 3 D.3 3
62.应用程序的main方法中有以下语句,则输出的结果是 ( )。
int b[][]={{1}, {2,2}, {2,2,2}};
int sum=0;
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
sum*=b[i][j];
}
}
System.out.println("sum="+sum);
A. 32 B)11 C.2 D.3
63.应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。
int[] x={125,21,5,168,98};
int max=x[0];
for(int i=1;i<x.length;i++){
if(x[i]> max)
max =x[i];
}
System.out.println(max);
A. 125 B.5 C.98 D.168
64.程序Test.java编译运行后输出的结果是( )。
public class Test {
String s1="java";
public static void main(String args[]) {
int z=2;
Test t=new Test();
System.out.println(t.s1+z);
}
}
A. java2 B.2 C.没有输出结果 D.java
65.应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s1="0.5", s2="12";
double x=Double.parseDouble(s1);
int y=Integer.parseInt(s2);
System.out.println(x+y);
A. 12.5 B.120.5 C.12 D.“12.5”
66.应用程序的main方法中有以下语句,则输出的结果是 ( )。
String s = "xxxxxxxxxxxxxxx#123#456#zzzzz";
int n = s.indexOf("#");
int k = s.indexOf("#", n+1);
String s2 = s.substring(n+1, k);
System.out.println(s2);
A. B.123 C.xxxxxxxxxxxxxxx D.zzzzz
67.关于下面的程序Test.java说法正确的是( )。
public class Test {
String x="1";
int y;
public static void main(String args[]) {
int z=2;
System.out.println(x+y+z);
}
}
A.3 B.102 C.12 D.程序有编译错误
68.应用程序的main方法中有以下语句,则输出的结果是 ( )。
int b[][]={{1, 1, 1}, {2,2}, {3}};
int sum=0;
for(int i=0; i<b.length; i++) {
for(int j=0; j<b[i].length; j++) {
sum+=b[i][j];
}
}
System.out.println("sum="+sum);
A. 10 B.6 C.9 D.13
69.应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。
int[] x = {125,21,5,168,98};
int min = x[0];
for (int i=1; i<x.length; i++){
if(x[i] < min)
min = x[i];
}
System.out.println(min);
A. 125 B.5 C.98 D.168
70. 设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。
A. a[0]; B. a[a.length-1]; C. a[3]; D. int i=1; a[i];
二、填空题
1. 在java语言中,boolean型常量只有true和_____两个值。
2. 标识符是以_____、下划线、美元符号作为首字母的字符串序列。
3. 下面的语句是声明一个变量并赋值:
boolean b1=5!=8;
b1的值是______。
4. 在java程序中,用关键字_____修饰的常量对象创建后就不能再修改了。
5. 数据类型包括简单数据类型和复合数据类型。复合数据类型又包括类、数组、______。
6. 八进制整数012表示十进制的_______。
7. 浮点型数据属于实型数据,分为float和______两种类型。
8. 类变量在类中声明,而不是在类的某个方法中声明,它的作用域是______.
9. java语言中的各种数据类型之间提供自动转换,如第1操作数是byte类型,第2操作数是float类型,其结果是_____类型。
10. 在java语言中,如果数值后没有字母,计算机默认值为______类型。
11. 下面程序分别用while、do-while 和for语句实现1~10累计求和。请在横线处填入适当内容完成程序。
Public class Sum
{
public static void main(String args[])
{
System.out.println(“\n*while循环*”);
int n=10,sum=0;
while(_______)
{
sum+=n;
n--;
}
System.out.println(“sum is”+sum);
System.out.println(“\ndo_while循环”);
n=0;
sum=0;
do
{
sum+=n;
n++;
}
while(_______);
System.out.println(“sum is”+sum);
System.out.println(“\nfor循环”);
sum=0;
for(int I=1;_______i++)
{
sum+=I
}
System.out.println(“sum is”+sum);
}
}
定义double型数组
double d1[]={1.2,2.3,3.4,4.5,5.6}
则d1[2]=_______
数组是有序数据的集合,数组中的每个元素具有相同的________
12.下列程序输出结果为_______
public class test
{
public static void main(String args[])
{
String s=”I am a string!”;
Int n=s.length();
Char c=s.charAt(7);
System.out.println(n);
System.out.printlnC.;
}
}
13.Java中用于定义小数的关键字有两个: 和 ,后者精度高于前者。
14. Java中用于两个数相等比较的运算符是: ,用于不相等比较的运算符是 。
15. 在Java中定义一个字符串类型的变量str的语句是: ,定义一个具有10个元素的整型数组a的语句是: 。
16. 导入mypackage包中的所类的命令是 。
17. 当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是 ,数组名是 ,数组的大小为 ,数组元素下标的使用范围是 。
18. 假设x=13,y=4,则表达式x%y != 0的值是 ,其数据类型是
19. 以下程序段的输出结果是
int x = 5, y = 6, z = 4;
if (x + y > z && x + z > y && z + y > x)
System.out.println("三角形");
else
System.out.println("不是三角形");
20. 下面程序段的执行结果是
int a[] = { 2, 3, 4, 5, 6 };
for (int i = a.length - 1; i >= 0; i--)
System.out.print(a[i] + "");
21. 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 字节内存空间。
22. 设 x = 2 ,则表达式 ( x + + )/3 的值是 。
23. 若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 和 。
24. 设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是 。
int s = 0 ;
for (int i = 0 ; i < MyIntArray.length ; i + + )
if ( i % 2 = = 1 )
s += MyIntArray[i] ;
System.out.println(s);
25. Java语言的变量由变量名、 、变量属性、 组成。
- 下列程序的运行结果是
public class ex2 {
public static void main(String[] args)
{
for(int cnt=0;cnt<10;cnt++)
{
if(cnt==5)
break;
System.out.print(cnt);
}}}
27. 在 Java 中所有实现的多维数组,实际上是由一维数组构成的 。
28.数组x定义:String x[ ][ ]=new int[3][2]; x[0 ][0 ]=”abc”, x[0 ][1]=”12345”;
则 x.length 的值为_______,x[0][1].length( ) 的值为_____。
三. 简答题
1. String是最基本的数据类型吗?
2. int 和 Integer 有什么区别?
3. String 和StringBuffer的区别?
4.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
5.&和&&的区别
6. String s = new String("xyz");创建了几个String Object
7. Math.round(11.5)等於多少? Math.round(-11.5)等於多少
8. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错
9. 数组有没有length()这个方法? String有没有length()这个方法
10. 是否可以继承String类
11. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递
12. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
13. char型变量中能不能存贮一个中文汉字?为什么?
14. float型float f=3.4是否正确?
15. int 和 Integer 有什么区别
16.在JAVA中,如何跳出当前的多重嵌套循环?
17. String是最基本的数据类型吗
四.程序阅读题
1.以下程序的输出结果为 。
class StringTest1
{
public static void main(String[] args)
{
String s1="hello";
String s2=new String("hello");
if(s1.equals(s2)){
System.out.println("相等");
}else{
System.out.println("不相等");
}
}
}
2.以下程序段的输出结果为 。
public class TestArray
{
public static void main(String args[ ]){
int i , j ;
int a[ ] = { 5,9,6,8,7};
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]<a[k] ) k = j;
int temp =a[i];
a[i] = a[k];
a[k] = temp;
}
for ( i =0 ; i<a.length; i++ )
System.out.print(a[i]+" ");
System.out.println( );
}
}
3. 读下列程序,写出正确的运行结果。
class test {
public static void main (String [] args ){
int x=9, y;
if (x>=0)
if (x>0)
y=1;
else y=0;
else y=-1;
System.out.println(y);
}
}
4. 阅读下面的程序代码,并回答问题。
String s1 = new String("abcde");
String s2 = new String("abcde");
boolean b1= s1.equals(s2);
boolean b2 = s1== s2;
System.out.print(b1+" "+b2);
u程序段执行后,在命令行的输出结果如何?
v解释输出(1)的结果的原因?
5. 写出下面的程序编译、运行后的结果。
public class Test{
public static void main(String args[]) {
new Student("Tom", 'm', 90, 88);
new Student("Jack", 'm', 66, 89);
new Student("Mary", 'f', 76, 86);
System.out.println("name sex chinese english");
Student.print();
}
}
class Student {
protected String name;
protected char sex;
protected int chinese;
protected int english;
protected Student next;
static Student list;
Student (String name, char sex, int chinese, int english) {
this.name=name;
this.sex=sex;
this.chinese=chinese;
this.english=english;
this.next=list;
list=this;
}
static void print() {
Student friend=list;
if (friend==null)
System.out.println("The list is empty.");
else {
do{
System.out.println(friend.toString());
friend=friend.next;
}while(friend!=null);
}
}
public String toString() {
return new String(name+" "+sex+" "+chinese+" "+english);
}
}
6. import java.io.*;
public class abc
{
public static void main(String args [ ])
{
AB s = new AB("Hello!","I love JAVA.");
System.out.println(s.toString( ));
}
}
class AB {
String s1;
String s2;
public AB(String str1, String str2)
{
s1 = str1;
s2 = str2;
}
public String toString( )
{
return s1+s2;
}
}
运行结果是?
7. import java.io.* ;
public class abc
{
public static void main(String args[ ])
{ int i, s = 0 ;
int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
for ( i = 0 ; i < a.length ; i ++ )
if ( a[i]%3 = = 0 ) s += a[i] ;
System.out.println("s="+s);
}
}
运行结果是?
五.程序设计题
1. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
2.编写一个Java Application,接收从键盘输入的10个整数,并输出其中的最大、最小以及平均值。要求:将计算功能定义在一个类中,由主类接收输入,再用数组的方式传递给实现计算的类的方法,再输出结果。
3. 输出9*9口诀。
4. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
5. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
6. 将一个数组逆序输出。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/4340.html