填空题
Java中有两种类型的选择结构的控制语句,分别是if语句和 switch case 语句。
在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum(枚举)类型。在7中又加入了类型 string。
for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是 表达式1。
在循环结构中,如果想跳出循环体,结束整个循环结构可以使用语句 break。
_________continue____语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不是终止整个循环的执行。
选择题
1.
以下代码的执行结果是( B )。(选择一项)
boolean m = false;
if(m = false){
System.out.println("false");
}else{
System.out.println("true");
}
A.
false
B.
true
C.
编译错误
D.
无结果
2.
分析如下Java代码,编译运行的输出结果是( A )。(选择一项)
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.println("!(a||b)");
}else {
System.out.println("ab");
}
}
A
!(a&&b)
B
!(a||b)
C.
ab
D.
!(a||b)ab
3.
下列选项中关于变量x的定义,( BD )可使以下switch语句编译通过。(选择二项)
switch(x) {
case 100 :
System.out.println("One hundred");
break;
case 200 :
System.out.println("Two hundred");
break;
case 300 :
System.out.println( "Three hundred");
break;
default :
System.out.println( "default");
}
A
double x = 100;
B.
char x = 100;
C.
String x = "100";
D.
int x = 100;
4.
阅读下列文件定入的Java代码,其执行结果是( C )。(选择一项)
public class Test {
public static void main(String[] args) {
char ch = 'c';
switch (ch) {
case 'a':
System.out.print("a"); break;
case 'b':
System.out.print("ab");
case 'c':
System.out.print("c");
default:
System.out.print("d");
}
}
}
A
a
B.
b
C.
c
D.
cd
5.
以下Java程序编译运行后的输出结果是( B )。(选择一项)
public class Test {
public static void main(String[] args) {
int i = 0, sum = 0;
while (i <= 10) {
sum += i;
i++;
}
System.out.println(sum);
}
}
A
0
B.
55
C.
50
D.
36
6.
以下四个选项中和下面代码功能相同的是( B )。(选择一项)
int i = 1;
int sum = 0;
while (i <= 100) {
if (i % 2 == 0)
sum = sum + i;
i++;
}
A
for (int x =1; x<=100;x++){ sum=sum+x;}
B.
for (int x =0; x<=100;x+=2){ sum=sum+x;}
C.
for (int x =1; x<=100;x+=2){ sum=sum+x;}
D.
上述全对
7.
以下do-while循环代码的执行结果是( D )。(选择一项)
int a=0;
int c=0;
do{
--c;
a=a-1;
}while(a>0);
System.out.println(a+" "+c);
A.
-1 -1
B.
死循环
C.
-1 -2
D.
-1 0
8.
while循环和do-while循环的区别是( D )。(选择一项)
A.
没有区别,这两个结构在任何情况下效果一样
B.
while循环比do-while循环执行效率高
C.
while循环是先循环后判断,所以循环体至少被执行一次
D.
do-while循环是先循环后判断,所以循环体至少被执行一次
9.
在Java中有如下代码,则编译运行该类的输出结果是( D )。(选择一项)
public static void main(String[ ] args) {
for(int i=0;i<10;i++){
if (i%2!=0)
return;
System.out.print(i);
}
}
A
13578
B.
02468
C.
0123456789
D.
0
10.
下面程序执行的结果是在屏幕上打印( B )次Java基础班。(选择一项)
for(int i=1;i<=10;i++){
if (i<5)
continue;
System.out.println("Java基础班");
}
A
5
B.
6
C.
7
D.
8
判断题(共20个题目,总计10分)
if语句的条件表达式的结果都必须是boolean值。( T )
switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是int类型、char类型,但不能是double,float类型。( T )
while循环结构的特点是先循环再判断,循环体至少执行一次。( F )
for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中三个表达式都可以省略。( T )
break语句可以出现在switch语句和循环语句中。( T )
continue语句可以出现在switch语句和循环语句中。( F )
简答题
if多分支语句和switch语句的异同之处
都是分支语句,不同处:if(条件表达式主要是取值范围,属于布尔型)
switch case中必须是等值条件,是给定的值,包括(byte,short,char,int,enum,str)
while和do-while语句的异同之处
while:先判断再循环;
do while:先循环再判断,至少循环一次;
break和continue语句的作用
break用于switch语句或者循环语句中,作用是跳出语句;
continue用于循环语句中,作用是结束本次循环,执行下次循环;
编码题
输入一个数,判断是奇数还是偶数
import java.util.Scanner; class JudgeNumber{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数a:"); int i = sc.nextInt(); judgeNumber(i); } //对输入的数进行判断 public static void judgeNumber(int a){ if (a % 2 == 0) { System.out.println("您输入的这个数是偶数"); }else{ System.out.println("您输入的这个数是奇数"); } } }
根据成绩输出对应的等级,使用if多分支和switch语句分别实现。
A级 [90,100]
B级 [80,90)
C级 [70,80)
D级 [60,70)
E级 [0,60)
import java.util.Scanner; class ScoreA { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个成绩"); int s = sc.nextInt(); //使用if分支语句对成绩进行判断 if (s >= 90 && s <= 100) { System.out.println("A级"); }else if (s >= 80 && s < 90) { System.out.println("B级"); }else if (s >= 70 && s < 80) { System.out.println("C级"); }else if (s >= 60 && s < 70) { System.out.println("D级"); }else if (s >= 0 && s < 60) { System.out.println("E级"); }else { System.out.println("您输入的成绩有误,请重新输入!"); } } }
import java.util.Scanner; class ScoreB { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个成绩"); int i = sc.nextInt(); int j = (int)(i / 10); switch(j){ case 10: case 9: System.out.println("A级"); break; case 8: System.out.println("B级"); break; case 7: System.out.println("C级"); break; case 6: System.out.println("D级"); break; case 0: case 1: case 2: case 3: case 4: case 5: System.out.println("E级"); break; default : System.out.println("您输入的成绩有误,请重新输入!"); break; } } }
根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
import java.util.Scanner; class JudgeSeason { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个月份"); int i = sc.nextInt(); //对输入的月份进行判断 用Switch语句 switch (i) { case 3: case 4: case 5: System.out.println("春天已来,百花盛开,草长莺飞,共家人踏青,风乎舞雩,遥放纸鸢,岂不美哉!"); break; case 6: case 7: case 8: System.out.println("盛夏已到,酷热难耐,畅游于水中乃一大乐趣,敲代码于最课程亦是人生乐事!"); break; case 9: case 10: case 11: System.out.println("秋高气爽,北雁南归,硕果累累,愿君采撷,美景亦不胜收,曾记否,人间最美是中秋!"); break; case 12: case 1: case 2: System.out.println("寒冬已至,大雪纷飞,家人围坐,红泥火炉,烤陈年旧事下酒,亦或踏雪访友,简直不要太美好!"); break; default: System.out.println("对不起,你已跳出四季轮回,get不到四季的美"); System.out.println("春有百花秋有月,夏有凉风冬有雪;若无闲事挂心头,便是人间好时节!亲,你有吗?"); break; } } }
从键盘输入一个班5个学生的分数,求和并输出。
import java.util.Scanner; class SumScore { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入第一个同学的成绩"); int a = sc.nextInt(); System.out.println("请输入第二个同学的成绩"); int b = sc.nextInt(); System.out.println("请输入第三个同学的成绩"); int c = sc.nextInt(); System.out.println("请输入第四个同学的成绩"); int d = sc.nextInt(); System.out.println("请输入第五个同学的成绩"); int e = sc.nextInt(); int sum = a + b + c + d + e ; System.out.println("这五个同学的成绩的和是" + sum); } }
可选题
根据考试成绩输出对应的礼物,90分以上爸爸给买电脑,80分以上爸爸给买手机, 60分以上爸爸请吃一顿大餐,60分以下爸爸给买学习资料。
要求:该题使用多重if完成
import java.util.Scanner; class TestScore{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入你这次的考试成绩"); int x = sc.nextInt(); if (x >= 60) { //60分以上 if (x >= 80) { //80分以上 if (x >= 90) { //90分以上 System.out.println("爸爸给买电脑"); }else { //80~90分 System.out.println("爸爸给买手机"); } }else { //60~80分 System.out.println("爸爸请吃大餐一顿"); } }else if (x > 0 && x < 60) { //0~60分 System.out.println("爸爸给买学习资料"); }else { //0分以下 System.out.println("你居然考负分?输入有误吧?"); } } }
给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
class BuyCola { public static void main(String[] args) { int count = 0; for (int money = 20;money >=3 ;money -= 3 ) { count += 1; money += 1; } System.out.println(count); } }