----------------------
ASP.Net+Android+IO开发S、
.Net培训、期待与您交流! ----------------------
---------------------- ASP.Net+Android+IO开发S、 .Net培训、期待与您交流! ----------------------
1、关于while和do while
int x = 1;
do
{
System.out.println("do : x="+x);
x++;
}
while (x<0);
//=============
int y = 1;
while(y<0)
{
System.out.println("y="+y);
y++;
}
看上面两块代码,虽然都不满足循环条件,但是do while 还是能输出一个x的
因此总结:while:先判断条件,只有条件满足才执行循环体。do while: 先执行循环体,在判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
2、关于for和while
(1)变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。for语句执行完毕。该变量在内存中被释放。
(2)for和while可以进行互换。如果需要定义循环增量。用for更为合适。
3、无限循环的最简单表现形式。
for(;;){}
while(true){}
//小面试题有可能会考
4、关于九九乘法表,这还是循环中比较经典的代码,值得记录下
/*
需求: 输出九九乘法表,如下图
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
思路:显然是需要用到循环嵌套,一共9行9列,但是不是矩形
每行的公式数不一样,因此在控制内循环的时候要注意
同时循环初始值显然得从1开始
步骤:
1、先建立一个循环嵌套
2、*后的数字用外循环的i就可确定,*前的用内循环控制,同时每行几个公式也是用内循环控制
3、=号后面就是i j相乘的结果
4、25行处改成用 "\t" 制表符对其,原本用空格有瑕疵
*/
class Test4
{
public static void main(String[] args)
{
for(int i=1; i<10; i++) //控制乘号后的数字
{
for(int j=1; j<=i; j++) //控制乘号前的数字 还有显示每行公式的个数
{
System.out.print(j + "*" + i + "=" + i*j + "\t"); //按格式输出公式,用制表符对齐
}
System.out.println();
}
}
}
5、金字塔形状。我个人挺喜欢的,记录下吧
/*
需求:输出如下的图形
*
* *
* * *
* * * *
* * * * *
思路:共有5层,从上往下递增,从每层的*个数上看好办,第一行*之前要空4格,往下递减
下面几层,每个*之间要空一格,感觉这个不止需要两层嵌套
最终在外循环内加上两个并列的for循环搞定
步骤:
1、建立外层循环用于控制层数
2、建立内循环m控制每层前的空格
3、建立内循环n控制每层的*
*/
class Test5
{
public static void main(String[] args)
{
for(int i=1; i<=5; i++)//用于控制层数
{
m: for(int j=1; j<=5-i; j++) //用于控制每层前面的空格数
{
System.out.print(" ");
}
n: for(int m=1; m<=i; m++) //控制每行*的输出
{
System.out.print("*" + " "); //每个*之间都有空格
}
System.out.println();
}
}
}
---------------------- ASP.Net+Android+IO开发S、 .Net培训、期待与您交流! ----------------------