您的位置:首页 > 职场人生

黑马程序员--------java基础知识 程序流程控制

2014-11-24 10:49 495 查看
                                                                         

                   -----------android培训java培训、java学习型技术博客、期待与您交流!------------

                                                                                 程序流程控制

*判断结构

if语句

三种格式:

1. if(条件表达式)

{

执行语句

}

2. if(条件表达式)

{

执行语句

}

else

{

执行语句

}

3. if(条件表达式)//如果条件满足

{

执行语句

}

else if(条件表达式)

{

执行语句

}

else

{

执行语句

}

if else结构的简写格式: 变量 = (条件表达式)?表达式1:表达式2

三元运算符:

好处:简化了if else代码

弊端:因为是一个运算符,所以运算完必须要有一个结果

*选择结构

switch语句特点

a、switch语句选择的类型只有四种:byte、short、int、char

b、case之间与default没有顺序。先执行第一个case,没有匹配的case执行default

c、结束switch语句的两种情况:遇到break,执行到switch语句结束

d、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行 的语句,直到遇到break或者switch结尾结束。

//需求:根据用于指定月份,打印该月份所属季节

//3、4、5春季 6、7、8夏季 9、10、11、秋季 12、1、2、冬季

<pre name="code" class="java"><span style="font-size:14px;">class If
{
public static void main(String[] args)
{

int x=11;
/*
if(x>12&&x<1)//判断x值是不是在1-12范围之内
System.out.println("所属月份不存在");
else if(x>=3&&x<=5)
System.out.println("春季");
else if(x>=6&&x<=8)
System.out.println("夏");
else if(x>=9&&x<=11)
System.out.println("秋季");
else
System.out.println("冬季");
*/

switch(x)
{
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
case 12:
case 13:
case 14:
System.out.println("冬季");
break;

}
}
}</span>



if和switch语句很像,具体什么场景下,该应用那个语句呢?如果判断的具体数值不多,而是符合byte short int char这四种类型虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。其他情况:对区间判断,对结果为boolean类型判断,使用if,if使用范围更广泛。

*循环结构:

代表语句:while,do while,forwhile

语句格式:while(条件表达式) 特点:只有条件满足才执行循环体{执行语句}

do while语句格式: 特点:无论条件是否满足,循环体至少被执行一次

do{执行语句}while(条件表达式)

for 语句格式:for(初始化表达式;循环条件表达式;循环后打操作表达式)(int x=0;x<10;x++){执行语句}

a、for里面的表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体 ,然后在执行循环后的操作表达式,接着继续判断循环条      件,重复这个过程,直到条件不满 足为止。

b、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束后自动释放内存, 而while循环使用的变量在循环结束后还可以继续使用

c、最简单的无限循环格式:while(true);for(;;){},无限循环存在的原因是并不知道 循环多少次,而是根据某些条件,来控制循环for(int            x=0;x<3;y++)可以转化为 int x=0 for(;x<3;){x++};for嵌套语句:for(;;){for(;;){ }} 

练习:九九乘法表

<span style="font-size:14px;">class ForDemo2

{
public static void main(String[] args)
{
for(int x=1;x<=9;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(x+"*"+y+"="+x*y+"\t");//加上制表符\t,打印是整齐
}
System.out.println();
}

}
}
</span>

  打印结果

 


其他流程控制语句:

break(跳出),continue(继续)

break语句:应用范围:选择结构和循环结构

continue语句:应用于循环结构

注:a、这两个语句离开应用范围,存在是没有意义的

b、这两个语句单独存在下面都不可以由语句,因为执行不到

c、continue语句是结束本次循环继续下次循环

d、标号的出现,可以让这两个语句作用于指定的范围。

break如果在循环里面一般跳出当前循环,在哪个循环里面就跳出哪个循环。如果循环体有名称,可以跳出对应循环。

continue:只能用作于循环结构,继续循环。 特点:结束本次循环,继续下次循环

练习:

/*

------*

-----* *

----* * *

---* * * *

--* * * * *

-* * * * * *

* * * * * * *

练习:打印上面*组成的等腰三角形

思路:上图是有两个有规律的图形组合而成,将‘-’变为空格符就是等腰三角形了

使用for-f
4000
or循环,分别打印两个图形

*/
<span style="font-size:14px;">class ForDemoTest
{
public static void main(String[] args)
{
for(int x=0;x<7;x++)//控制图形的行数
{
for(int z=x;z<6;z++)//先打印左边倒三角的空格符
{
System.out.print(" ");
}
for(int y=1;y<=x+1;y++)//再打印右边等腰三角形
{

System.out.print("* ");
}
System.out.println();//外循环执行完后换行,接着执行下一次
}
}
}
</span>

打印结果



/*

自制小练习

打印有*组成的图形,思路与等腰三角形一致

**********

****   ****

***      ***

**         **

*            *

*            *

**         **

***      ***

****   ****

**********

<span style="font-size:14px;">class ForDemoTest1
{
public static void main(String[] args)
{
for(int x=0;x<5;x++)
{
for(int y=x;y<5;y++)
{
System.out.print("*");
}
for(int z=0;z<x;z++)
{
System.out.print(" ");
}

for(int n=0;n<x;n++)
{
System.out.print(" ");
}
for(int m=x;m<5;m++)
{
System.out.print("*");
}
System.out.println();
}
for(int x=0;x<5;x++)
{
for(int y=0;y<=x;y++)
{
System.out.print("*");
}
for(int z=x;z<4;z++)
{
System.out.print(" ");
}

for(int n=x;n<4;n++)
{
System.out.print(" ");
}
for(int m=0;m<=x;m++)
{
System.out.print("*");
}
System.out.println();
}
}

}</span>
打印结果



                -----------android培训java培训、java学习型技术博客、期待与您交流!------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息