`
jiao13953900900
  • 浏览: 31972 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

黑马程序员-基础语法-程序流程控制

    博客分类:
  • java
 
阅读更多

 

---------------------- android培训java培训、期待与您交流! ----------------------

 

 

基础语法-程序流程控制

 

 

 

判断结构:

if语句

三种格式:

        if(条件表达式)
	{
		执行语句;
	}


        if(条件表达式)
	{
		执行语句;
	}
	else
	{
		执行语句;
	}

 

 

三元运算符是if else结构的简写形式,变量=(条件表达式)?表达式1:表达式2;

三元运算符:

好处:可以简化代码。

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

 

 

	if(条件表达式)
	{
		执行语句;
	}
	else if (条件表达式)
	{
	执行语句;
	}
	……
	else
	{
		执行语句;
	}

 

 

if语句特点:

a,每一种格式都是单条语句。

b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。

c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;

 

 

 

选择结构:

switch语句

格式:

switch(表达式)
{
	case 取值1:
		执行语句;
		break;
	case 取值2:
		执行语句;
		break;
	…...
	default:
		执行语句;
		break;
}

 

switch语句特点:

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

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

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

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

 

 

switch与if很相似。

区别在于:

1.if可以判断区间,而switch只能判断具体的值。

2.if可以判断运算结构是boolean类型值,switch不可以。

 

具体什么场景下,应用哪些语句呢?

如果判断的具体数值不多,而且符合byte,short,int , char这四种类型。

虽然两种语句都可以使用,建议使用switch语句,因为效率稍高;

 

其他情况:对区间判断,对结果为boolean类型的判断,使用if,if的使用范围更广。

 

5.0以后除四种类型外,还可以判断枚举。

7.0以后增加了可以判断字符串的功能。

 

 

 

循环结构:

代表语句:while , do while , for

while语句格式:先进行判断条件,然后再执行。
while(条件表达式)
{
	执行语句;
}


do while语句格式:先执行一次,再进行判断条件。
do
{
	执行语句;
}while(条件表达式);


do while特点是条件无论是否满足,
循环体至少被执行一次。

格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
	执行语句;
}

 

注:

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

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

c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

 

总结:什么时候好似用循环结构呢:

当要对某些语句执行很多次的时候使用。

 

其他流程控制语句

break(跳出),  continue(继续)

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

continue语句:应用于循环结构。

注:

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

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

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

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

 

如果是嵌套循环,可以给循环加标记,然后break 标记名;

	w:for (int x=1; x<=9 ; x++)
		{
			q:for (int y=1; y<=x; y++)
			{
				System.out.print(y+"*"+x+"="+y*x+"\t");
				break w;
			}
			System.out.println();
		}

 

计数器思想:通过一个变量记录住数据的状态变化,也是通过循环完成

int count=0;
for(int x=0;x<=100;x++){
	if(x%7==0)
	count++;
}
System.out.println("count="+count);

 

累加思想:通过变量记录住循环操作后的结果。通过循环的形式进行累加的动作。

int sum=0;
for(int x=0;x<=10;x++){
	sum+=x;
}
System.out.println(sum);

 

如:打印下列图形:

 

----*

---* *

--* * *

-* * * * 

* * * * * 

 

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();
		}
	}
}

 

 

---------------------- android培训java培训、期待与您交流! ----------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics