一、填空题
1.Java中有两种类型的选择结构的控制语句,分别是if语句和 while语句 。
2.在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum类型。在JDK1.7中又加入了 String 类型。
3.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是 表达式1 。
4.在循环结构中,如果想跳出循环体,结束整个循环结构可以使用 break 语句。
5.__continue____语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而不是终止整个循环的执行。
二、选择题
-
以下代码的执行结果是( A )。(选择一项)
boolean m = false;
if(m = false){
System.out.println(“false”);
}else{
System.out.println(“true”);
}A. false
B. true
C. 编译错误
D. 无结果 -
分析如下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 -
下列选项中关于变量x的定义,( B D )可使以下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; -
阅读下列文件定入的Java代码,其执行结果是( D )。(选择一项)
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 -
以下Java程序编译运行后的输出结果是( B )。(选择一项)
public class Test {
public static void main(String[] args) {
int i = 0, sum = 0;
while (i <= 10) {
sum += i; //
i++; //
if (i % 2 == 0)
continue;
}
System.out.println(sum);
}
}A 0
B. 55
C. 50
D. 36 -
以下四个选项中和下面代码功能相同的是( 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. 上述全对 -
以下do-while循环代码的执行结果是( A )。(选择一项)
int a=0;
int c=0;
do{
–c; //-1
a=a-1; //-1
}while(a>0);
System.out.println(a+" "+c);A. -1 -1
B. 死循环
C. -1 -2
D. -1 0 -
while循环和do-while循环的区别是( D )。(选择一项)
A. 没有区别,这两个结构在任何情况下效果一样
B. while循环比do-while循环执行效率高
C. while循环是先循环后判断,所以循环体至少被执行一次
D. do-while循环是先循环后判断,所以循环体至少被执行一次 -
在Java中有如下代码,则编译运行该类的输出结果是( D )。(选择一项)
public static void main(String[ ] args) {
for(int i=0;i<10;i++){
if (i%2!=0) {
break;
}
System.out.print(i);//
}
}A 13578
B. 02468
C. 0123456789
D. 0 -
下面程序执行的结果是在屏幕上打印( B )次大数据特训营。(选择一项)
for(int i=1;i<=10;i++){
if (i<5)5 6 7 8 9 10
continue;
System.out.println(“大数据特训营”); //1,1,1,1,1,1
}A 5
B. 6
C. 7
D. 8
三、判断题(共20个题目,总计10分)
1.if语句的条件表达式的结果都必须是boolean值。( 对 )
2.switch选择语句是多分支选择语句,只能处理等值条件判断的情况,表达式可以是int类型、char类型,但不能是double,float类型。( 对 )
3.while循环结构的特点是先循环再判断,循环体至少执行一次。( 错 )
4.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中三个表达式都可以省略。( 对 )
5.break语句可以出现在switch语句和循环语句中。( 对 )
6.continue语句可以出现在switch语句和循环语句中。( 错 )
四、简答题
1.if多分支语句和switch语句的异同之处
相同之处:if跟switch都可以对语句进行判断
不同指出:if的判断语句可以通过一个范围,而switch则是通过特定的值来进行判断。
2.while和do-while语句的异同之处
相同点:都是循环语句,且当循环的次数不确定的时候,优先使用
不同点:while先进行循环判断,再进行循环体内容,而do…while则是先运行循环体,然后再进行循环判断。
3.break和continue语句的作用
Break: 使用与switch和循环语句中,表示结束当前循环;
Continue:常使用在循环语句中,表示结束当层循环;
五、代码题
/*
第四天————作业3的内容
1.输入一个数,判断是奇数还是偶数
*/
import java.util.Scanner;
public class zy1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个数,判断是奇数还是偶数:");
int num = sc.nextInt();
if(num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
}
}
/*
根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
*/
import java.util.Scanner;
public class zy2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入月份:");
int x = sc.nextInt();
if (x <= 5 && x >= 3) {
System.out.println("春天");
} else if (x >= 6 && x <= 8) {
System.out.println("夏天");
} else if (x >= 9 && x <= 11) {
System.out.println("秋天");
} else if(x<=2||x==12){
System.out.println("冬天");
}else{
System.out.println("输入错误!");
}
}
}
import java.util.Scanner;
public class zy3 {
//输入一个数,判断是否为素数
public static void getSuShu(int num){
int i = 2;
while (i < num) {
if (num % i == 0) {
System.out.println(num + "不是素数!");
break;
} else {
i++;
}
}
if (i >= num) {
System.out.println(num + "是素数!");
}
}
public static void printSuShu(int num1,int num2){
for(int i=num1+2;i<=num2;i++){
int k = 2;
while(k<i){
if(i%k==0){
break;
}else{
k++;
}
}
if(k>=i){
System.out.print(i+" ");
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// int num = sc.nextInt();
// getSuShu(num);
//打印1——100的素数
int i = 1;
int j = 100;
printSuShu(i,j);
}
}
/*
6.从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
*/
import java.util.ArrayList;
import java.util.Scanner;
public class zy4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个十进制数:");
/*这里运用了arraylist,利用arraylist数组的时候不需要知道数组长度
ArrayList<Integer> arr = new ArrayList<Integer>();
数据类型(包类)
常用方法:arr.add()添加数据
arr.get()获取数据
*/
// int n = sc.nextInt();
// ArrayList<Integer> arr = new ArrayList<Integer>();
// System.out.println("转换成的二进制整数:");
// while(true){
// int a = n%2;
// n = n/2;
// arr.add(a);
// if(n==0){
// break;
// }
// }
// for(int i = arr.size()-1;i>=0;i--){
// System.out.print(arr.get(i));
// }
/*
第二种方法,利用Integer的方法自动化转换(简单快捷)
10进制转2进制 Integer.toBinaryString(n); 一个二进制字符串.
10进制转8进制 Integer.toOctalString(n); 一个八进制字符串
10进制转16进制 Integer.toHexString(n); 一个16进制字符串
10进制转 r 进制 Integer.toString(100, 16); 一个r进制字符串
*/
int n = sc.nextInt();
String str = Integer.toBinaryString(n);
System.out.println(str);
}
}
/*
3.输入一批整数,使用循环求出最大值与最小值,输入0时结束。
*/
import java.util.Scanner;
public class zy5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int max = n;
int min = n;
while (n!=0){
n = sc.nextInt();
if(n!=0){
if(n>max){
max = n;
}else if(n<min){
min = n;
}
}
}
System.out.println("最大值与最小值:"+max+" "+min);
}
}