Java 循环面试题

package cn.tedu.basic3;
/**本类用作for循环入门案例*/
public class TestFor1 {
	
	public static void main(String[] args) {
		//System.out.println("欢迎来到Java的世界,可爱的程序猿们");
		for(int i=1;i<=10;i++) {
			System.out.println(i);
		}
		
		System.out.println("=================================");
		
		//需求1:向控制台打印数字1-10
		//1 2 3 4 5 6 7 8 9 10
		//从哪开始1 到哪束10  如何变化++
		for(int i=1;i<=10;i++) {
			System.out.println(i);
		}
		
		System.out.println("==========================================");
		
		//需求2:向控制台答应数字10-1
		//10 9 8 7 6 5 4 3 2 1
		//从哪开始10 到哪结束1 怎么变化
		for(int i=10;i>=1;i--) {
			System.out.println(i);
		}
		
		System.out.println("===========================================");
		
		//需求2:向控制台打印1-100以内所有的偶数
		for(int i=1;i<101;i++) {
			if(i%2==0) {//只要是偶数,才打印
				System.out.println(i);
			}
			
		}
		
		System.out.println("=============================");
		
		for (int i = 2; i <=100; i=i+2) {
			System.out.println(i);
		}
		
		System.out.println("=============================");
		//需求3:向控制台打印1-100以内所有的奇数
		for(int i= 1;i<101;i++) {
			if (i%2!=0) {
				System.out.println("奇数:"+i);
			}
		}
		
		for(int i = 1;i<=100;i=i+2) {
			System.out.println("奇数2:"+i);
		}
		
		//需求4:向控制台打印 :8,88,888,8888
		// 8 88 888 8888
		for(int i=8;i<=8888;i=i*10+8) {
			System.out.print(i+",");
		}
		
	}
}

package cn.tedu.basic;
/**利用嵌套for循环打印左直角三角形*/
//行1星1 *
//行2星2 * *
//行3星3 * * *
//行4星4 * * * *
//行5星5 * * * * *
//行6星6 * * * * * *
//行i星i * * * * * * *

public class TestForDemo2 {

	public static void main(String[] args) {
		for(int i=1;i<=7;i++) {
			/**注意:需要修改内层循环的循环条件,让j的最大值随着i的变化而变化
			 * 不能将j的最大值写死,否则就是一个矩形了*/
			for(int j=1;j<=i;j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

}

99乘法表

package cn.tedu.basic;
/**本类利用嵌套for循环完成99乘法表*/
//1*1=1	
//1*2=2	2*2=4	
//1*3=3	2*3=6	3*3=9	
//1*4=4	2*4=8	3*4=12	4*4=16	
//1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
//1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
//1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
//1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
//1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	
public class Test99forExcel {
	public static void main(String[] args) {
		//完成一个9*9的左直角三角形
		for (int i = 1; i <=9; i++) {//外层循环,控制行数i
			for(int j=1;j<=i;j++) {//内层循环,控制列数j
				//System.out.print("*");、
				/**\在编程中表示转义符号,\t表示制表符*/
				System.out.print(j+"*"+i+"="+j*i+"\t");
				
			}
			System.out.println();
		}
	}
}

猜数字

package cn.tedu.basic2;

import java.util.Scanner;

/**本类用于测试关键字break与continue*/
public class TestBreakAndContinue {
	public static void main(String[] args) {
		//需求:给用户100次机会,猜数字,如果猜中88,结束游戏,不是88就继续猜
		//循环可以帮我们完成重复的事情,控制for循环执行100次
			//1.提示并接收用户猜的数字
		for(int i=1;i<101;i++) {
			System.out.println("猜猜看:");
			int input = new Scanner(System.in).nextInt();
			
			//2.判断用户的输入情况
			if(input!=88) {
				System.out.println("没猜对,继续猜");
				System.out.println("剩余猜数的次数:"+(100-i));
				/**注意:不论加不加continue,都可以在输不对的情况下继续输入
				 * 只不过加了continue以后效率更高,只要数据不等于88,就跳过后面语句
				 * 直接进行下一轮循环让用户继续猜*/
				continue;
				/**注意:无论是continue还是break,都不可以在其后直接添加语句
				 * 因为都是不可达到的代码,永远不会被执行到,会报错*/
				//System.out.println(1);
			}
			
			System.out.println("我就是看看continue有没有用");
			if(input==88) {
				System.out.println("恭喜你!猜对了");
				System.out.println("一共猜了"+i+"次");
				break;/**结束循环,不论在第几轮*/
				//System.out.println(1);
			}
		}
	}

}

猜数字while

package cn.tedu.basic2;

import java.util.Random;
import java.util.Scanner;

/**本类用于练习循环结构while*/
public class TestWhile {
	public static void main(String[] args) {
		//需求:生成一个随机数,然后让用户猜这个随机数,直到用户猜对为止
		//1.生成一个随机数
		//参数100是自定义,此时随机数的范围[0,100),含头不含尾
		int r = new Random().nextInt(100);
		System.out.println(r);//打个小炒
		
		//2.写一个死循环
		while(true) {
			//3.接受用户输入的数据
			System.out.println("猜猜看");
			int input = new Scanner(System.in).nextInt();
			//4.判断用户是否猜对(拿随机数与用户猜的数字作比较),并给与提示
			if(input >r) {
				System.out.println("猜大了,继续猜猜看");
			}else if(input<r) {
				System.out.println("猜小了,大胆点儿");
			}else if(input ==r) {
				System.out.println("恭喜你!猜对了!");
				break;//一定注意!!!死循环必须设置出口!!!
			}
			
		}
	}
}
	
04-07 11:12