本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改
一.选择题
1.A
2.BD
解析:switch的的判断表达式的数据类型:byte short int char,注意case里的数据是int型,所以String并不行
3.A
解析:0+3+5=8
4.BD
解析:函数重载时对返回数据类型不做检查,但形参数量或类型必须变化,B和原函数是同一函数,D中形参数据个数和类型和原函数相同
5.B
解析:非静态变量,形参并不影响实参.
二,简答题
1.https://blog.csdn.net/wendy_yuanyuan/article/details/48138413
2.break是跳出循环,continue是直接进入下一次循环
3.使用break- label,先在循环之前加入一个label标签,然后break label;
4.定义:一个类中可以有多个相同名字的方法
作用:行为多态
判断依据:同方法名,不同的形参个数或数据类型
5.定义:方法自身调用自身
优点:代码简洁,可以省去很多循环
缺点:需要消耗大量计算机资源
三.编程题
1.
import java.util.Scanner;
public class Binary {
public static void main(String[] args) {
int decimal;
String Sbinary;
int binary;
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
decimal = input.nextInt();
Sbinary = Integer.toBinaryString(decimal);
binary = Integer.parseInt(Sbinary);
System.out.printf("二进制数为:%d",binary);
}
}
2.
/**
第一种方法,简单,但没综合调用方法
*/
public class Sum {
public static void main(String[] args) {
int sum = 0;
int step = 0;
for(int i = 0; i <= 100; i++){
step += i;
sum += step;
}
System.out.println("sum:"+sum);
}
}
/**
第二种方法,综合调用方法,还有一些static知识
*/
public class Sum {
static int sum =0;//定义全局静态变量
static int temp=0;
public static void main(String[] args) {
int i=1;
for(;i<=100;i++){
int t;
t=callBack(i);
System.out.printf("t:%d\n",t);
}
}
public static int callBack(int i){//定义静态函数
temp=sum;
sum=sum+i;
System.out.printf("sum:%d \t temp:%d\t",sum,temp);
return temp+sum;
}
}
3.斐波那契数列,通项公式
public class Fibonacci {
public static void main(String[] args) {
int before = 0;
int now = 1;
Recursion recursion = new Recursion();
System.out.println("第40个数:"+recursion.Recursion(before,now));
//方法二
int[] nums = new int[40];
nums[0] = nums[1] = 1; //第一个和第二个不满足通项公式
for (int i = 2; i < nums.length; i++) {
nums[i] = nums[i-1] + nums[i-2];
}
System.out.println("nums:"+nums[nums.length-1]);
}
}
class Recursion{
int i=1;
int Recursion(int before ,int now){
if(i > 40){ //第几个数
return before;
}
//now(下一个斐波那契数)=now(上一个斐波那契数)+before(前两个斐波那契数)
now += before;
//before(前一个斐波那契数)=now(新的斐波那契数)-before(前两个斐波那契数)
before = now -before;
i++;
return Recursion(before , now); //递归调用
}
}