本帖最后由 HAIHAIHEI 于 2022-3-25 08:37 编辑
第十天,有不对之处麻烦各位指正
for嵌套循环:
[Java] 纯文本查看 复制代码 /*
1.所有合法的控制语句都可以被嵌套使用
2.for循环嵌套for循环的执行原理:
for(){
for(){}//分析外层for循环的时候,把里层的for循环当作一段普通的java代码
}
*/
public class Test
{
public static void main(String[] args){
//单层for循环
for (int i=0;i<10 ;i++ )
{
System.out.println("i ="+i);
}
for (int k=0;k<2 ;k++ )//循环两次
{
for (int i=0;i<10; i++ )
{
System.out.println("i ="+i);
}
}
//实际上:循环两次的i变量并不是同一个i变量,所以才会连续两个0~9,如果把i变量定义在外面的话:
int i=0;
/*for (int k=0;k<2 ;k++ )
{
for (;i<10; i++ )
{
System.out.println("i的值为"+i);
}
}*/
//如上:在因为定义在外面,所以在一次执行过后,i变量在外层for循环内为10即内层for循环无法执行第二次
for (int k=0;k<2 ;k++ )
{
System.out.println("k="+k);//0 1
for (;i<10; i++ )
{
System.out.println("k的值为"+k);//因为只能执行第一次,所以k的值为1就不会输出,但k=1会输出
System.out.println("i的值为"+i);
}
}
//经典案例:九九乘法表
for (i=1;i<10 ;i++ )//纵向循环
{
//System.out.println(i);//i是行号
//横向循环
for (int j=1;j<=i ;j++ )
{
System.out.print(j+"*"+i+"="+i*j+" ");//乘法表本体
}
System.out.println();//为了将层与层分开
}
}}
while循环:
[Java] 纯文本查看 复制代码 /*
while循环:
while循环的语法机制以及执行原理:
语法机制:
while(布尔表达式){
循环体;
}
执行原理:
判断布尔表达式的结果,如果是true就执行循环体,循环体结束后再次判断布尔表达式的结果,如果还是true,继续执行循环体,直到布尔表达式的结果为false,while循环结束
while循环的循环次数是:0~n次
*/
public class Test
{
public static void main(String[] args){
//死循环
/*while (true)
{
System.out.println("死循环");
}*/
/*for循环和while循环本质上是一样的
for(初始表达式;布尔表达式;更新表达式){
循环体;
}
初始表达式;
while(布尔表达式){
循环体;
更新表达式;
}
*/
int i=0;
while(i<10){
System.out.println(i);
i++;
}
//for和while完全可以互换,只不过语法格式不同
for (int i=0;i<10 ; )
{
i++;
System.out.println(i);//1 2 3 ...9
}
i=0;
while (i<10)
{
i++;
System.out.println(i);//1 2 3 ...9
}
}
}
do......while循环:
[Java] 纯文本查看 复制代码 /*
do..while循环的语法机制以及执行原理:
语法机制:
do {
循环体;
}while(布尔表达式);
执行原理:
先执行循环体当中的代码,执行一次循环体后判断布尔表达式的结果,如果为true则继续执行循环体,如果为false则结束循环
对于do..while循环来说,循环体至少执行一次。do..while循环体执行的次数是1~n次
*/
public class Test
{
public static void main(String[] args){
int i=0;
do
{
System.out.println(i);
i++;
}
while (i<10);
i=0;
do
{
System.out.println(i++);//0 1 2 3...9
}
while (i<10);
i=0;
do
{
//System.out.println(++i);//1 2 3 ...9
//拆分为以下两行代码
int temp=++i;
System.out.println(temp);//
}
while (i<10);
do//至少执行一次循环体
{
System.out.println("HelloWorld");
}
while (false);
}
}
|