Java零基础小白入门必做题汇总(建议收藏)第一篇

Posted MR.SEEEKS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java零基础小白入门必做题汇总(建议收藏)第一篇相关的知识,希望对你有一定的参考价值。

最近有很多小伙伴都升大二了,相信大家大一都学的C语言和数据结构,大二现在突然开始Java难免有些不习惯。这不,我给大家总结一些题来帮大家更好的学习。

第1题:
选择题:
switch(){}结构中,括号中可使用的数据类型不能是( )。 多选

A.long
B.int
C.short
D.float

解析:我们常用的都是int类型的,但是对于long、short、float类型是否能使用并不知道,实践出真知。我们一起到编译器中看看吧。

我们定义四个变量分别是a,b,c,d,e,f代表6种不同的数据类型。再使用switch分别将a,b,c,d,e,f带入。发现只有int类型的a和short类型的b是可以的,其余都被划上了红线线。这就说明只有int,short类型可以。所以这道题选A.D



第2题:
编程题:请编写程序数一下 1到 100 的所有整数中出现多少个数字9。

补充:9的倍数即可。像9、99、18。这样的数都算数字9.

思路分析:
9的倍数,我们可以用“ % ”取余的方式来计算。%的意思就是一个数除了它,还剩多少。
举一个例子: 10%9; 这里意思是10除以9得1,最后还剩了一个1。而这个1就是取余的结果。
知道了取余是什么意思,接下来就可以写代码啦。一起来看看吧,代码中注释也是很详细的哦。

 //计算1到 100 的所有整数中出现多少个数字9。
        //定义计数器count,记录9出现的次数
        int count=0;
        for (int j = 1 ; j <=100  ; j++) {
            //别忘了判断相等用两个等于号哦
            if(j%9==0){
                //如果出现就了就打印出来方便查看
                System.out.print (j);
                //为了方便观察我们让这些数字都在同一行,并且一个空格隔开
                System.out.print (" ");
                //出现了9就让计数器count加一;
                count++;
            }
        }
        //换行
        System.out.println ();
        //循环结束,打印count的值
        System.out.print ("count的值是:");
        System.out.println (count);
    }

程序执行结果:


第3题:
编程题:输出 1000 - 2000 之间所有的闰年

补充:年份是4的倍数,且不是100的倍数的,为闰年。或者能够被400整除的也是闰年。

思路分析:
关于倍数相信大家从第二道题已经有想法了,谁是谁的整数倍不就是取余嘛。那我们利用取余和逻辑判断的知识来输出1000-2000之间的闰年。
在这里再给大家补充一些逻辑关系操作符。
&& :前后都为真,结果才为真
|| :只要一个为真,结果就为真。

代码实现:

    /**
         * 输出 1000 - 2000 之间所有的闰年
         */
        for (int i = 1000 ; i <= 2000 ; i++) {
            if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
                System.out.print (i);
                System.out.print (" ");
            }
        }
    }

程序执行结果:
后面还有很多,我这里放一部分。


第4题:
编程题:判断一个数是否是素数
题目来源牛客网:
链接:素数判断

补充:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

思路分析:
将一个数从2开始试除,除到这个数但不包括它自己。在过程中如果取余等于0了那么直接返回false,因为它可以整个这个数。循环结束之后,返回true。

代码实现:

class  Solution{
    public  static  Boolean isPrime(int num){
        if(num==2 ||num==3) {
            return true;
        }
        for (int i = 2 ; i <num  ; i++) {
            if(num%i==0){
                return  false;
            }
        }
        return  true;
    }
    public static void main (String[] args) {
        Scanner scanner=new Scanner (System.in);
        int num=scanner.nextInt ();
        System.out.println (isPrime (num));
    }


第5题:
编程题:求斐波那契数列的第 N 项
链接:https://www.nowcoder.com/questionTerminal/d143f3c5c54742768cb5406feed5641
来源:牛客网

形如1, 1, 2, 3, 5, 8, 13, 21, 34, 55的数列,后一位是前面两位相加(斐波那契数列),写出函数要求找到第 N 位是多少,如:fib(3) => 3 , fib(5) => 8。

思路分析:斐波那契数列的第n项公式是F(n)=F(n-1)+F(n-2);因此我们可以用递归来做。

代码实现:

 /**
     * 斐波那契数列
     * @param num
     * @return
     */
    public  static  int fibnona(int num){
        if(num==1 || num==2){
            return  1;
        }
        return  fibnona (num-1)+fibnona (num-2);
    }

第6题:
编程题:按顺序打印一个数字的每一位(例如 1234 打印出 1 2 3 4)

思路分析:
对于一个一位数,也就是小于等于9的数字,我们可以直接打印它本身。对于大于1位数的数字,可以先除10在递归,递归到这个数小于等于9,这时候返回。在打印它对10取余的结果。

代码实现:

  public  static  void printNum(int num){
        if(num<=9){
            System.out.println (num);
            return;
        }
        printNum (num/10);
        System.out.println (num%10);
    }

实现结果:
这里传一个1234.

第7题:
编程题: 求一个数组的平均值

思路:
将这个数组的每个元素都加起来,在除以它本身数组的长度,就是数组的平均值了。注意平均值需要取double类型。

代码:

  public  static  double  average(int []arr){
        int sum=0;
        double avg=0;
        for (int i = 0 ; i < arr.length  ; i++) {
            sum+=arr[i];
        }
        avg=sum/arr.length;
        System.out.println (avg);
        return  avg;
    }

效果:
假设数组是 int []array={1,2,3,4,5};


好了,以上就是这次的题目啦,大家觉得难度或者数量上有什么问题欢迎私信或者评论区留言哦。

以上是关于Java零基础小白入门必做题汇总(建议收藏)第一篇的主要内容,如果未能解决你的问题,请参考以下文章

历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)

历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)

微信小程序开发小白零基础入门微信小程序入门建议收藏

两万字Vue基础知识总结,小白零基础入门,跟着路线走,不迷路(建议收藏)

爆肝10000字,小白零基础入门,简历上的项目经验该怎么写?(建议收藏)

两万字《Java完全自学手册》15张导图,送给所有的零基础小白(建议收藏)