循环: do…while循环
while循环
for循环
do…while 循环 :
do{
循环语句体;
条件控制语句;
} while(判断语句,为真执行,为假跳出);
案例:
打印出三次hello world。
do…whlie 循环
int i = 0;
do{
System.out.println(“hello world”);
i++;
}while(i<3);
While 循环:
While(判断语句,为真执行,为假跳出){
循环体语句;
条件控制语句;
}
案例:
打印出三次hello world。
int i = 0;
while(i<3){
System.out.println(“hello world”);
i++;
}
for循环
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
案例:
打印出三次hello world。
for(int i = 0;i<3;i++ ){
System.out.println(“hello wreld”);
}//不建议在循环之中定义变量。
三种循环的区别:
- for循环和while循环是先判断后执行,而do…while循环则是先执行(一次)后判断。
- for和while的区别
条件控制语句所控制的自增变量,因为归属于for的语法结构体中,在for循环结束后,就不能够再被访问了。但是针对于while来说,自增变量是不归属于其语法结构的,在该循环结束后,该变量可以继续使用。(指的是如果在for(int = 0;…;……)里面定义了的变量,而实际上,一般我们定义变量,并不会选择在循环之中定义。) - **死循环(无限循环)的三种格式
- for(;;){ }
- while(true){ }
- do{ }while(true);**
嵌套循环
(外部循环执行一次,内部循环全部执行到循环结束,然后再进行外部循环……)
案例:
for(int i = 0;i < 10;i++){
for(int j = 0; j < 10;j++){
System.out.println(“嵌套循环。”)
}
}//不建议在循环之中定义变量。
如上嵌套循环之中,i每增加1,则j循环10次。只有当i循环到不满足条件之后,该嵌套循环才能够结束。
关于i++,i–的解释说明;
在循环体中,无论是i++还是i—都是每一次进行进行1的增减,并且++或者—都是可以将值存入到i中,类似于i+=1或者i-=1的意思!
所以,当我们使用循环语句让其一次进行>1的增减的话,我们应该适应+=或者-=。
否则,我们进行增减的得到的新的值无法进行存储,将会报错!
案例:
public class Work02{
public static void main(String args[]){
int year = 2019;
for(;year>=1949;year-=12){
System.out.print(" "+year);
}
}
}
continue和break的使用:
continue是**跳过**当前循环,只跳过一次循环然后执行下一次循环。
break 是**跳出**所有循环。
Continue是跳过,而break是跳出。
案例:
//continue
public class TestDay305{
public static void main(String args[]){
int i;
for(i = 0;i<10;i++){
if (i % 2 == 0){
continue;
}System.out.println(i);
}
}
}
//break
public class TestDay305{
public static void main(String args[]){
int i;
for(i = 0;i<10;i++){
if (i % 2 != 0){
break;
}System.out.println(i);
}
}
}
Scanner
导 包: import java.util.Scanner;
创 建 对 象:Scanner sc = new Scanenr(System.in);
可以 输入整数:int a = sc.nextInt();
可以输入浮点数:double b = sc.nextDouble();
可以输入字符串:String c = sc.next();
Random
导 包:import java.util.Random;
创建 对象:Random r = new Random();
创建随机数:int a = r.nextInt(10);
创建随机数详解:
int a = r.nextInt (10); 指的是生成0-9的随机数。
int a = r.nextInt(10)+1;+1是指的是先执行生成一个随机数之后让生成的随机数+1;例如生成数是5,则最后输出的数字是6。所以,如果我们想要生成的是1-10之间的随机数,可以用以上的方式。不可以在括号内写(11),因为这样生成的数是0-10,并不是1-10;
如果我们想要生成某个区间的随机数,例如生成50-100之间的随机数!则:
有公式:int a = r.nextInt(大的数-小的数+1)+小的数;
代入公式则是:int a = r.nextInt(100-50+1)+50;//生成50-100之间的随机数,意思是先生成0-50之间的随机数之后,再+50。即以50为底。
彩蛋:
关于switch的经典的面试题:
int a = 8;
switch(a){
default:System.out.println(“a”);
case 1:System.out.println(“b”);
case2:System.out.println(“c”);
}
问:上述程序输出结果?
答案是:abc
详解:switch 分支语句的分支先运行case后运行default,无视代码的顺序。而本题因为分支语句后没有“break”,则循环不会被终止。程序的执行顺序为case1→case2→default→case1→case2
所以,最后的输出结果是abc。