A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 仙兒哥 中级黑马   /  2013-4-10 02:13  /  1817 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

if语句
if语句三种格式
if,一次判断如果满足条件就执行一次,条件不满足不执行代码块内容
if else,二选一如果满足条件就执行, 否则执行else中的执行语句
if else if else ,多选一只要有一个满足了判断就结束,都没满足执行最后else的执行语句
if语句什么时候用
对于几个值的判断可以用,对于区间的判断可以用,对于运算结果是boolean类型可以用
开发时常用if ,很少用switch因为case后必须放具体值不能放区间和布尔型表达式
if的注意事项
1,只要出现if关键字,后面肯定会有小括号,并在括号中指定条件表达式。而else单独出现时,是不需要指定条件表达式 。
2,条件表达式,运算完的结果必须是boolean类型。
3,如果if中控制的语句是单条,大括号可以省略不写。初学者建议写上,方便于程序阅读。
if嵌套注意事项
省略{}的写法是可以的,if else为一个单条语句, 不要把单条语句理解成单行语句
没{}情况下else属于离他最近的if
switch语句
switch语句特点
1,对于switch的表达式,只支持4种类型德值 byte,short,int, char
2,写法case与default没顺序,程序先执行第一个case,所有的case没匹配才执行default
(也就是说 写法可以乱执行规律不会乱case1 case2…default)
3,结束switch语句的两种情况:遇到break,整个switch语句结束的{}
4,如果匹配的case或者default都忘写break,程序会继续向下执行,但不作判断了,直到遇到break或者switch结尾结束。多个答案相同内容
switch语句什么时候用
对于几个固定的值进行判断,可以使用if也可以用switch,建议使用switch,因为效率稍高
while_dowhile_for 循环结构
循环语句什么时候用
当某些语句需要被执行很多次的时候,就可以使用循环结构来解决 (一定要明确,哪些语句需要参与循环,哪些不需要)
while dowhile区别
do while无论条件是否满足,循环体至少执行一次
while与for区别
1,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,
然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
2,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
3,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

if语句练习_季节??? & 还是 &&
作业3,获取1~100之间6的倍数的个数        计数器思想
wihle练习_获取1~10所有数字的和                 累加思想
wihle练习_获取1~100之间6的倍数的个数        计数器思想。

程序流程控制
从常量开始明确了Java中对任何常见数据都进行类型划分
同时用变量将常量存储起来又加上了运算符 这样就实现了变量之间的数据运算
还需要做些更复杂的事情 程序流程控制为表达更多的含义
这个句子出现就可以对程序流程进行基本控制       
顺序结构:程序执行路径:程序默认一行一样往下运行的 (从上到下)
流程控制语句
流程控制语句就是主函数中,从上到下,从左到右,这个是顺序流程

        流程控制有三种
                        1.顺序
                        2.条件(分支)
                        3.循环
一 选择结构 if语句
1.1 if语句三种种格式
第一种格式
if,只做一次判断如果满足条件就执行一次,条件不满足不执行代码块内容
if(条件表达式)
{                                        //当if语句控制的执行语句只有单条,可是省略{},但多条必须写{}
执行语句;        //也就是说if语句下面没有{}那么if语句只控制离他最近的执行语句
}
第二种格式
if else,二选一如果满足条件就执行, 否则执行else中的执行语句
if(条件表达式)                //三元运算符可以理解成if else的简写格式, 但不是所有if else都可简写因为三元运算符特点运算完必须有结果
{                                       
执行语句;
}
else
{
执行语句;
}

if..else与三元区别
                                                                1.三元操作后得到一个值,但是if..else可以得到一个值,也可以不得到。
                                                                2.三元只能操作一值,但是的if...else可以操作多个值。
                                                                3.三元与if都可以嵌套,但是的三元嵌套比if..else嵌套更复杂                                //三元在完成某简单比较时会更方便

第三种格式
if  else if  else ,多选一只要有一个满足了判断就结束,都没满足执行最后else的执行语句
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}

4 个回复

倒序浏览
1.2 if语句特点
1.只要出现if关键字,后面肯定会有小括号(小括号后不能加分号),并在括号中指定条件表达式。而else单独出现时,是不需要指定条件表达式
2.条件表达式,运算完的结果必须是boolean类型
3.如果if大括号内有多个语句都需要通过if条件控制,那么必须加上大括号,如果不加,相当于只对第一条语句进行控制
4.关于if..else匹配问题  如果出现了else,那么必须有if与其匹配,并且与最近的if匹配

if嵌套注意事项
                int a = 1, b = 2;
                if (a==2)
                        if(b==1)
                                System.out.println("A");        //省略{}的写法是可以的,if else为一个单条语句, 不要把单条语句理解成单行语句
                        else
                                System.out.println("B");
                else                                                                //没{}情况下else属于离他最近的if
                        if(b==1)
                                System.out.println("A");
                        else
                                System.out.println("E");
