法。
D、类的私有方法不能被其子类直接访问
11、如果一个方法没有return语句,那么( )。
A、编译时会产生语法错误 B、它一定是void方法
C、 它一定是int、double、float方法 D、类的私有方法不能被其子类直接访问 12、关于方法以下说法正确的是( )。
A、Java中每个方法是一个独立的程序;
B、Java类中一个方法一旦被定义,程序运行时其代码一定被执行; C、某个方法若未被任何其它方法调用,则其中的代码一定不会被执行;
D、 Java程序中main方法一定不会被其它方法调用,所以main方法一定不会被执行。 13、关于方法的返回值和return语句,以下说法正确的是( )。
A、Java中每个方法都必须有返回值; B、一个方法可以返回多个返回值;
C、有返回值的方法中必须有return语句。
D、返回值类型为void的方法不能有return语句 14、关于方法的参数以下说法正确的是( )。
A、Java中每个方法都必须有参数;
B、一个方法可以有多个形参变量也可以没有; C、有返回值的方法必须有参数。
D、型参变量是int型方法,调用语句中所给的实参数据也必是int型的。
15、若有方法定义:staitc int fun(int num){return 2*num;} 以下调用语句正确的是( )。
A、System.out.println(fun(‘A’+‘B’)); B、int a=fun(2.3) ; C、fun(2 , 3);
D、if(fun(4)) System.out.println(“正确”); 16、以下程序运行结果是( )。
public class Test {
public static void main(String[] args) { int a=1,b[]={2}; add(a); add(b);
System.out.println(a+\ }
static int add(int x){ x++;
return x; }
static void add(int[] x){ x[0]++; }
}
A、 1,2 B、 2,2 C、 1,3 D、2,3 17、关于重载,以下说法正确的是( )。
A、重载方法的返回值类型必须相同; B、重载方法的方法名必须不同; C、重载方法的参数个数必须不同。 D、重载方法的形参表必须不同。
18、以下方法用以返回传入的两个正整数的最大公约数,该代码段编译运行会出错吗?出现的错误是什么?( )
1. static int add(int x,int y){
资料
2. if(x>y){
3. int z = x; x=y; y=z; 4. }
5. int i;
6. for(i=x-1;i>0;i--){
7. if(x%i==0&&y%i==0)return i; 8. } 9.}
A、第1行出错,两个同为int的形参变量定义应该是:int x,y; B、第1行出错,方法没有返回int值; C、第2行出错,x和y未赋值; D、方法不出错
19、下列方法定义中,正确的是( )。
A、int x( int a,b ) { int w; w=a-b; }
B、double x( int a,int b) { return (a-b); }
C、double x( a,b ) { return a-b; }
D、int x( double a , double b) { return b; } 20、以下max()方法要从传入的两个数据中找出较大的数据返回,则正确定义该方法的代码是( )。
A、 int max(int a,int b){ B、 int max(int a,int b){
if(a>b) if(a>b) ; return a ; return a ;
else if(b>a) else return b ; return b ; } } C、 int max(int a, b){ D、 int max(int a,int b){
if(a>b) if(a>b) return a ; return a ; else return b ; return b ; } }
三、 修改程序中的错误
1、 以下方法是将输入的一个整数反序打印出来,例如,输入”1234”,则输出“4321”;输入“-1234”,
则输出“-4321”,修改下面方法中的错误。 static void printopp(long n){ int i=0; if(n==0) return 0; else while(n!=0){ if(n>0 || i==0) System.out.print(n); else
System.out.print(-n); i=1; n = n;
}
} }
2、 以下程序的功能是使用递归方法求斐波那契数列前20项。修改下面程序中的错误。
public class Fibonacci{ //使用递归方法 private static int getFibo(int i){ if(i==1 || i==2) Return 1; 资料
else Return getFibo(i+1) + getFibo(i+2); } Public static void main(String args[]){
3、下面方法是求100~1000的水仙花数,改正方法中的错误。
static int fun(int n){ int i,j,k; i=n0; //i=n/100
j=n-i*10; //j=n/10-i*10
k = n/10; //k = n ; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) return n; else
return 0;
}
3、 以下程序的功能是计算下面函数的值,改正方法中的错误。
public class Fun{ static double fun(double x,double y,double z){ return Math.sin(x)/(Math.sin(x-y)*Math.sin(x-z)) } public static void main(String args[]){ double x=20,y=30,z=40; System.out.println(fun(x,y,z)+fun(x,y,z)-fun(z,x,y)); } }
四、 阅读程序
1、 阅读下列程序,说明程序的功能 public static int sumDigits(long n){ int sum = 0; 资料 while(n / 10 != 0){ sum += n % 10; n = n / 10; } sum = sum + n;
2、 阅读下列程序,说明程序的功能
public static void sort(int num1, int num2, int num3){ int temp; if(num1 > num2) { temp = num1; num1 = num2; num2 = temp; } if(num2 > num3) { temp = num2; num2 = num3; num3 = temp; } if(num1 > num2) { temp = num1; num1 = num2; num2 = temp; } System.out.println(\输入的三个数按升序排列为\ }
五、 编程题
1、 使用下述方法头,计算一个整数各位数字之和。
public static int sumDigits(long n) 2、 编写以下方法,按升序排列三个数并输出。
public static void sort(int num1, int num2, int nums)
3、 编写一个求“s=a+aa+aaa+…+aaa…a”的值的方法,其中a是一个1到9之间的数字。例如
“2+22+222+2222+22222”(此时共有5个数相加),由用户输入确定相加项数。
4、 一个数如果恰好等于它的因子之和,这个数就称为完数,例如6=1+2+3。编程找出1000以
内的所有完数。
5、 编写一个方法,计算下列级数。
m(i)=1/2+2/3+…+i/(i+1)
第六章 数组
1、一维数组声明与创建
? 声明: 数据类型[ ] 数组名;
资料
或者
数据类型 数组名
[ ];
? 创建:
数组名 = new 数据类型[数组长度];
? 声明 And 创建:
数据类型[] 数组名 = new 数据类型[数组长度] 或
数据类型 数组名[] = new 数据类型[数组长度]
2、一维数组—初始化
? 动态初始化:数组名[下标] = 值; ? 静态初始化: 数据类型 数组名[] = {元素1,元素2,元素3,元素4… …}; 或
数据类型 数组名[] =
new 数组类型[]{元素1,元素2,元素3,… …};
3、一维数组—引用
? 引用格式:数组名[下标];
? 下标取值范围为0—(数组长度-1)
? 数组的长度用length取得,调用格式为 :数组名.length 4、数组常见的操作—数组遍历
? 数组的遍历:依次访问数组中的每个元素 ? for 循环的语法为:
for (int i=0;i< 数组名.length;i++) { …//处理元素的相关代码 }
? foreach循环的语法为:
for (数据类型 变量:数组名) { …//处理元素的相关代码 }
5、二维数组---声明与创建
? 声明 数据类型 数组名[ ][ ];
或者 数据类型[ ][ ] 数组名;
? 创建 数组名 = new 数据类型[cel][ce2]; ? 声明 And 创建
数据类型[][] 数组名 = new 数据类型[ce1] [ce2]
或
数据类型 数组名[][] = new 数据类型[ce1] [ce2]
6、二维数组不规则创建
? 数组名 = new 数据类型[ce][]; ? 数组名[0] = new 数据类型[ce0]; ? 数组名[1] = new 数据类型[ce1]; ? ……
课堂记录
资料
? 数组名[N] =
new 数据类型[ceN];
7、二维数组—初始化和引用
? 静态初始化: