java基础流程控制语句
for循环语句注意事项
循环 { } 中定义的变量,在每一轮循环结束后,都会从内存中释放:
js
public class ForDemo2 {
/*
注意事项:
1. 循环 { } 中定义的变量, 在每一轮循环结束后, 都会从内存中释放
2. 循环 ( ) 中定义的变量, 在整个循环结束后, 都会从内存中释放
3. 循环语句 ( ) 和 { } 之间不要写分号
*/
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
int a = 10;
System.out.println("HelloWorld");
}
}
}
循环嵌套
循环嵌套: 在循环语句中, 继续出现循环语句: 内循环对于外循环来说,只是一次循环任务,需要执行完毕,外循环才会开启下一轮 所以执行起来就是,外循环执行一次,内循环执行一圈.
js
public static void main(String[] args) {
// 外循环: 控制行数
for (int i = 1; i <= 5; i++) {
// 内循环: 控制列数
for (int j = 1; j <= 10; j++) {
System.out.print("*");
}
System.out.println();
}
}
js
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
while循环
js
while(判断语句){
整体循环语句
控制语句
}
执行流程和for循环执行流程一致
- 执行初始化语句, 在整个循环期间, 只执行一次
- 执行判断条件, 看其返回的结果是true, 还是false false : 循环结束 true : 进入第三步
- 执行循环体语句
- 执行条件控制语句
- 回到2继续
案例:
js
public static void main(String[] args) {
int i = 1;
while (i <= 5) {
System.out.println("HelloWorld");
i++;
}
}
js
public static void main(String[] args) {
double peakheight = 8848860;
double paperThickness = 0.1;
int count = 0;
int i = 1;
while (paperThickness < peakheight){
System.out.println("开始折"+ i + "下");i++ ;
paperThickness *= 2;
count++;
}
System.out.println("折了多少"+ count +"次就是珠穆朗玛峰高度");
}
概要:
while和for有什么区别?什么时候用for,什么时候用while?
功能上是完全一样的,for能解决的while也能解决,反之亦然 使用规范:知道循环次数,使用for;不知道循环次数建议使用while
do...while循环
- 执行流程
- 执行初始化语句
- 执行循环体语句
- 执行条件控制语句
- 执行循环条件,看返回结果是true还是false
- false : 循环结束
- true : 回到2继续
三种循环的区别
- for循环 和 while(先判断后执行)
- do。。。while(先执行后判断)
- 1、for循环和while的执行流程是一模一样的,功能上无区别,for能做得while也能做,反之亦然。
- 2、使用规范:如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。
- 3.其他区别:for循环中,控制循环的变量只在循环中使用。while循环中,控制循环的变量在循环后还可以继续使用。
Random生成随机数
Random 和 Scanner 类似,也是 Java 已经写好的类,我们可以使用 Random 产生随机数
js
improt java.util.random; //导包:在JDK中调用随机数生成器
pubiic class Test {
public static void main (String[]args){
Random r = new Random(); //调用随机数生成器出来
int num1 = r.nextInt(10); //赋予随机数最大值(随机数最大值不包含数值本身:0~9)
}
}
案例:
js
import java.util.Random;
import java.util.Scanner;
public class Demo006 {
public static void main(String[] args) {
System.out.println("这是个猜数字的游戏");
Random r = new Random();
Scanner sc = new Scanner(System.in);
int randomNumber = r.nextInt(100) + 1;
int randomNumer;
while (true) {
System.out.println("请输入一个数字:");
randomNumer = sc.nextInt();
if (randomNumer > randomNumber) {
System.out.println("你输入的数字大了");
} else if (randomNumer < randomNumber) {
System.out.println("你输入的数字小了");
} else if (randomNumer == randomNumber) {
System.out.println("恭喜你猜对了");
break;
}
}
System.out.println("随机生成的数字为:" + randomNumer);
}
}
break和continue
break :终止 循环体内容的执行,也就是说结束当前的整个循环。
continue :跳过 某次循环体内容的执行,继续下一次的执行。
案例
js
/*
break: 跳出, 结束循环或switch语句
*/
public static void main(String[] args) {
for (int i = 7; i <= 12; i++) {
if (i == 10) {
break;
}
System.out.println(i + "点正在学习");
}
}
js
/*
continue: 跳过某次循环, 继续下一次循环
*/
public static void main(String[] args) {
for (int i = 1; i <= 50; i++) {
if(i == 3 || i == 11){
continue;
}
System.out.println("老师正在给第" + i + "同学发冰棍儿~~~");
}
}
}
需要注意的事项
break :只能在循环、switch 当中进行使用
continue : 只能按照自循环中进行使用