3.1 if语句
最后更新于:2022-04-01 14:10:18
这一节我学习java语言中的流程控制语句之中的判断语句.
首先我们看看if语句的不同格式
看下面的代码
~~~
class IfDemo
{
public static void main(String[] args)
{
//判断语句
/**************************************
if语句的第一种格式:
if(条件表达式)
{
执行语句;
}
*/
int x = 3;
if(x > 1)
{//如果没有大括号,if就只能控制离它最近的那条语句
System.out.println("yes");
}
/**************************************
if语句的第二种格式:
if(条件表达式)
{
执行语句;
}
else//否则
{
执行语句;
}
*/
if(x > 1)
{
System.out.println("yes");
}
else
{
System.out.println("no");
}
int a = 3,b;
if(a>1)
b = 100;
else
b = 200;
//b = a>1?100:200;
//三元运算符就是if else的语句简写格式.
//简写格式什么时候用?
//当if else运算后有一个具体结果时,可以简化写成三元运算符.
System.out.println("b="+b);
/*****************************************
if语句的第三种格式:
if(条件表达式)
{
执行语句;
}
else if(条件表达式)
{
执行语句;
}
......
else
{
执行语句;
}
只有一个代码块被执行
*/
}
}
~~~
从上面的代码我们看到了三种不同格式的if语句,看到了三元运算符就是if else的语句简写格式.并且是当if else运算有一个具体结果时可以互用.
我们再看一下代码块的作用吧
~~~
public static void main(String[] args)
{
int m = 89;//两个打印都打印
/*
局部代码块可以定义局部变量的生命同期。
*/
{//局部代码块
int n = 89;//n的作用域是这个代码块
System.out.println(m);
System.out.println(n);
}
System.out.println(m);
System.out.println(n);//提示找不到变量n,这就说明n的作用域就是上面的代码块
}
~~~
结果:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-18_573c4171010b1.jpg)
从结果看到了代码块中变量出了代码块就已经被释放掉了,也就是说代码块中定义的局部变量的作用域就是代码块.
最后我们看一个if语句的小例子.
~~~
class IfTest2
{
public static void main(String[] args)
{
/*
一年有四季。
春季:3 4 5
夏季:6 7 8
秋季:9 10 11
冬季:12 1 2
根据用户输入的月份,给出对应的季节。
*/
int month=12;
if(month<1 || month>12)
System.out.println(month+"月没有对应的季节");
else if(month>=3 && month<=5)
System.out.println(month+"月是春季");
else if(month>=6 && month<=8)
System.out.println(month+"月是夏季");
else if(month>=9 && month<=11)
System.out.println(month+"月是秋季");
else
System.out.println(month+"月是冬季");
if(month==3||month==4||month==5)
System.out.println(month+"月是春季");
else if(month==6||month==7||month==8)
System.out.println(month+"月是夏季");
else if(month==9||month==10||month==11)
System.out.println(month+"月是秋季");
else if(month==12||month==1||month==2)
System.out.println(month+"月是冬季");
else
System.out.println(month+"月没有对就的季节");
}
}
~~~
输出结果两个都是冬季.