控制语句——for练习语句的嵌套应用
累加求和,计数器
循环嵌套
一、语句的嵌套应用语句嵌套形式。其实就是语句中还有语句。形式多种多样,没有固定的格式和套路。
1、打印偶数for(int x=1;x<=10;x++)
{ if(x%2==1)
continue;
System.out.prinln(“x=”+x);
}
二、累加求和,计数器1、获取1~10的和,并打印。思路://1,定义变量用于存储不断变化的和。
int sum = 0;
//2,定义变量,记录住不断变化的被加的数。
int x = 1;
//3,定义循环,重复加法的过程。
用while来体现
while(x<=10)
{
sum = sum + x;
x++;
}
System.out.println("sum="+sum);
循环注意:一定要明确哪些语句需要参与循环,哪些不需要
class ForTest2
{
public static void main(String[] args)
{
//用for来体现。
int sum = 0;
for(int x=0; x<=10; x++)
{
sum += x;
}
System.out.println("for sum = "+sum);
}
}
小例子的小小总结:其实这就是累加思想。
原理:通过变量记录住每次变化的结果。
通过循环的形式,进行累加动作。
2、1~100之间 7的倍数的个数。并打印。思路:1,先对1~100进行循环(遍历)通过循环的形式。
2,在遍历的过程中,定义条件。只对7的倍数进行操作。
3,因为7的倍数不确定,只要符合条件,就通过一个变量来记录住这个变化的次数。
步骤:1,定义循环语句,选择for语句。
2,在循环中定义判断。只要是7的倍数即可。使用if语句。条件:7的倍数 x%7==0;
3,定义变量,该变量随着7的倍数的出现而自增。
class ForTest3
{
public static void main(String[] args)
{
int count = 0;
for(int x=1; x<=100; x++)
{
if(x%7==0)
//System.out.println("x="+x);
count++;
}
System.out.println("count="+count);
}
}
小小示例的总结:这就是计数器思想。通过一个变量记录住数据的状态变化。也许通过循环完成。
三、循环嵌套。1,打印一个长方形。
class ForForDemo
{
public static void main(String[] args)
{
/*
****
****
****
*/
for(int x=0; x<3; x++)//
{
for(int y=0; y<4; y++)
{
System.out.print("*");
}
System.out.println();//只有一个功能就是换行。
}
System.out.println("-------------------");
}
}
****
****
****
对于打印长方形总结:外循环控制的行数。内循环控制的是每一行的列数。也就是一行中元素的个数。
2,打印一个直角三角形,脚尖朝下。
class ForForDemo
{
public static void main(String[] args)
{
/*
*****
****
***
**
*
发现图形有很多行,每一个行有很多列。
要使用嵌套循环。原理:形象说法:大圈套小圈。
*/
//int z = 5;
for (int x=0; x<5 ;x++ )//x<5:因为外循环控制行数。一共5行。
{
for (int y=x; y<5 ;y++)
{
System.out.print("*");
}
System.out.println();
//z++;
}
}
}
通过该示例小小总结:发现图形有很多行,每一个行有很多列。
要使用嵌套循环。原理:形象说法:大圈套小圈。
3,打印正三角、杨辉三角、九九乘法表/*
*
**
***
****
*****
1
12
123
1234
12345
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
class ForForTest
{
public static void main(String[] args)
{
/*
*
**
***
****
*****
*/
for (int x=0; x<5 ;x++ )
{
for (int y=0 ; y<=x ; y++ )
{
System.out.print("*");
}
System.out.println();
}
System.out.println("----------------------");
/*
1
12
123
1234
12345
*/
for (int x=1; x<=5; x++)
{
for (int y=1; y<=x;y++ )
{
System.out.print(y);
}
System.out.println();
}
System.out.println("----------------------");
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
for (int x=1; x<=9 ; x++)
{
for (int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
通过正三角、杨辉三角、九九乘法表得出一些不是规律的规律:
所谓不是规律的规律: 尖朝上,可以改变条件。让条件随着外循环变化。
尖朝下,可以初始化值,让初始化随着外循环变化。
4,打印菱形(◇)或称为金字塔/*
----*
---* *
--* * *
-* * * *
* * * * *
* * * * *
-* * * *
--* * *
---* *
----*
*/
class ForForTest2
{
public static void main(String[] args)
{
for (int x=0; x<5 ;x++ )
{
for(int y=x+1; y<5 ; y++)
{
System.out.print(" ");
}
for(int z=0; z<=x ; z++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
5、练习:3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。
class ForTest4
{
public static void main(String[] args)
{
int day = 0;
for(int x=3000; x>=5; x/=2)
{
day++;
}
System.out.println("day="+day);
}
}
通过上述练习,晓得了在遇到问题时,首先要明确问题是什么,其次自己是否有思路,然后将思路转换成java能识别的步骤,最后再通过java语言实现即可。