代码基础知识-9否则和if嵌套

if-else

在上一章中用到了这个关键词,它表示如果条件不满足则执行

int a=12,b=24;
int c;
if(a>b)
{
    
    
c=a;
}
else{
    
    
c=b;
}
Console.WriteLine(c);

此效果为输出a和b较大的值


记得我们之前说的常量和不定量吗

int a;
bool t=true;
if(t)
{
    
    
a=12;
}
Console.WriteLine(a);

此语句不予通过,编译器不能确认变量的数值

int a;
bool t=true;
if(t)
{
    
    
a=12;
}else{
    
    
a=1;
}
Console.WriteLine(a);

虽然不知道会经过哪一条,但编译器知道在if-else语句里一定会经过一条
而在两个代码块中都为a赋值了,因此在使用a时绝对是已经存在值的

int a;
if(1<2)
{
    
    
a=12;
}
Console.WriteLine(a);
int a;
if(false)
{
    
    
a=12;
}
Console.WriteLine(a);

在第一条语句中,编译器知道a一定会被赋值,因此此时无需else
在第二条语句中,编译器会直接报错,理由是不可达代码。即无论如何此代码都不可能运行。


if-else-if

有时候选择不止一次,比如
有1000元可以买上品耳机,如果没有1000元,那也可以用500买次一点的耳机
如果500都没有那就只能花200凑合一下。啥?一点钱都没有?告辞!

int a=Convert.ToInt32(Console.ReadLine());
if(a>1000)
{
    
    
Console.WriteLine("上品");
}
else if(a>500)
{
    
    
Console.WriteLine("二等品");
}
else if(a>200)
{
    
    
Console.WriteLine("过渡");
}
else
{
    
    
Console.WriteLine("告辞");
}

在else后面加空格,然后按if的形式写便可以续接
只有前面的代码块都不执行,后面的if才会进行判断
因此续接if的条件等效于 [!前面的条件&&条件]


嵌套if

嵌套if即在if的代码块里再写一个if,这个内容并没有什么值得注意的。只要逻辑不混乱就行。
这个内容不多讲

int a = 12, b = a + 2, c = b + 4;
			if (a > b)
			{
    
    
				if (a > c)
				{
    
    
					Console.WriteLine("最大值是a:"+a);
				}
				else
				{
    
    
					Console.WriteLine("最大值是c:" + c);
				}
			}
			else
			{
    
    
				if (b > c)
				{
    
    
					Console.WriteLine("最大值是b:" + b);
				}
				else
				{
    
    
					Console.WriteLine("最大值是c:" + c);
				}
			}

猜你喜欢

转载自blog.csdn.net/zms9110750/article/details/106576455