-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
程序流程控制
*判断结构
三种格式:
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-for循环,分别打印两个图形
*/
<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学习型技术博客、期待与您交流!------------