选择:
A BD A BD D
注:第四题和第五题做错选为:AC C
-
第2题:switch (##)
##处的数据类型为:byte short int char
char a=100; 注意没有单引号 -
第4题:函数重载时对返回数据类型不做检查,但形参数量或类型必须变化,B和原函数是同一函数,D中形参数据个数和类型和原函数相同
-
第5题:非静态变量,形参并不影响实参
编程:
1.
/**
* 第三章练习题选择题部分
*
* @author 王立生
*
*/
public class Exercise01 {
public static void main(String[ ] args) {
//题目1
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");
}
//题目2
char x=100;
//int x=100; 可行
//double x=100; 不可行
//String x="100"; 不可行
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");
}
//题目3
int sum=0;
for(int i=1;i<10;i++){
do{
i++;
if(i%2!=0)
sum+=i;
}while(i<6);
}
System.out.println(sum);
//答案:A BD A ... (D)
int i = 99;
mb_operate(i); //该语句不影响i的取值
System.out.print(i + 100);
}
static void mb_operate(int i) {
i += 100;
}
}
/**
* 第三章练习题编程题部分
*
* @author 王立生
*
* 题目: 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
*
*/
import java.util.Scanner;
public class Exercise02 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("输入一个正整数:");
int a=sc.nextInt();
int b;
int i=0;
int c=0;
String str=""; //创建空字符串
while(a!=0){
b=a/2;
i++;
c=a-b*2;
str=c+str; //将余数依次从左至右存入;
a=a/2;
}
System.out.print(str);
/*此程序不足,只能实现倒序输出
int b;
int i=0;
int c=0;
String str="";
while(a!=0){
b=a/2;
i++;
c=a-b*2;
a=a/2;
System.out,print(c);
}
*/
/*或者用以下方法:
String sbinary=Integer.toBinaryString(a);
int binary=Integer.parseInt(sbinary);
System.out.println(binary);
*/
}
}
/**
* 第三章练习题
*
* @author 王立生
*
* 题目:求∑1+∑2+……+∑100
*/
public class Exercise03 {
public static void main(String[] args){
int he=0;
for(int j=100;j>=1;j--){
int sum=0;
for(int i=j;i>=1;i--){
sum+=i;
}
he+=sum;
}
System.out.println(he);
}
}
/**
* 第三章练习题
*
* @author 王立生
*
* 题目:编写递归算法程序:一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求数列的第40位数是多少。
*/
import java.util.Scanner;
public class Exercise04 {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("输入要查找的第几个数:");
int n=sc.nextInt();
System.out.println("第"+n+"个数为:"+func(n));
}
static int func(int n){
if (n<=2){
return 1; //递归头
}else{ //递归体:n=f(n-1)+f(n-2)
n=func(n-1)+func(n-2);
}
return n;
}
}