1、C# 布尔值
通常,在编程中,将需要一个只能具有两个值之一的数据类型,表示逻辑判断条件的真假。
为此,C#具有bool数据类型,该数据类型可以是值true或false。bool 类型的默认值为 false。
2、bool变量声明
布尔类型使用bool关键字声明,并且只能是true或false:
例如,
bool iscjavapyFun = true;
bool isFishTasty = false;
Console.WriteLine(iscjavapyFun); // 输出 true
Console.WriteLine(isFishTasty); // 输出 false3、布尔表达式
布尔表达式是返回布尔值的C# 表达式:true或false。
可以使用比较运算符,例如,大于(> )运算符来查找表达式(或变量)是否为真:
例如,
int x = 10;
int y = 9;
Console.WriteLine(x > y); // 返回true,因为10比9大
例如,
Console.WriteLine(10 > 9); // 返回true,因为10比9大
在下面的示例中,我们使用等于(==)运算符来计算表达式:
例如,
int x = 10;
Console.WriteLine(x == 10); // 返回true,因为x的值等于10
例如,
Console.WriteLine(10 == 15); // 返回false,因为10不等于15
表达式的布尔值是所有C#比较和条件的基础。
4、bool与Boolean的区别
1) bool是基本数据类型,Boolean是它的封装类,和其他类一样,有属性有方法,可以new,例如,
Boolean flag = new Boolean(); // boolean 则不能
2) Boolean 是bool 的实例化对象类,例如,
bool b1 = true ;
//或者
Boolean b2 = true ;
5、布尔运算
布尔运算符可以用于对 bool 值进行逻辑运算,包括 &&(逻辑与)、||(逻辑或)和!(逻辑非)。
bool a = true;
bool b = false;
Console.WriteLine("a && b: " + (a && b)); // false
Console.WriteLine("a || b: " + (a || b)); // true
Console.WriteLine("!a: " + !a); // false
Console.WriteLine("!b: " + !b); // true
6、布尔值在条件语句中的应用
布尔值最常用于 if-else 语句和循环中。
1)在 if-else 语句中使用布尔值
bool isAdmin = true;
if (isAdmin)
{
Console.WriteLine("Welcome, Admin!");
}
else
{
Console.WriteLine("Access Denied.");
}
2)布尔值在 while 循环中
bool keepRunning = true;
int count = 0;
while (keepRunning)
{
Console.WriteLine("Running... Count: " + count);
count++;
if (count >= 3)
{
keepRunning = false; // 退出循环
}
}
7、布尔值的转换
C# 不可以直接将整数转换为布尔值,但可以使用比较运算符或 Convert.ToBoolean() 进行转换。
int number = 10;
bool isPositive = (number > 0); // 使用比较运算符
Console.WriteLine("Is number positive? " + isPositive);
bool fromInt = Convert.ToBoolean(1); // 任何非零数都转换为 true
bool fromZero = Convert.ToBoolean(0); // 0 转换为 false
Console.WriteLine("Convert.ToBoolean(1): " + fromInt);
Console.WriteLine("Convert.ToBoolean(0): " + fromZero);
8、布尔值的位运算(& 和 |)
与 && 和 || 不同,& 和 | 是 位运算符,不会进行短路计算。&& 和 ||短路计算,如果左侧已确定结果,则右侧不会被计算。& 和 |不会短路,无论左侧结果如何,右侧都会被计算。
bool a = false;
bool b = true;
Console.WriteLine("a & b: " + (a & b)); // False
Console.WriteLine("a | b: " + (a | b)); // True