循环语句
什么时候时使用循环语句::
当我们发现一件事或者一段代码在重复执行,我们就可以考虑循环语句了
1.for循环
1.格式:
for(初始化变量;比较;步进表达式){
循环语句 ->哪段代码循环执行就把那段代码放到里面
}
2.执行流程
a.先走初始变量
b.比较,如果是true,走循环语句,走步进表达式(初始化的变量的值进行变化)
c.再比较,如果还是true,继续走循环语句,走步进表达式
d.再比较,直到比较为false,
列举:
public class Demo01For {
public static void main(String[] args) {
for (int i = 0;i<3;i++){
System.out.println("我爱java");
}
}
}
分析:
for (int i = 0;i<3;i++){
System.out.println("我爱java");
i=0;i<3? -> true ->我爱java -> i++
i=1;i<3? -> true ->我爱java -> i++
i=2;i<3? -> true ->我爱java -> i++
i=3;i<3? -> false -> 结束循环
===============
for循环的快捷键:次数.fori
1.1练习
for循环:求1-3之间的数据和,并把求和结果输出到控制台上
1+2+3
步骤:
1.定义一个变量,原来接受两个数的和 sum
2.利用for循环将1-3表示出来
3.在循环的过程中两两相加,将结果赋值给sum
4.输出sum
public class Demo02For {
public static void main(String[] args) {
//步骤:
//1.定义一个变量,用来接受两个数的和 sum
int sum = 0;
//2.利用for循环将1-3表示出来
for (int i = 1; i <= 3; i++) {
// 3.在循环的过程中两两相加,将结果赋值给sum
sum = sum + i;
}
// 4.输出sum
System.out.println("sum = " + sum);
}
}
sum=0,i=1 -> i<=3? -> ture -> sum = 0+1;i++
sum=1,i=2 -> i<=3? -> true -> um = 1+2;i++
sum=3,i=3 -> i<=3? -> true -> sum = 3+3;i++
sum=6.i=4 -> i<=3? -> false -> 循环结束,输出sum -> 6
练习
需求:求出1-100的偶数和
public class Demo03For {
public static void main(String[] args) {
//1.定义一个变量sum,接受两个偶数和
int sum = 0;
//2.利用for循环将1-100表示出来
for (int i = 1; i <= 100; i++) {
//3.判断,如果是偶数,相加,将加的结果赋值给sum
if (i % 2 == 0){
sum = sum + i;
}
}
//4.输出sum
System.out.println("sum = " + sum);
}
}
统计一下1-100之间的偶数个数
2.while循环
1.格式:
初始化变量
while(比较){
循环语句;
步进表达式
}
2.执行流程
a.初始化变量
b.比较,如果是true,走循环语句,走步进表达式(初始化的变量的值进行变化)
c.再比较,如果还是true,继续走循环语句,走步进表达式
d.再比较,直到比较为false,
=============================
public class Demo01While {
public static void main(String[] args) {
int i = 0;
while (i<5){
System.out.println("我爱钱");
i++;
}
}
}
=================================
1 - 6的和
public class Demo02While {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i<=3){
sum = sum + i;
i++;
}
System.out.println("sum = " + sum);
}
}
=================================
需求:求出1-100的偶数和
public class Demo03While {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i<=100){
if (i % 2 == 0) {
sum = sum + i;
}
i++;
}
System.out.println("sum = " + sum);
}
}
==================================
求1-100的偶数个数
public class Demo04While {
public static void main(String[] args) {
int count = 0;
int i = 1;
while (i<=100){
if (i % 2 == 0) {
count++;
}
i++;
}
System.out.println("count = " + count);
}
}
=====================================
public class Demo05While {
public static void main(String[] args) {
//1.定义一个变量表示山的高度 mountain
int mountain = 8844430;
//2.定义一个变量表示纸的厚度
double paper = 0.1;
//3.定义一个变量表示折纸的次数
int count = 0;
//4.利用while循环比较,如果peper<mountain就循环对折
while (paper<mountain){
paper = paper * 2;//循环体
count = count + 1;//步进表达式
}
//5.输出count
System.out.println("count = " + count);
}
}
3.do...while循环
1.格式:
初始化变量
public class Demo01Dowhlie {
public static void main(String[] args) {
int i = 0;
do {
System.out.println("我爱java");
i++;
}while (i<5);
}
}
4.循环控制关键字
1.break:
a.在switch中代表结束switch语句
b.在循环中结束循环
2.countinue
结束当前本次循环,直接进入下一次循环,直到条件为fasle为止
public class Demo01_beak {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i==3){
//结束循环
//break;
//结束本次循环,进入下一次循环
continue;
}
System.out.println("我爱java"+i);
}
}
}
5.死循环
1.概述:
一直循环
2.什么条件下一直循环
比较条件一直是ture
public class Demo01Endless {
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < 10;i++) {
count++;
System.out.println("count = " + count);
}
}
}
6.嵌套循环
1.概述:循环里还有循环
2.执行流程:
先执行外层循环,再执行内层循环,内层循环就一直执行到结束,然后外层进入下一次循环,直到外层循环都结束,整体就结束
public class Demo02Nest {
public static void main(String[] args) {
for (int fen = 0; fen < 60; fen++) {
for (int miao = 0;miao < 60;miao++){
System.out.println(fen+"分"+miao + "秒");
}
}
}
}
练习:打印矩形
public class Demo03Nest {
public static void main(String[] args) {
//外循环控制行
for (int j = 0; j < 5; j++) {
//内循环控制列
for (int i = 0; i < 5; i++) {
System.out.print("* ");
}
System.out.println();
}
}
}
//输出结果
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
练习:打印直角三角形
public class Demo04Nest {
public static void main(String[] args) {
for (int i = 1; i < 5; i++) {
for (int j = 0;j<i;j++){
System.out.print("* ");
}
System.out.println();
}
}
}
//输出结果
*
* *
* * *
* * * *
7.练习.猜字小游戏
1.创建Scanner和Random(键盘录入和随机数)对象
2.调用random中的nextIn(100)+1在1-100随机一个数 rdnumber
3.调用Scanner中的nextIn()方法,键盘录入一个要猜的数 scnumber
public class Demo05Nest {
public static void main(String[] args) {
//1.创建Scanner和Random(键盘录入和随机数)对象
Scanner sc = new Scanner(System.in);
Random ra = new Random();
//2.调用random中的nextIn(100)+1在1-100随机一个数 rdnumber.
int raNumber = ra.nextInt(100) + 1;
//System.out.println(raNumber);//外挂打击,哈哈,可以直接看到系统随机生成的数
while (true){
System.out.println("请在1-100之间随机猜一个数:");
int scNumber = sc.nextInt();
if (scNumber < raNumber) {
System.out.println("数字小了");
} else if (scNumber > raNumber) {
System.out.println("数字大了");
} else {
System.out.println("恭喜你猜对了");
break;
}
}
}
}