刚才闲着,看着身边的人都有成就....果然有时间抱怨不如努力继续学~~
早上继续接着学习,还是学习循环语句。
while
int x=1;
while(x<0)
{
System.out.println("x="+x);
x++;
//x+=2; 只打印奇数
}
do.... while ... 与 while 的区别在于 do....while..不管是否符合,都会至少会先执行一次,后判断...while 是先判断,不符合不执行
int x=1;
do
{
System.out.println("do:x="+x);
x++;
}
while (x<0);
for 条件一满足!!走的肯定是循环体, x++ 是在输出了System.out.println("x="+x); 之后才执行
for(int x=0;x<3;x++)
{
System.out.println("x="+x);
}
for 和 while 的小区别~虽然for也能把 int x 也能写到外面~~但是先这么理解,能尽量的优化一下内存
for和while可以进行互换,如果需要定义循环增量,用for更为合适
for(int x;x<3;x++)//int x 循环结束,就会清除出内存
{
System.out.println("x="+x);
}
System.out.println("x==========="+x);//会报错,找不到x
int y=0; //这一直在内存中
while(y<3)
{
System.out.println("y="+y);
y++;
}
System.out.println("y==========="+y);
for循环运行流程 最终运行结果得出 adcdc ,也就是 a 只执行第一次
int x=1;
for(System.out.println("a");x<3;System.out.println("c"))
{
System.out.println("d");
x++;
}
表达式多的时候,还能如下写法,得出和上面一样的结果。就是+个“,”分隔开
int x=1;
for(System.out.println("a");x<3;System.out.println("c"),x++)
{
System.out.println("d");
//x++;
}
无限循环的最简单表现形式
for(;;){}
while(true){}
for的一个小练习
其实这就是累加思想,原理通过变量记录住循环操作后的结果。
通过循环的形式,进行累加的动作
计数器思想,通过一个变量记录住数据的状态变化,
也是通过循环完成
/*
1.获取1~10的和,并打印
2.1~100之间 7的倍数的个数,并打印
*/
class ForTest
{
public static void main(String[] args)
{
int sum=0;
for(int x=1;x<=10;x++)
{
sum+=x;//sum=sum+x;
}
System.out.println("1~10的和="+sum);
//======================================================
int q=0;
for(int y=7;y<=100;y+=7)
{
q++;
System.out.println("7的倍数个数是"+y);
}
System.out.println("7的倍数总个数="+q+"个");
//===================下面用求余的方法来做7的倍数=================
int q1=0;
for(int i=1;i<=100;i++)
{
if(i%7==0)
{
System.out.println("7的倍数i="+i);
q1++;
}
}
System.out.println("7的倍数总个数="+q1+"个");
}
}
for 语句嵌套
/*
语句嵌套模式,其实就是语句中还有语句
循环嵌套
*/
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("*");//print不会自动换行
}
System.out.println();//用来换行
}
}
}
/*
x=0 **** 先进入x满足条件,进入y,因为不用自动换行所以横着打印****,y循环结束,跳出到x执行System.out.println();换行
x=1 ****
x=2 **** 这就是最后的结果
x=3 结束循环
*/
for 嵌套小练习 发型图形有很多行,每个行很多列。
要使用嵌套循环,形象说法就是:大圈套小圈
int q=5;
for (int x=0;x<5 ;x++ )//用外循环来控制行数
{
for (int y=0;y<q ;y++ ) //首先输出5个*
{
System.out.print("*");
}
q--; //y循环每结束一次减去1 ,也就是减去一个*
System.out.println();
}
/*
或者再简易点
for (int x=0;x<5 ;x++ )//用外循环来控制行数
{
for (int y=x;y<q ;y++ ) //首先输出5个*
{
System.out.print("*");
}
q--; //y循环每结束一次减去1 ,也就是减去一个*
System.out.println();
}
或者这样,也是可以的
int q=0
for (int x=0;x<5 ;x++ )//用外循环来控制行数
{
for (int y=q;y<5 ;y++ ) //首先输出5个*
{
System.out.print("*");
}
q++; //y循环每结束一次减去1 ,也就是减去一个*
System.out.println();
}
最终输出结果
*****
****
***
**
*
*/
for 嵌套练习 续
/*
最终结果
*
**
***
****
*****
*/
int q=1;
for (int x=0;x<5 ;x++ )
{
for (int y=1;y<=q ;y++ )
{
System.out.print("*");
}
q++;
System.out.println();
}
//下面的是优化写法
for (int x=1;x<=5 ;x++ )
{
for (int y=1;y<=x ;y++ )
{
System.out.print("*");
}
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();
}
for 嵌套小练习3 九九乘法表
/*
九九乘法表
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");//\t 制表符 空格对齐!!美观
}
System.out.println();
}
for 的金字塔形状 小练习
/*
----*
---* *
--* * *
-* * * *
* * * * *
*/
for (int x=0;x<5 ;x++ )
{
for(int y=x+1;y<5;y++)//int y=x+1 就是让每一个的空格-1 这样才能靠边
{
//System.out.print("-"); 先做这个用来看成果,后才改成空格
System.out.print(" ");
}
for(int z=0;z<=x;z++)
{
System.out.print("*"+" ");
}
System.out.println();
}
首先是 break(跳出) continue(继续)
break 语句应用范围:选择结构和循环结构 (switch中就用到了break)
for (int x=0;x<3 ;x++ )
{
System.out.println(x);
break;
}
//加入了break;最后只会输出 0
break 指定跳转
w:for (int x=0;x<3 ;x++ )// 前面起了个w的名字
{
q:for (int y=1;y<=4 ;y++ )
{
System.out.println("x="+x);
break w; //指定跳转 ,先在要跳转的前面起个名字 名字+:
}
}
continue:只能作用于循环结构
for (int x=0;x<3 ;x++ )
{
continue; //这样写下面那句就是废话,永远用不到,所以编译会报错
System.out.println("x="+x);
}
for (int x=1;x<10 ;x++ )
{
if (x%2==1)//判断奇偶数
{
continue;//结束本次循环 继续下次循环
}
System.out.println("x="+x);//结果打印的都是偶数
}