您的位置:首页 > 职场人生

黑马程序员——java语言基本组成2

2015-04-06 17:48 197 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

< 今日心情 >good good study,day day up!^_^

一、 程序流程控制

1.判断结构

判断语句格式:
if(条件表达式)
{

执行语句

}
else if(条件表达式)
{

执行语句

}
……

else

{

执行语句

}
具体执行那个语句以跳楼式判断,在哪个楼层被接住(满足了条件表达式),就在哪个楼层庆祝(就执行哪个楼层的语句),一旦人物被接住,就不需要继续向下判断;else以前都不满足,则最后的语句一定执行(没有最后的else那么这个人就死定了^_^)。
else if根据需要可以写多个或者不写,else只能有一个或者不写。

编写如下代码:

class IfDemo
{
public static void main(String[] args)
{

int i=2;

if(i>0&&i<2)
{
System.out.println("我在一楼获救了");
}
else if(i>2&&i<6)
{
System.out.println("我在二楼获救了");
}
else if(i>6&&i<8)
{
System.out.println("我在三楼获救了");
}
else
{
System.out.println("还好,最后获救了");
}

System.out.println("我死啦!");

}

}

运行结果如下:



注:尝试改变i的值,查看不同的结果,也可以尝试改变楼层的结构

结果发现,人物虽然在else中获救,但是最后还是喊道:“我死啦!”
我们可以这样理解,无论人物在哪里获救,或者死亡,都会被运出楼外。
其实if判断语句只是“触发某个事件”,并不阻止程序的运行。

根据楼层的不同,判断语句可以分为3中结构:
if结构
if……else结构
if……else if……else结构

2.选择结构

switch选择格式:
switch(表达式)

{

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

…...

default:

执行语句;

break;

}

选择结构就像从楼上往下丢蘑菇,每个楼层都判断一次这个蘑菇是否是自己要的,不同于判断语句,选择结构只对蘑菇本身进行判断,并且是与具体的值是否绝对相等的判断,一旦相等就执行语句,遇到break停在向下判断,否则继续向下判断。

编写代买:

class  switchDemo
{
public static void main(String[] args)
{
String moGu="1kg";
switch(moGu)
{
case "100kg":
System.out.println("我有100kg重");
break;
case "70kg":
System.out.println("我有70kgkg重");
break;
case "1kG":
System.out.println("我有1kG重");
break;
case "30kg":
System.out.println("我有30kg重");
break;
case "1kg":
System.out.println("我有1kg重");
break;
default:
System.out.println("我已经腐烂了");
break;
}
}
}

结果如下:



注:switch语句选择的类型只有四种:byte,short,int ,char。本例String也能通过。

default类似于else,case中没有相应的等值时或没有遇到break时跳转的default中执行其中的语句。

3.循环结构

在判断结构中,满足条件后会运行方法体中的语句(对应大括号中的语句)执行一次。
而在循环中,执行完毕之后会回头继续判断,满足条件就再次执行方法体中的语句,然后再判断……直到条件不满足。
循环的方法体又称之为循环体。

while循环格式:

while(条件表达式)

{

执行语句;

}

do while循环格式:

do

{

执行语句;

}while(条件表达式)

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

编写代码:

class whileDemo
{
public static void main(String[] args)
{
int i=1;
while(i++<5)
{
System.out.println("Hello World!");
}
}
}
class doWhileDemo
{
public static void main(String[] args)
{
int i=1;
do
{
System.out.println("Hello World!");
}while (i++<5);
}
}

结果如下:



由于do while先执行后判断,结果确实比while多输出了一条“hello world!”

for循环结构;

for(初始化表达式;循环条件表达式;循环后的操作表达式)

{

执行语句;

}

注:只要满足格式,不管其中是否有关系,编译都能通过

编译代码:

class  forDemo
{
public static void main(String[] args)
{
for(int i=0;i<5;i++)
{
System.out.println("Hello World!");
}

System.out.println("------------------");
int j=0;
for(int k=0;j<5;System.out.println("my god!"))
{
System.out.println("Hello World!");
j++;
}
}
}

结果如下;



break在循环体中的应用,表示结束循环,跳出循环。
continue在循环中的应用,结束本次循环,进入下一次循环。

循环嵌套应用,九九乘法表
代码如下:

class forAndFor
{
/*分析
控制台打印数据是逐行打印,顺序是从左到右打印的。
先看同一行,发现都有一个不变的数字,与之相乘的数字在从1开始经过每列时都加了1,最后与不变的数字相同。
用一个变量i来代表行不变的那个数字,行中循环就出来了(int j=1;j<=i;j++)
i是随着列的增加而变化的。也就是每打印一行,i变化一次。
也就是说i每增加一次,打印一行。
*/
public static void main(String[] args)
{
for(int i=1;i<10;i++)//i代表了行号
{
for(int j=1;j<=i;j++)//j代表列号,打印一行,行号就增加一次。
{
System.out.print(j+"X"+i+"="+i*j+"  ");//每执行一次代表在同一行从左向右打印一个列单元。
}
System.out.println();//打印完一行后,换行从左边开始准备新一行的打印
}
}
}

结果如下:



注:条件的结果只有两个:是或否。换成java语言就是“真”或“假”,这是一个bool值,当循环条件永远为“真”时就会变成死循环(一直循环执行循环体中的语句);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息