您的位置:首页 > 编程语言 > Java开发

【JAVA学习笔记】03 分支语句

2010-06-03 22:52 507 查看
本章目标:

掌握分支语句

if-else语句

switch语句

程序结构

从结构化程序设计角度出发,程序有三种结构:

顺序结构

选择结构

循环结构

前面两种就不多说了,重点是第三种——循环结构:

它有两种结构:当型和直到型

当型:当P条件成立时(T),反复执行A,直到P为“假”时,才停止循环

直到型:先执行A,再判断P,若为T,再执行A,如此反复,直到P为“假”

分支语句

分支语句实现程序流程控制的功能,即根据一定的条件有选择的执行或跳过特定的语句

Java分支语句分类:

If-else语句

Switch语句

if语句有三种形式:

形式1:

if(boolean类型表达式)

语句A;

功能:当表达式值为false时,执行语句A,否则跳过语句A。

形式2:

if(boolean类型表达式)

语句A;

else

语句B;

功能:表达式为true,执行A;表达式为false,执行B;

举例1:小明考试得了59分,是否及格?

public class Demo01
{
public static void main(String args[])
{
int score = 59;
if(score>=60)
{
System.out.println(“成绩及格");
}
else
{
System.out.println(“成绩不及格");
}
}
}


思考:现在小明的父母想知道自己孩子在学校中的排名,90~100是前100名,80~89是前200名,70~79是前300名,60~69是前400名,60分以下是400名开外。

public class Demo02
{
public static void main(String args[])
{
float score = 95;
if(score>=60)
{
if(score>=90&&score<=100)
{
System.out.println("等级为前100名。");
}
else
{
if(score>=80&&score<90)
{
System.out.println("等级为前200名。");
}
else
{
if(score>=70&&score<80)
{
System.out.println("等级为前300名。");
}
else
{
System.out.println("等级为前400名。");
}
}
}
}
else
{
System.out.println("等级为400名开外。");
}
}
};


大家会发现,虽然程序功能已经实现了,但是if语句嵌套过多,而且程序代码庞大,那么有没有更简洁的代码呢?是有的!

if语句——形式3:

if(Boolean类型表达式1)

语句1

else if(表达式2)

语句2

else if(表达式3)

语句3

…… ……

else if(表达式n)

语句n

else

语句n

代码:

public class Demo3
{
public static void main(String args[])
{
float score=55;
if(score>=90&&score<=100)
{
System.out.println(“成绩为前100名");
}
else if(score>=80&&score<90)
{
System.out.println(“成绩为前200名");
}
else if(score>=70&&score<80)
{
System.out.println(“成绩为前300名");
}
else if(score>=60&&score<70)
{
System.out.println(“成绩为前400名");
}
else
{
System.out.println(“成绩为400开外");
}
}
}


这个代码时候简洁很多呢~

如果纯粹的是多分支判断,则在java中提供了另外一种语句——switch

switch语句语法格式:

switch(boolean表达式){

case const1:

statement1;

break;

case const2:

statement2;

break;

…… ……

[default:

statement default;

break;]

}

代码:

public class Demo4
{
public static void main(String args[])
{
int i=1;
switch(i)
{
case 1:
System.out.println(“条件1满足。");
break;            //表示退出switch语句
case 2:
System.out.println(“条件2满足。");
break;
case 3:
System.out.println(“条件3满足。");
break;
case 4:
System.out.println(“条件4满足。");
break;
default:      //如果一切条件都满足不了,则执行default语句
System.out.println(“没有任何条件满足。”);
break;
}
}
}


大家试下,如果去掉了break会出现什么情况?如果没有default语句,又会出现什么情况?

三目运算符

java语言提供了一个简单的条件赋值语句或条件表达式。

问题:当判断条件不论是“真”或“假”,均给同一变量赋值时,能否简化语句书写?

一般形式:boolean表达式1?表达式2:表达式3

代码:

public class Demo05

{

public static void main(String args[])

{

int i=20;

int j=50;

int max;

if(i>j)

{

max=i;

}

else

{

max=j;

}

System.out.println(“最大值MAX=”+max);

}

}

我们可以把红色部分代码省略掉

public class Demo06
{
public static void main(String args[])
{
int i = 20;
int j = 50;
int max;
max=i>j?i:j;           //判断i是否大于j?如果是则输出i,如果不是则输出j。主要是在赋值上使用
System.out.println(“最大值MAX=”+max);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: