import java.util.Random; import java.util.Scanner; /* * * 条件循环 while,do while * */ public class While { //1输出1-6 //2输出1,3,5,7 //3输出6-1 // public static void test() { int i = 1; while (i++ < 6) { System.out.println(i); } i = 1; while (i < 6) { i++; System.out.println(i); } i = 1; //先判断再加加,上面二者一样 while (++i < 6) { System.out.println(i); } i = 1; //先加加在判断不能替代 while (i < 6) { System.out.println(i++); } i = 1; while (i < 6) { System.out.println(i); i++;//++i更好 } //同样这样也可以,也就是说可以直接拿出来,小技巧 i = 1; while (i < 6) { System.out.println(i); i += 1;//好于i = i+1; } //第一种最好,赋值,自增一起操作 //输出1-6 int num = 1; while (num <= 6) {//num表示要输出的值,有点像for in (int num:arr) System.out.println(num++); } //输出6-1 while (num >= 2) { System.out.println(--num); } //输出1,3,5,7 while (num <= 7) { System.out.println(num); num += 2; } num = 1; while (num < 20) { System.out.println(num); num += 2; if (num > 7) { break; } } num = 1; while (num < 20) { if ((num & 1) == 0) {//偶数 num++;//偶数也要++ continue; } System.out.println(num++); if (num > 7) { break; } } } // Thread.currentThread()返回线程类对象 //此对象有sleep()方法 暂时休眠,会醒的,参数是long类型, 1000ms = 1s //每两秒输出逐个输出1,3,5,7 //Thread.sleep(2000); //定时,时间戳 //do while最少执行一次,第一次就不判断了 //确实需要 public static void main(String[] args) { // testLozenge(); // game(200,1000); test(); } //猜数游戏 public static void game(int start, int end) { //随机数 Random random = new Random(); int num = random.nextInt(100);//可以传递参数控制范围 System.out.println("随机数是" + num); //产生随机数的范围,公式 bound:多少个数, +1从第几个数开始 num = random.nextInt(end - start + 1) + 1;//随机数公式 System.out.println("随机数范围为" + start + "-" + end); System.out.println("随机数是" + num); //键盘获取数值 Scanner sc = new Scanner(System.in); // System.out.println("请输入随机数的范围"); int count = 0;//计数器 //最多尝试10次---这里可以改为for while (count < 10) { count++; System.out.printf("请在%d-%d范围内输入一个数", start, end); if (!sc.hasNextInt()) { //可以判断下一个数是否整数 count--; System.err.println("请输入整数"); sc.nextLine(); } int num2 = sc.nextInt(); if (num2 < start || num2 > end) { System.err.printf("您输入的整数不在合适范围内,请重新输出,范围是%d-%d%n", start, end); count--; continue; } if (num2 == num) { System.out.println("挑战成功"); break; } else { if (num2 > num) { System.out.println("您输入的数过大"); } else { System.out.println("您输入的数过小"); } } System.out.println("您的一共尝试了" + count + "次" + "还有" + (10 - count) + "次机会"); } if (count == 10) { System.out.println("游戏结束"); } } //System.err.println();错误输出信息 //输出菱形 //如果用到while,注意条件位置,增量位置。可以没有,但是若是有,需要添加。用for更方便 public static void testLozenge() { // int splength = 20; int xlength = 1;//初始值 int line = 1; while (line < 20) {//20 int i = 0; //先输出,还是先增加 while (i++ < splength) { System.out.print(" "); } i = 0; while (i++ < xlength) { System.out.print("*"); } System.out.println(); if (line < 10) {//是否添加等号 xlength += 2; splength--; } else { xlength -= 2; splength++; } line++; } } }
javaSE练习Day02 while条件循环
最新推荐文章于 2022-10-27 23:50:31 发布