Java基础语法试卷5(2017/10/16 第一阶段考试)
2017-10-16 22:37
711 查看
一、选择题(以下选项中,ABCD四项中至少有一项或多项是正确的(多选、少选、错选均没分),共30题,每题2分,共60分)
1、Java源文件和编译后的文件扩展名分别为( B )
A、.class和.java
B、.java和.class
C、.class和.class
D、.java和.java
2、下列表达式1+2+”aa”+3的值是( C )
A、12aa3
B、12aa
C、3aa3
D、aa3
3、以下的变量定义语句中,合法的是( C )
A、float _*5=123.456F
B、byte $_b1=12345
C、double d = 9.88
D、int long = 123456L
4、在JAVA中,以下代码运行的结果是( C )
public class BWF {
public static long add(double a,double b){
return (long)(a+b);
}
public static void main(String[] args){
Double sum=add(12.3, 4.6);
System.out.println(sum);
}
}
A、16.9
B、17
C、16.0
D、16
5、在Java下列变量名不符合命名规则的是( AC )(多选)
A、int ^abc
B、String _abc
C、double 32b
D、char $abc
6、开发Java程序有三个步骤:A.编译B.编写源程序C.运行,开发Java程序的正确顺序是( D )
A、ABC
B、ACB
C、BCA
D、BAC
7、给定Java代码,如下:编译运行,结果是( A )
public static void main(String[] args)
{
String s;
System.out.println(“s=”+s);
}
A、编译错误
B、编译通过,但出现运行时错误
C、正常运行,输出s=null
D、正常运行,输出s=
8、给定某Java程序片段,该程序运行后,i的输出结果为( B )
public static void main(String[] args)
{
int i=1;
int j=i++;//j=1
if((i>++j)&&(i++==j))
i+=j;
System.out.println(i);
}
A、1
B、2
C、3
D、4
9、关于Java编程规范,说法错误的是( D )
A、变量的命名一般要求“见名知义”,提高代码的可读性
B、每行推荐只写一条语句
C、”{“一般放在结构开始行的最末,”}”与该结构的第一个字母对齐,并单独占一行
D、类的命名推荐使用小写。例如动物类:animal
10、在Java中,以下程序的编译运行结果是( C )
public class BWF {
static int x;
static boolean z;
public static void main(String args[])
{
System.out.println(x);
System.out.println(z);
}
}
A、运行时错误
B、输出:0
true
C、输出:0
false
D、输出:0
0
11、下列哪些是Java的关键字( C )
A、class main string
B、If double class main string
C、static void public int
D、以上都对
12、下列说法中对while和do-while描述错误的是( D )
A、While循环和do-while循环语法不同
B、While循环先判断再执行
C、Do-while循环至少执行1次在判断条件
D、Do-while循环是先判断在循环
13、分析如下所示的Java代码,编译运行后的输出结果是( C )
public class BWF {
public static void main(String args[]){
boolean a=true;
boolean b=false;
if(!a && b){
System.out.print(“!a&&b”);
}else if(!a || b){
System.out.print(“!a||b”);
}else{
System.out.print(“ab”);
}
}
}
A、!a&&b
B、!a||b
C、ab
D、!a||ab
14、在JAVA中,以下功能是查找Java的数组num。中的最大值,横线处的代码是( C )
public class BWF {
public static void main(String args[])
{
int[] num = {14,27,9,56,03};
int max=___;
for(int i=1;i<____;i++)
{
if(max
17、下列语句序列执行后,k的值是( D )
int x=6,y=10,k=5;
switch(x % y)
{
case 0: k=x*y;
case 6: k=x/y;
case 12: k=x-y;
default : k=x*y-x;
}
A、60
B、5
C、0
D、54
18、在JAVA中,以下选项会导致死循环的是( C )
A、for(int i = 0;i<0;i++){}
B、for(int i = 10;i>0;i–){}
C、for(int i = 0;i<10;i–){}
D、for(int i = 0;i>0;i++){}
19、在Java中如下选项中的代码能够正确执行的有( AB ) (多选)
A、short[] b = new short[10]
B、short b[] = new short[10]
C、short b = new short [10]
D、short b = new short[]
20、在Java的for语句中,对break,continue, return的使用,下列说法不正确的选项为( C )
A、break和return都能结束for循环
B、continue只是跳过本次循环,不再执行continue关键字后面的代码,不影响后面的 循环次数
C、break、return结束for循环的区别在于,break是结束方法的执行,return是结束for 循环
D、break、return不仅可以在for循环中使用,也可以在switch控制语句中使用
21、在Java中,以下代码的输出结果是( C )
public class BWF {
public static void main(String args[]){
int i=0;
while(i<5){
if(i>3)
break;
i++;
if(i<3){
System.out.println(“i小于3”);
continue;
}
System.out.println(“Final”);
}
}
}
A、i小于3
i小于3
Final,Final
B、i小于3
i小于3
C、i小于3
i小于3
Final
Final
D、编译错误
22、在JAVA中,以下代码的运行结果是( D )
public class BWF {
public static void main(String args[]){
int[] num=new int[10];
for(int i=0;i
26、下面Java代码的横线处不可以填写的代码是( B )
public static void main(String args[])
{
int a=_(int)__10/3.1
__;
}
A、10%3
B、10/3.1
C、10*-3
D、3-10
27、在Java中,变量命名规范说法正确的是( B )
A、变量由字母、下划线、数字、$符号随意组成
B、变量不能以数字作为开头
C、A和a在Java中是同一个变量
D、不同类型的变量,可以起相同的名字
28、在Java中,下面不属于Java的基本数据类型的是( D )
A、float
B、int
C、boolean
D、String
[b]29、在Java中,以下赋值语句正确的是( BC )(多选)
A、int num1=(int)”12”;
B、int num2=(int)12.0;
C、double num3=2d;
D、double num4=5;
30、在Java中,命名类时要遵守一些规则,以下说法错误的是( C )
A、不能使用Java中的关键字
B、不能包含任何嵌入的空格或点号
C、不能包含下划线和“$”符
D、不能以数字开头
二、编程题(编程实现下列问题,共4题,每题10分,共40分)
1、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月 又生一对兔子,假如兔子都不死。问第20个月后兔子总数为多少?(提示://兔子的规律为数列1,1,2,3,5,8,13,21.…)
循环:
递归函数:
2、一球从100米高度自由落下,每次落地后反跳回原高度的一半(即一回合);再落下,求它在第10次落下时弹到最高处,共经过多少米?第10次反弹多高?
循环:
递归函数:
3、给出年月日,计算改日是该年的第几天。
4、在控制台输入3个整数a,b,c,按大小顺序输出。
1、Java源文件和编译后的文件扩展名分别为( B )
A、.class和.java
B、.java和.class
C、.class和.class
D、.java和.java
2、下列表达式1+2+”aa”+3的值是( C )
A、12aa3
B、12aa
C、3aa3
D、aa3
3、以下的变量定义语句中,合法的是( C )
A、float _*5=123.456F
B、byte $_b1=12345
C、double d = 9.88
D、int long = 123456L
4、在JAVA中,以下代码运行的结果是( C )
public class BWF {
public static long add(double a,double b){
return (long)(a+b);
}
public static void main(String[] args){
Double sum=add(12.3, 4.6);
System.out.println(sum);
}
}
A、16.9
B、17
C、16.0
D、16
5、在Java下列变量名不符合命名规则的是( AC )(多选)
A、int ^abc
B、String _abc
C、double 32b
D、char $abc
6、开发Java程序有三个步骤:A.编译B.编写源程序C.运行,开发Java程序的正确顺序是( D )
A、ABC
B、ACB
C、BCA
D、BAC
7、给定Java代码,如下:编译运行,结果是( A )
public static void main(String[] args)
{
String s;
System.out.println(“s=”+s);
}
A、编译错误
B、编译通过,但出现运行时错误
C、正常运行,输出s=null
D、正常运行,输出s=
8、给定某Java程序片段,该程序运行后,i的输出结果为( B )
public static void main(String[] args)
{
int i=1;
int j=i++;//j=1
if((i>++j)&&(i++==j))
i+=j;
System.out.println(i);
}
A、1
B、2
C、3
D、4
注:前运算符:先自运算,当次取运算后的值; 后运算符:当次取运算前的值,然后运算,下次碰到该变量取运算后的值。
9、关于Java编程规范,说法错误的是( D )
A、变量的命名一般要求“见名知义”,提高代码的可读性
B、每行推荐只写一条语句
C、”{“一般放在结构开始行的最末,”}”与该结构的第一个字母对齐,并单独占一行
D、类的命名推荐使用小写。例如动物类:animal
10、在Java中,以下程序的编译运行结果是( C )
public class BWF {
static int x;
static boolean z;
public static void main(String args[])
{
System.out.println(x);
System.out.println(z);
}
}
A、运行时错误
B、输出:0
true
C、输出:0
false
D、输出:0
0
注:成员变量不赋初始值,值类型默认值为0,boolean类型默认值为false。
11、下列哪些是Java的关键字( C )
A、class main string
B、If double class main string
C、static void public int
D、以上都对
注:main是主函数名,不是java占用的关键字。
12、下列说法中对while和do-while描述错误的是( D )
A、While循环和do-while循环语法不同
B、While循环先判断再执行
C、Do-while循环至少执行1次在判断条件
D、Do-while循环是先判断在循环
注:do-while循环是先执行一次循环体,再判断。
13、分析如下所示的Java代码,编译运行后的输出结果是( C )
public class BWF {
public static void main(String args[]){
boolean a=true;
boolean b=false;
if(!a && b){
System.out.print(“!a&&b”);
}else if(!a || b){
System.out.print(“!a||b”);
}else{
System.out.print(“ab”);
}
}
}
A、!a&&b
B、!a||b
C、ab
D、!a||ab
14、在JAVA中,以下功能是查找Java的数组num。中的最大值,横线处的代码是( C )
public class BWF {
public static void main(String args[])
{
int[] num = {14,27,9,56,03};
int max=___;
for(int i=1;i<____;i++)
{
if(max
注:第一次i输出为2。
17、下列语句序列执行后,k的值是( D )
int x=6,y=10,k=5;
switch(x % y)
{
case 0: k=x*y;
case 6: k=x/y;
case 12: k=x-y;
default : k=x*y-x;
}
A、60
B、5
C、0
D、54
注:没有break,所以会一直执行到最后一行default语句。
18、在JAVA中,以下选项会导致死循环的是( C )
A、for(int i = 0;i<0;i++){}
B、for(int i = 10;i>0;i–){}
C、for(int i = 0;i<10;i–){}
D、for(int i = 0;i>0;i++){}
19、在Java中如下选项中的代码能够正确执行的有( AB ) (多选)
A、short[] b = new short[10]
B、short b[] = new short[10]
C、short b = new short [10]
D、short b = new short[]
20、在Java的for语句中,对break,continue, return的使用,下列说法不正确的选项为( C )
A、break和return都能结束for循环
B、continue只是跳过本次循环,不再执行continue关键字后面的代码,不影响后面的 循环次数
C、break、return结束for循环的区别在于,break是结束方法的执行,return是结束for 循环
D、break、return不仅可以在for循环中使用,也可以在switch控制语句中使用
21、在Java中,以下代码的输出结果是( C )
public class BWF {
public static void main(String args[]){
int i=0;
while(i<5){
if(i>3)
break;
i++;
if(i<3){
System.out.println(“i小于3”);
continue;
}
System.out.println(“Final”);
}
}
}
A、i小于3
i小于3
Final,Final
B、i小于3
i小于3
C、i小于3
i小于3
Final
Final
D、编译错误
22、在JAVA中,以下代码的运行结果是( D )
public class BWF {
public static void main(String args[]){
int[] num=new int[10];
for(int i=0;i
注:注意没有break,所以会一直执行到最后一行。
26、下面Java代码的横线处不可以填写的代码是( B )
public static void main(String args[])
{
int a=_(int)__10/3.1
__;
}
A、10%3
B、10/3.1
C、10*-3
D、3-10
27、在Java中,变量命名规范说法正确的是( B )
A、变量由字母、下划线、数字、$符号随意组成
B、变量不能以数字作为开头
C、A和a在Java中是同一个变量
D、不同类型的变量,可以起相同的名字
28、在Java中,下面不属于Java的基本数据类型的是( D )
A、float
B、int
C、boolean
D、String
[b]29、在Java中,以下赋值语句正确的是( BC )(多选)
A、int num1=(int)”12”;
B、int num2=(int)12.0;
C、double num3=2d;
D、double num4=5;
注:float类型中的f/F必须加,double类型中的d可加可不加。
30、在Java中,命名类时要遵守一些规则,以下说法错误的是( C )
A、不能使用Java中的关键字
B、不能包含任何嵌入的空格或点号
C、不能包含下划线和“$”符
D、不能以数字开头
二、编程题(编程实现下列问题,共4题,每题10分,共40分)
1、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月 又生一对兔子,假如兔子都不死。问第20个月后兔子总数为多少?(提示://兔子的规律为数列1,1,2,3,5,8,13,21.…)
循环:
public static void main(String[] args){ //定义本月、上月、上上月的兔子对数 int thisMonth = 0; int lastMonth1 = 0; int lastMonth2 = 0; //观察规律得出除了第一、二个月都是1对外, //本月兔子对数为上月+上上月,做循环 for (int i = 1; i <= 20; i++) { if (i == 1 || i == 2) { thisMonth = 1; lastMonth1 = 1; } else { thisMonth = lastMonth1 + lastMonth2; } //每轮循环把上月的赋给上上月,本月的赋给上月 lastMonth2 = lastMonth1; lastMonth1 = thisMonth; } System.out.println(thisMonth * 2); }
递归函数:
public static long sum(int month) { // 定义兔子总数sum,第一、二个月sum为1*2, // 第三个月开始本月的兔子数为上月+上上月,使用递归函数 long sum = 0; if (month == 1 || month == 2) { return sum = 1 * 2; } else { return sum = (sum(month - 1) + sum(month - 2)) * 2; } }
2、一球从100米高度自由落下,每次落地后反跳回原高度的一半(即一回合);再落下,求它在第10次落下时弹到最高处,共经过多少米?第10次反弹多高?
循环:
public static void main(String[] args) { // 定义总距离s,弹起距离t,落下距离luoxia double s = 100; double t = 100; double luoxia = 0; for (int i = 1; i <= 10; i++) { t = t / 2; // 从第二次开始,需要加落下的距离 if (i > 1) { luoxia = t * 2; } s = s + t + luoxia; } System.out.println(s); System.out.println(t); }
递归函数:
public static void main(String[] args) { System.out.println(distanceS(10)); System.out.println(distance(10) / 3); } // 第十次的距离 public static double distance(int cishu) { double d1 = 150; if (cishu == 1) { return d1 = 150; } else { return d1 = distance(cishu - 1) / 2; } } // 总距离 public static double distanceS(int cishu) { double dS = 0; if (cishu == 1) { return dS = distance(1); } else { return dS = distance(cishu) + distanceS(cishu - 1); } }
3、给出年月日,计算改日是该年的第几天。
public static void main(String[] args) { System.out.println(days(2017, 3, 1)); } public static int days(int year, int month, int day) { int days = 0; for (int i = 1; i < month; i++) { switch (i) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days += 31; break; case 4: case 6: case 9: case 11: days += 30; break; case 2: { if (year % 4 == 0 && year % 100 == 0 || year % 400 == 0) { days += 29; break; } else { days += 28; break; } } } } return days = days + day; }
4、在控制台输入3个整数a,b,c,按大小顺序输出。
public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] a = new int[3]; // 循环三次把控制台输入的数赋给数组a for (int i = 0; i < 3; i++) { a[i] = scan.nextInt(); } // 使用冒泡排序对数组a排序 for (int i = 1; i < a.length; i++) { for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } System.out.println(Arrays.toString(a)); }
相关文章推荐
- Java基础第一阶段——01_Java语言概述&HelloWorld
- 黑马程序员--第一阶段2.java编程基础--第4天
- 黑马程序员--第一阶段2.java编程基础--第4天
- Java基础第一阶段——05_Java语言基础_数组操作&排序&查找
- Java基础第一阶段——02_Java语言基础_关键字&变量&运算
- Java高并发编程之第一阶段,多线程基础深入浅出
- java第一阶段考试
- 【C#基础】【语法04】课后作业题——C#第一阶段测试题
- Java高并发编程之第一阶段,多线程基础深入浅出
- Java基础第一阶段——04_Java语言基础_for语句&函数&数组
- Java第一阶段-Java基础入门
- 黑马程序员--第一阶段2.java编程基础--第2天
- Java基础第一阶段——03_Java语言基础_运算符&if&while&switch&for语句
- 黑马程序员--第一阶段2.java编程基础--第2天
- 黑马程序员--第一阶段2.java编程基础--第3天
- 第一阶段:Java初级 ------- Java编程基础
- 黑马程序员--第一阶段2.java编程基础--第3天
- 第一阶段-Java基础
- Java基础第一阶段——泛型
- 华信第一阶段Java试卷分析