1.3 if语句练习_星期
1.4 if语句练习_季节

二 选择结构 switch语句
2.1 switch语句格式
switch(表达式) {                                                //看到switch就是判断, 此步骤虚拟机要对表达式进行选择了
case 取值1 : 执行语句 ; break ;                //哪个case满足则执行,break结束整个switch语句
case 取值2 : 执行语句 ; break ;       
case 取值3 : 执行语句 ; break ;       
default : 执行语句 ; break;                        //默认,缺省,所有case都不对就执行default,对于最后一个备选答案,break可以省略,因为有底下的{}结尾
}

byte short char >int

执行流程:如果switch后面的常量值与某个case后面的值相等,那么直接执行当前这个
case对应的语句,直到遇到break switch语句结束。
如果所有的值与常量都不同,那么执行default后面语句。
在jdk1.7后 switch后面可以使用String
2.2 switch语句特点
1,对于switch的表达式,只支持4种类型值 byte,short,char> int
2,写法case与default没顺序,程序先执行第一个case,所有的case没匹配才执行default(也就是说 写法可以乱执行规律不会乱case1 case2…default)
3,结束switch语句的两种情况:遇到break,整个switch语句结束的{}, break可以没有但是会产生穿透问题(在特定情况下可以提高效率)
4,如果匹配的case或者default都忘写break,程序会继续向下执行,但不作判断了,直到遇到break或者switch结尾结束。多个答案相同内容
5.case后面的值不能重复。
2.3        if和switch使用场景
if什么时候用
对于几个值的判断可以用,对于区间的判断可以用,对于运算结果是boolean类型可以用
开发时常用if ,很少用switch因为case后必须放具体值不能放区间和布尔型表达式

if
        1.可以判断值
        2.可以判断范围
        3.可以判断boolean
switch
        只能判断值

switch操作完全可以用if替换,switch它可以解决多个if判断问题,提高效率。

switch什么时候用
对于几个固定的值进行判断,可以使用if也可以用switch,建议使用switch,因为效率稍高
在jdk7.0版本,switch可以对字符串进行选择
在jdk5.0版本switch可以对新的数据类型enum进行选择

2.4        switch代码_计算器
2.5        switch代码_星期
2.6        switch代码_季节

三 循环结构 while语句
循环结构
循环解决的问题的重复的有规律的事
3.1 while语句格式
while(条件表达式)        //while是循环的标示 条件是循环的开关               
{                                        //while条件表达式后一定不能写; 否则循环体变独立代码块 机器会一直判断条件表达式
                        执行语句;
}                                        //循环体结束后继续判断条件继续循环(CTRL+C强制停止)
                                                        //转圈,是否循环看条件,循环体执行后自动回去判断条件

3.2 while语句应用场景
while什么时候用
当某些语句需要被执行很多次的时候,就可以使用循环结构来解决 (一定要明确,哪些语句需要参与循环,哪些不需要)

3.3 while语句练习_转圈
                int x=1;
                while(x<3)
                {
                        System.out.println("x="+x);
                        x++;        //转圈第一看条件 第二看次数,想限定次数让x自增即可
                }
3.4 while代码_打印1~10中的奇数
3.5 while代码_累加思想
3.6 while代码_计数器思想
回复 使用道具 举报
3.7 do while语句
do while语句格式
do                                        //do while无论条件是否满足,循环体至少执行一次
{
                        执行语句;
}while(条件表达式);         //do while 中 while条件表达式后可以加分号

while,do while区别
do while无论条件是否满足,循环体至少执行一次

do wihle举例
                int y=1;
                do
                {
                        System.out.println("y="+y);
                        y++;
                }
                while (y<3);

四 循环结构 for语句
4.1 for语句格式
for (初始化表达式 ; 循环条件表达式(控制循环) ; 循环后的操作表达式(步长))        
{
        执行语句;{}循环体
}
//循环条件表达式必须是布尔型
//表达式2开始循环 循环后判断表达式3满足了在循环


        for结构最简形式(死循环)

                for(;;){
                        循环体;
                }

                for循环的执行步骤
                        1.初始化表达式
                        2.循环条件 如果它为false,循环结束,为true,才可以循环
                        3.执行行循环体
                        4.执行步长                       
                        初始化表达式只被执行一次,循环时是在2,3,4步之间做循环操作。

for循环举例1
for(int x=0; x<2; x++;){
                                sop(x=?)
}
               
                        循环步骤
