作者简介: 辭七七,目前大一,正在学习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、因为遇到了 break
if (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、因为遇到了 break
if(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 == 123
int count = 0;//记录位数
int tmp = i;
while (tmp != 0) {
tmp /= 10;
count++;
}
tmp = i;//123
int 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基础篇】逻辑控制练习题与猜数字游戏,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!💕💕