A:选择题
1、下列哪个答案与show不是方法重载(B)。
class Demo {
void show(int a,int b,float c){}
}
A.void show(int a,float c,int b){}
B,void show(int x,int y,float z){}
C.int show(int a,float c,int b){return a;}
D.int show(int a,float c){return a;}
B:简答题
1、定义一个方法的格式是什么,以及方法的注意事项?
方法格式
访问修饰符 返回值类型 方法名(参数类型 参数名, ...){
方法体;
return 返回值;
}
方法注意事项
方法需要调用
方法之间是平级关系 不能方法套方法
2、请说明for、while、do...while三种循环的格式以及执行流程,以及它们的区别。
格式
for(初始化表达式语句1;判断条件语句2;控制条件语句3) {
循环体语句4;
} 1->2->4->3->2->
初始化表达式语句1;
while(判断条件语句2){
循环体语句3;
控制条件语句4;
} 1->2->3->4->2->
初始化表达式语句1;
do{
循环体语句2;
控制条件语句3;
}while(判断条件语句4);
1->2->3->4->2->
区别
for循环结束后不能在使用控制条件的变量
while循环结束后能在使用控制条件的变量
do...while循环至少会执行一次
3、请解释什么是方法的重载?
一个类中,存在一个以上的同名方法
要求:
发生范围:同一类
访问修饰符:无要求
返回值类型:无要求
方法名:必须一致
参数列表:类型,个数,顺序至少有一个不同
C:看程序写结果(写出自己的分析理由),程序填空,改错,看程序写结果。
1、写出下面程序运行的结果
int i, j;
for (i = 0, j = 0; i + j < 20; ++i, j+=i) {
System.out.println(i + j);
}
// 0 2 5 9 14
2、写出下面程序运行的结果
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
break;
}
System.out.println("i=" + i + ", j=" + j);
}
}
//i=1, j=0 i=2, j=0 i=2, j=1
3、写出下面程序运行的结果
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
continue;
}
System.out.println("i=" + i + ", j=" + j);
}
}
//i=0, j=1 i=0, j=2
//i=1, j=0 i=1, j=2
//i=2, j=0 i=2, j=1
4、写出下面程序运行的结果
int i = 1, j = 10;
do {
if (i++ > --j)
continue;
} while (i < 5);
System.out.println("i=" + i + ", j=" + j);
//i=5, j=6
D:编程题
1、请编写一个方法,完成三个整数的相加,返回相加后的结果,并在main方法中调用
public static void main(String[] args) {
//请编写一个方法,完成三个整数的相加,返回相加后的结果,并在main方法中调用
System.out.println(sum(10, 20, 30));
}
public static int sum(int a, int b, int c){
return a + b + c;
}
2、请编写一个方法,完成1-n之间的偶数和,返回累加的结果,并在main方法中调用
public static void main(String[] args) {
//请编写一个方法,完成1-n之间的偶数和,返回累加的结果,并在main方法中调用
System.out.println(sum(100)); // 可以自己赋值
}
public static int sum(int n){
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 0){
sum += i;
}
}
return sum;
}
3、请编写一个方法,求出1-n之间的偶数和与奇数和的差值,并在main方法中调用
public static void main(String[] args) {
//请编写一个方法,求出1-n之间的偶数和与奇数和的差值,并在main方法中调用
System.out.println(sum(100)); // 可以自己赋值
}
public static int sum(int n){
int ou = 0;
int ji = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 0){
ou += i;
}else {
ji += i;
}
}
return ou - ji;
}
4、请编写程序,打印出如下图形,并在main方法中调用
public static void main(String[] args) {
/*
1
12
123
1234
12345
....
*/
print(5);
}
public static void print(int n) { // n 表示打印的层数
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j);
}
System.out.println();
}
}