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;//一定注意!!!死循环必须设置出口!!!
}
}
}
}