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

来源:互联网 发布:广告宣传软件 编辑:程序博客网 时间:2024/05/22 00:22

                                                                         

                   -----------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("秋季");elseSystem.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学习型技术博客、期待与您交流!------------



0 0
原创粉丝点击