作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用,数组的使用,类和对象,继承和多态,抽象类和接口等内容
欢迎大家点赞收藏 ⭐ 加关注哦!


文章目录

  • 1. if语句练习
  • 2. while循环练习
  • 3. for循环练习
  • 4.总结练习
  • 5.猜数字游戏

1. if语句练习

判断一个年份是否为闰年

int year = 2000;if (year % 100 == 0) {// 判定世纪闰年if (year % 400 == 0) {System.out.println("是闰年"); } else {System.out.println("不是闰年"); }} else {// 普通闰年if (year % 4 == 0) {System.out.println("是闰年"); } else {System.out.println("不是闰年"); }}

2. while循环练习

1. 计算 5 的阶乘
5!= 5 * 4 * 3 * 2 * 1

int n = 1;int ret = 1;while(n <= 5){ret = ret * n;n++;}System.out.println(ret);

运行结果:

2. 计算 1! + 2! + 3! + 4! + 5!
我们基于上一题的代码,在写一个循环,使得可以求到5的阶乘,再把他们相加,代码如下所示:

int k =1;int sum = 0;// 外层循环负责求阶乘的和while(k <= 5) { int n = 1; int ret = 1; // 里层循环负责完成求阶乘的细节.  while (n <= k) {ret = ret * n;n++; } k++; sum = sum + ret;}System.out.println(sum);

运行结果:

3. for循环练习

1. 计算 5 的阶乘

int result = 1;for (int i = 1; i <= 5; i++) {result *= i;}System.out.println("result = " + result);

运行结果:

2. 计算 1! + 2! + 3! + 4! + 5!

int sum = 0;for (int i = 1; i <= 5; i++) {int tmp = 1;for (int j = 1; j <= i; j++) {tmp *= j; }sum += tmp;}System.out.println("sum = " + sum);

运行结果:

4.总结练习

1. 判定一个数字是否是素数
如果能够整除2~根号n之间所有的数,那么他就不是素数

代码演示:

public class TestDemo {public static void main(String[] args) {int n = 19;int i = 2;for (; i <=Math.sqrt(n) ; i++) {if (n % i == 0){break;}}//有两种情况1、 不符合循环条件 2、因为遇到了 breakif (i > Math.sqrt(n)){System.out.println(n + " 是素数! ");}}}

运行结果:
2. 打印 1 – 100 之间所有的素数

for (int n = 1; n <= 100; n++) {//int n = 9;int i = 2;for (; i <= Math.sqrt(n); i++) {if(n % i == 0) {break;}}//有几种情况 ? 2--》1、 不符合循环条件 2、因为遇到了 breakif(i > Math.sqrt(n)) {System.out.println(n + " 是素数! ");}}

打印结果:

3. 求出0~999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数
本身,如: 153=13+53+3^3 ,则153是一个“水仙花数”。)

我们先来了解一下水仙花数是什么,如图所示:

常见的水仙花数:

代码演示:

 for (int i = 1; i <= 999999; i++) {//i == 123int count = 0;//记录位数int tmp = i;while (tmp != 0) {tmp /= 10;count++;}tmp = i;//123int sum = 0;while (tmp != 0) {sum += Math.pow(tmp % 10, count);tmp /= 10;}if (sum == i) {System.out.println(i);}}

获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
代码演示:

int n = -1;int count = 0;while (n != 0) { n = n & (n-1); count++;}System.out.println(count);

5.猜数字游戏

 public class TestDemo {public static void main(String[] args) {Random random = new Random();Scanner scanner = new Scanner(System.in);int randNum = random.nextInt(101);//[0,101) //50-100的随机数 random.nextInt(50)--[0,50)+ 50;while(true){ System.out.println("请输入你要猜的数字"); int sum = scanner.nextInt(); if(sum < randNum){ System.out.println("猜小了"); }else if(sum == randNum){ System.out.println("猜对了"); break;}else{System.out.println("猜大了"); } }}}

运行结果:

关于【Java基础篇】逻辑控制练习题与猜数字游戏,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!