1.例题:遍历100以内的偶数,输出所有偶数的和,及偶数的个数
class ForTest{
public static void main(String[] args){
//i:在for循环内有效。出了for循环就失效了
//原因:i是在for循环中定义的,只在for循环中有效
//System.out.println("i="+i);
//练习
int num = 1;
for(System.out.print('a');num<=3;System.out.print('c'),num++){
System.out.print('b');
}//输出结果:abcbcbc
//num定义在for循环之外,任然在for循环中有效,在整个class类中也有效
System.out.println("num="+num);
//例题:遍历100以内的偶数,输出所有偶数的和
int sum = 0;//记录偶数的和
int count = 0;//记录偶数的个数
System.out.println("遍历100以内的偶数");
for(int i = 1;i<=100;i++){
if(i%2==0){
switch(i/10){//将偶数分为两行
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
if(i==50){
System.out.print('\n');//当i==50时换下一行
}
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.print(i+" ");
if(i==100){
System.out.print('\n');
}
break;
}
count++;//记录偶数个数
sum += i;//记录偶数的和
}
}
System.out.println("所有偶数的和为:"+sum);
System.out.println("记录偶数的个数:"+count);
/* 给偶数分成5行
if(i<=20){//前20个数
if(i<20){
System.out.print(i+",");
}else{
System.out.println(i);
}
}else if(i<=40){//20-40
if(i<40){
System.out.print(i+",");
}else{
System.out.println(i);
}
}else if(i<=60){//40-60
if(i<60){
System.out.print(i+",");
}else{
System.out.println(i);
}
}else if(i<=80){//60-80
if(i<80){
System.out.print(i+",");
}else{
System.out.println(i);
}
}else if(i<=100){//80-100
if(i<100){
System.out.print(i+",");
}else{
System.out.println(i);
}
}*/
}
}
2.编写程序从1循环到150,并在每行打印一个值,
另外在每个3的倍数行上打印出“foo”,
在每个5的倍数行上打印“biz”,
在每个7的倍数行上打印输出“baz”
class ForTest1{
public static void main(String[] args){
for(int i=1;i<=150;i++){
System.out.print(i+" ");
//if结构并列都执行
if(i%3==0){
System.out.print("foo"+" ");
}
if(i%5==0){
System.out.print("biz"+" ");
}
if(i%7==0){
System.out.print("baz"+" ");
}
System.out.println();
//if-else多选一
/* if(i%3==0){
if(i%5==0&&i%7==0){
System.out.print(i+" ");
System.out.println("foo"+" "+"biz"+" "+"baz");
}else if(i%5==0){
System.out.print(i+" ");
System.out.println("foo"+" "+"biz");
}else if(i%7==0){
System.out.print(i+" ");
System.out.println("foo"+" "+"baz");
}else {
System.out.print(i+" ");
System.out.println("foo");
}
}else if(i%5==0){
if(i%7==0){
System.out.print(i+" ");
System.out.println("biz"+" "+"baz");
}else {
System.out.print(i+" ");
System.out.println("biz");
}
}else if(i%7==0){
System.out.print(i+" ");
System.out.println("baz");
}else {
System.out.println(i);
}*/
}
}
}
3.题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
比如:12和20的最大公约数是4,最小公倍数是60。
说明:break关键字的使用
import java.util.Scanner;
class ForTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print("请输入第一个正整数:");
int m = scan.nextInt();
System.out.print("请输入第二个正整数:");
int n = scan.nextInt();
//获取最大公约数:公约数一定比最小值要小,且会被两个整除
//1.获取两个数中的最小值
int min = (m<=n)? m:n;
//2.遍历
for(int i = min;i>=1;i--){
if(m%i==0&&n%i==0){
System.out.println("最大公约数为:"+i);
break;//一旦在循环中执行到break1则跳出循环
}
}
//获取最小公倍数:公倍数一定比最大值要大,一般最小公倍数不会超过两数的乘积
//1.获取两个数中的的最大值
int max = (m>=n)? m:n;
//遍历
for(int i = max;i<=m*n;i++){
if(i%n==0&&i%m==0){
System.out.println("最小公倍数:"+i);
break;
}
}
}
}
4.练习
1.
打印
1~100
之间所有奇数的和
2.
打印
1~100
之间所有是
7
的倍数的整数的个数及总和(体会设置计数
器的思想)
3.
输出所有的水仙花数,所谓水仙花数是指一个
3
位数,其各个位上数
字立方和等于其本身。
例如:
153 = 1*1*1 + 3*3*3 + 5*5*5
int sun=0;
for(int i=1;i<=100;i++){
sun+=i;
}
System.out.println("100以内的和为:"+sun);
/*
打印1~100之间所有奇数的和
*/
int sum = 0;//奇数和
for(int i=1;i<=100;i++){
if(i%2 != 0){
System.out.print(i+" ");
sum += i;
}
}
System.out.println("奇数的和为:"+sum);
//打印1~100之间所有7的倍数的整数的个数及总和
int sum2=0;
int count=0;
for(int i=1;i<=100;i++){
if(i%7==0){
sum2 +=i;
count++;
}
}
System.out.println("7的倍数的个数为:"+count+" "+"7的倍数总合是:"+sum2);
/*
输出所有的水仙花数,所谓水仙花数是指一个3位数,
其各个位上数字立方和等于其本身。
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
*/
int bw=0;//百位数
int sw=0;//十位数
int gw=0;//个位数
for(int i=100;i<1000;i++){
bw=i/100;
sw=i/10%10;//或i%100/10;
gw=i%10;
if(bw*bw*bw+sw*sw*sw+gw*gw*gw==i){
System.out.println("水仙花数是:"+i);
}
}