JAVA基础复习-day05
又是一次没按时更新。。。。。
- 练习:
* 1、输出所有水仙花数
-
水仙花:例:153 = 1*1*1 +3*3*3 + 5*5*5
* 2、输出所有7的倍数并求和 *
1、while循环
-
循环都有四要素: 1)初始化条件;
-
2)循环条件;
-
3)循环体;
-
4)迭代条件
* 2、do while循环
-
和while循环区别:
-
初始化条件
-
do{
-
循环体
-
迭代条件
-
}循环条件
-
至少会执行一次循环体;
*3、练习
- (1)从键盘输入若干个整数,并判断输入正数和负数的个数,输入o结束
*4、嵌套循环
(1)循环里面再写一个循环体,如输出*****输出400行
*(2)外层循环执行一次,内层循环执行n次,为循环条件结束循环范围
*(3)外层控制行数,内层控制列数(例子2)
*5、特殊关键字使用
*(1)break ,continue;
*(2)break使用范围,使用在switch,循环结构中;continue循环结构中
*(3)区别:break结束当前循环,continue结束本次循环;
*(4)相同点: break,continue关键字后不能声明执行语句;
*
/
* 补充:
- 1、for循环(这里就不写了)
- 2、测试一下前面复习的内容
- 题目:
- 1、switch后面使用的表达式可以是哪些数据类型
- 2、使用语句改写下列if语句
-
int a = 3;
-
int x = 100;
-
if(a==1)
-
x+=5;
-
else if a==2
-
x+=10
-
else if a==3
-
x+=16
-
else
-
x+=34
- 3、for循环遍历100以内的奇数,并计算所有奇数的和并输出
- 4、输入两个正整数m和n求最大公约数和最小公倍数,break关键字的使用
- */
- */
public class day05_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个三位数");
int num = scan.nextInt();
int b = num / 100;
int s = num % 100 / 10;
int g = num % 10;
if(b*b*b +s*s*s+g*g*g == num) {
System.out.println( "是水仙花");
}
2、输出7的倍数
int sum = 0;
for(int i = 1;i<num; i++) {
if(i % 7==0) {
System.out.println(i);
sum +=i;
}
}
System.out.println(sum);
int i = 1;
while (i<=100) {
if(i % 2==0) {
System.out.println(i);
}
i++;
}
int num=1;
do {
if(num % 2==0) {
System.out.println(num);
}
num++;
} while (num<100);
//练习:
/*
* 1、输入若干个整数:需要Scanner函数,整数:需要调用 nextInt(),若干个:需要循环执行,0结束:需要break
Scanner scan = new Scanner(System.in);
System.out.println("请输入整数:");
int num = scan.nextInt();
int sum = 0;
do {
System.out.println("再输入一个整数:");
num = scan.nextInt();
if(num % 2 !=0) {
sum +=num;
}
} while (num !=0);
System.out.println(sum);
//嵌套循环,例1,输出****四百行;
for (int i = 0; i < 4; i++) {
for(int j = 1;j<=4;j++) {
System.out.print("*");
}
System.out.println();
}
//循环嵌套,例2
//*
//**
//***
//****
//.......
for(int i = 0;i<6;i++) {
for(int j = 0;j<4;j++) {
System.out.print("*");
}
System.out.println();
}
//嵌套循环,输出乘法表例3;
int m = 0;
for(int i=1; i<=9;i++) {
for (int j = 1; j <= i;j++) {
m = j*j;
System.out.print(i + "*" + j + "=" + (i*j) + " ");
}
System.out.println();
}
//输出100以内的所有素数 例4
//素数是因子只有1和其本身为素数,如2,3,5,7,11,13,17,19.......
boolean isFlag = true; //标识i 是否被j除尽;
for (int i = 2; i <=100;i ++)
{
for (int j = 2;j<Math.sqart(i);j++) //为什么不用到i呢,只用到根号i就可以呢?
// 原因:
{
if(i%j ==0)
{
isFlag = false;
}
}
if(isFlag == true)
{
System.out.println(i);
}
isFlag = true;
}
}
}