第一步 int x=0创建变量 初始化值为0
第二步 0<2满足则循环继续,读循环体(不满足循环结束)
第三步 x++, 1又小于2 再读循环体(不满足循环结束)

                for循环举例2
                        示例:将1-10所有数打印到控制台上。       
               
                        for(int i=1;i<=10;i++){
                                       
                                System.out.println(i);
                        }

                        通过上面示例来分析for结构中三个组成部分作用:

                        初始化表达式: int i=1;                进行变量的声明
                        循环条件  i<=10                        它必须是一个true,false结果,如果为true,循环可以执行。如果为false,循环结束
                        步长    i++                         它的作用一般是对循环条件的改变
4.2 for和while的区别
for和while 的区别
定义变量循环之后还要使用这变量就用while,如果在循环中需要定义变量来控制循环的次数。
同时,该变量只为控制循环次数存在。循环结束,该变量就没有意义了。那么这时建议使用for循环

举例
                int x = 1;
                while(x<3)
                {
                        System.out.println("x="+x);
                        x++;
                }

                System.out.println("x====="+x);
                */
                for(int x=1; x<3; x++)                                //x变量作用域只在for语句内有效。循环结束,x变量被释放。
                {
                        System.out.println("x="+x);
                       
                }
//System.out.println("x====="+x);//编译失败,因为x变量已经在内存中释放。所以访问失败。

对于for语句特殊的表现形式。三个表达式都不写。条件表达式不写,默认就是true.
                for(; ;)                //这是for循环的最简单的无限循环形式。
                {
               
                }

对于while语句的特殊表现形式
while(true)                        //这是while循环的最简单的无限循环形式。
{}
4.3 for的变形
                        for(;;){} 死循环,如果出现死循环可以按 ctrl+c中断

                        for括号内的三个组成部分,没有强制要求必须存在
                       
                        //变形 1
                        /*
                        for(;;){
                                System.out.println(1);
                        }*/


                        //变形 2  在初始化变量位置没内容
                        /*
                        int i=1;

                        for(;i<=10;i++){
                                System.out.println(i);
                        }
                        //变形3  步长位置没内容
                        /*
                        int i=1;

                        for(;i<=10;){
                                System.out.println(i);
                                i++;
                        }
                        */

                        //变形4  没条件时默认为true

                        for(int i=1;;i++){
                                System.out.println(i);
                        }
回复 使用道具 举报
4.4 for循环嵌套
循环嵌套。
循环中还有循环。

                for (int x=1; x<=3 ;x++ )                        //外面1圈  
                {
                        for(int y=1; y<=4; y++)                        //里面4圈
                        {
                                System.out.println("y="+y);                               
                        }
                        System.out.println("----");
                       
                }

大圈套小圈思想
分析问题时这个变化一次,引发了好多次变化,这个又变化一次又引发了好多变化这是要用大圈套小圈思想
System.out.println中ln=line代表执行后回车换行        //ln:换行,在所有数据都打印完毕后,结尾处换行一次。
4.5 for嵌套代码_多行五星       
4.6 for嵌套代码_三角形;
4.7 for嵌套代码_54321
4.8 for嵌套代码_1,12,123,1234,12345

五 break语句
5.1 break作用范围
只能应用于switch语句和循环语句。用于结束当前的swtich或者结束当前的循环
break单独存在时,下面不可以写任何语句。因为访问不到,是废话

举例1 break特点
                        for(int x=0; x<3; x++)
                        {
if(x==1)                                        //一般情况下都要用到if来控制break流程
                                break;
                                System.out.println("x="+x);       
                        }

举例2 break特点                                        //break在for嵌套中的作用范围
                        wai:for(int x=0; x<3; x++)                //wai:for 就是给for循环起个名字
                        {
                                nei:for(int y=0; y<4; y++)        //如break后没循环名        默认结束的是当前所在循环
                                {
                                System.out.println("y="+y);
                                break wai;                                //break wai这跳的是外循环,不起名就是内循环
                                }
                        }
六 continue语句
6.1 continue作用范围       
只能应用于循环结构
continue单独存在时,下面任何语句都是废话。
continue:结束本次循环,继续下次循环。continue像是提反对意见

举例1 continue特点
                for (int x=0;x<3 ;x++ )
                {
                        continue                                                //输出语句不执行
                        System.out.println("x="+x);
                }

举例2 continue特点
                for(int x=1; x<10; x++)
                {
                        if(x%2==0)
                                continue;                                        //打印结果1,3.5.7.9        continue像是提反对意见
                        System.out.println("x="+x);
                       
                }

6.2 break和continue区别
1.这两个语句离开应用范围,存在是没有意义的。
2.这个两个语句单独存在下面都不可以有语句,因为执行不到。
3.continue语句是结束本次循环继续下次循环。
4.标号的出现,可以让这两个语句作用于指定的范围







最简单死循环代码while ()
回复 使用道具 举报
学习一下,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马