• 尚学堂java答案解析 第三章


    本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改

    一.选择题

    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
    ",t);
           }
    
    
        }
        public static int  callBack(int i){//定义静态函数
            temp=sum;
            sum=sum+i;
            System.out.printf("sum:%d 	 temp:%d	",sum,temp);
            return temp+sum;
        }
    }

    3.斐波那契数列,通项公式 large x_{n} = x_{n-1}+x_{n-2}  large (n>=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); //递归调用
        }
    }
    
  • 相关阅读:
    安装设置Android Studio Win7安装
    执行对象cocos2dx 2.x action动作整理集合
    查询生成三大框架整合 提示 不能进行查询错误
    一些链接
    成员函数指针与高性能的C++委托
    举例说明Linux不同网段访问的设置办法
    ubuntu 服务管理
    Ubuntu之开机检测硬盘
    Ubuntu 10.04开启字符模式并设置静态IP
    Ubuntu终端ssh连接服务器慢的解决方法
  • 原文地址:https://www.cnblogs.com/jeasion/p/10758377.html
Copyright © 2020-2023  润新知