---------------------- 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培训、期待与您交流! ----------------------