赞
踩
目录
while(条件){
条件成立时要执行的代码;
使条件趋近于假的操作;
}
逻辑:当条件成立时,执行{}里面的代码,代码执行完毕之后又去判断条件,如果条件还成立继续执行{}里面的代码,........直到某一个时刻条件不成立为止
案例:利用while循环打印1-10之间的所有整数
- //利用while循环打印1-10之间的所有整数
- int n = 1;
- while (n<=10){
- System.out.println(n);
- n++;
- }
-
- //打印10-1之间的所有整数
- int m = 10;
- while (m>=1){
- System.out.println(m);
- m--;
- }
while的死循环
while(true){
}
- /**
- * 当不知道要循环多少次时建议使用死循环
- * while的死循环
- * while(true){
- *
- * }
- */
- //案例:ATM密码验证相关,编写一个程序要求用户输入密码,验证密码是否正确
- //如果不正确就一直输入知道正确为止
-
- public class H_while {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int pwd;
- while (true){
- System.out.println("请输入密码:");
- pwd = scanner.nextInt();//读取密码
- if (pwd==123456){
- break;//结束循环,不让继续输入
- }
- }
- }
-
- }

do{
要执行的代码;
使条件趋近于假的操作;
}while(条件)
逻辑:先执行{}里面的代码,然后再判断条件是否成立,成立就继续执行,直到条件不成立为止
- //do while
- int i = 10;
- do {
- System.out.println(i);
- i--;
- }while (i>=1);
do while死循环
do{
}while(true)
for(变量的初始化①;条件②;使条件趋近于假的操作④){
要执行的代码③;
}
逻辑:先①-->判断②-->执行③-->执行④-->判断②..........
- for (int i = 10; i >= 1; i--) {
- System.out.println(i);
- }
for死循环
for( ; true ; ){
}
使用循环实现ATM的密码验证:验证用户输入的密码是否正确,而且错误的次数最多三次,要做到三次之内任何一次密码成功都应该进入主界面(登录成功),如果三次都失败打印账户已冻结
break:跳出循环
练习1:找出1-100之间所有能同时被3、7整除的数字
- int x = 1;
- while (x<=100){
- if (x%3 == 0 && x%7 == 0) {
- System.out.println(x);
- }
- x++;
- }
练习2:计算出1-100之间所有数字的总和
- int y = 1;
- int total = 0;
- while (y<=100){
- total = total + y;
- y++;
- }
- System.out.println(total);
练习3:找出两个数字的最小公倍数
- //最小公倍数>=更大的那个数
- //最小公倍数<=更大的那个数*小的那个数
- //[更大的那个数,大*小]
-
- int x = 6;
- int y = 2;
- //确定更大的数字
- int max = 0;
- if (x>=y){
- max = x;
- }else {
- max = y;
- }
-
- //for循环
- for (int i=max;i<=x*y;i++){
- if (i%x==0 && i%y==0){ //第一个找到的数字就是最小公倍数
- System.out.println(i);
- break; //找到之后不应该继续找
- }
- }
-
- //while循环
- int j = max;
- while (j<=x*y){
- if (j%x==0 && j%y==0){
- System.out.println(j);
- break;
- }
- j++;
- }

练习4:找出两个数字的最大公约数
- int p = 6;
- int q = 3;
- int min = p<=q ? p : q;
-
- int z = min; //从后向前找
- while (z>=1){
- if (p%z==0 && q%z==0){
- System.out.println(z);
- break;
- }
- z--;
- }
练习5:猜数字
- //随机生成数字
- //1 创建数字随机生成器
- Random random = new Random();
- //2 利用生成器生成数字
- int num = random.nextInt(100)+1;//生成[1-100]之间的数字
- int guess;
- Scanner scanner = new Scanner(System.in);
- while (true){
- System.out.println("请输入一个数字");
- guess = scanner.nextInt();
- if (guess>num){
- System.out.println("猜大了");
- }else if (guess<num){
- System.out.println("猜小了");
- }else {
- System.out.println("猜中了");
- break;//不在继续猜
- }
- }

目:只运算符操作的数据个数
单目运算符
++ -- a++ b-- ~c ~5
双目运算符
+ - * / a+b
?:
条件/表达式?值1:值2;
条件/表达式成立吗?成立就得到值1,否则得到值2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。