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基础知识总结,小白零基础入门,跟着路线走,不迷路(建议收藏)