一·逻辑运算符
//逻辑运算符 && || !
// && 短路 当其中一个条件为false时 后续的条件就不再判断
bool isTrue8 = (stringNumber12 == stringNumber13) && (charNumber12 == 97);
// || 短路 当其中一个条件为true时 后续的条件就不再判断、
bool isTrue9 = (stringNumber12 != stringNumber13) || (charNumber12 == 97);
//取反
bool isTrue10 = !isTrue9;
//赋值运算符
int intNumber15 = 10;
intNumber15 += 5; //变量intNumber15 自身增加5
//sizeof() 返回数据类型的大小。
Console.WriteLine(sizeof(int));
Console.WriteLine(sizeof(long));
//判断数据类型方式 GetType()
int intNumber16 = 10;
long longNumber17 = 20;
Console.WriteLine(longNumber17.GetType());
Console.WriteLine(intNumber16.GetType());
Console.ReadKey();
//位运算符(了解)
int A = 60;
int B = 13;
//按位与运算 只要其中一个为0 结果0 反之为1
//A = 0011 1100
//B = 0000 1101
//C = 0000 1100
int C =A & B;
Console.WriteLine(C);
//按位或运算 只要其中一个为1 结果1 反之为0
//A = 0011 1100
//B = 0000 1101
//D = 0011 1101
int D = A | B;
Console.WriteLine(D);
//按位异或运算符 两个位置上相同 结果为0 反之为 1
//A = 0011 1100
//B = 0000 1101
//E = 0011 0001
int E = A ^ B;
//按位取反运算符 取不同位置的反向 0反向1 1反向0
//A = 0011 1100
//F = 1100 0011
int F = ~A;
Console.WriteLine(F);
//左移运算符
//A = 0011 1100
//G = 1111 0000
int G = A << 2;
//右移运算符
//A = 0011 1100
//G = 0000 1111
int H = A >>2;
// 赋值运算符 = += -=
// =赋值 运算逻辑从右到左
int temp1 = 10;
// += 让变量自身增加任意的数值
int temp2 = 20;
temp2 += 10; // temp2 =temp2+10;
temp2 += 1; //temp2++; ++temp2
// -=
temp2 -= 5; // temp2=temp2-5;
Console.WriteLine(temp2);
// *= /= %= 同上
//<<= 左移且赋值运算符 C <<= 2 等同于 C = C << 2
//>>= 右移且赋值运算符 C >>= 2 等同于 C = C >> 2
//&= 按位与且赋值运算符 C &= 2 等同于 C = C & 2
//^= 按位异或且赋值运算符 C ^= 2 等同于 C = C ^ 2
//|= 按位或且赋值运算符
二.运算符的优先级
三.if ....else...循环 while 循环 do.....while循环
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ZhiYou_Day6_2
{
internal class Program
{
static void Main(string[] args)
{
//if语句 条件判断语句
//if(条件){条件成立 执行代码逻辑}
//条件为true时 执行对应逻辑
//条件为false时 不执行对应逻辑
//一般条件不直接写true和false
if (false)
{
Console.WriteLine("1");
}
if (true) {
Console.WriteLine("2");
}
int a = 1;
int b = 2;
a = 3;
b = 4;
if (a < b)
{
Console.WriteLine("3");
}
//if ...else 组合 相互对立的条件
//else 条件跟随 if的条件形成对立条件
if (b < a)
{
Console.WriteLine("4");
}
//else b>=a
else {
Console.WriteLine("5");
}
// if...else if......else if...else
// else 再所有条件都不成立时 执行
int c = 5;
if (a < 5)
{
Console.WriteLine("6");
}
else if (a > 5)
{
Console.WriteLine("7");
}
else
{
Console.WriteLine("8");
}
// 从上往下 依次查看条件 如果有条件成立
// 后续的条件不管成立与否 都不执行
if (a > 5)
{
Console.WriteLine("9");
}
else if (b > 5)
{
Console.WriteLine("10");
}
else if (c != 5)
{
Console.WriteLine("11");
}
else
{
Console.WriteLine("12");
}
//if嵌套 从外到内 依次查看 如果外部的条件为true 继续查看内部条件
//反之 内部条件无法查看
if (true)
{
if (true)
{
Console.WriteLine("14");
}
}
if (true)
{
if (false)
{
Console.WriteLine("15");
}
}
if (false)
{
if (true)
{
Console.WriteLine("16");
}
}
if (false)
{
Console.WriteLine("17");
}
else
{
if (true)
{
Console.WriteLine("18");
}
else
{
Console.WriteLine("19");
}
}
if (true)
{
//10
if (false)
{
if (true)
{
//1
}
else {
//2
}
}
else if (true)
{
if (true)
{
//3
}
else
{
//4
}
//5
}
else if (true)
{
if (true)
{
//6
}
else
{
//7
}
//8
}
}
//whlie 循环语句 重复执行代码的结构
// whlie(条件){ 循环代码}
//条件为true时 执行循环代码
//条件为false时 终止循环
//死循环 (无限循环) 一般不建议在程序中直接使用
//while (true)
//{
// Console.WriteLine(100);
//}
//输出10次 100
int ab = 0;
while (ab<10)
{
ab++;
Console.WriteLine(100);
}
//do..while 先执行一次循环 如果条件成立继续循环 反之 循环终止
//当do。。while的条件 是根据循环体结果 而定的 一般使用do..while
int score = 0;
do
{
//循环代码
Console.WriteLine("学习中....");
Console.WriteLine("考试....");
score = 70;
}
while (score<60);
//whlie 嵌套 从外到内 查看循环条件
//while (true)
//{
// Console.WriteLine("2");
// while (true)
// {
// Console.WriteLine("1");
// }
//}
int aNumber = 1;
while (aNumber<=5)
{
aNumber++;
Console.WriteLine("2");
int aNumber2 = 1;
while (aNumber2<=10)
{
aNumber2++;
Console.WriteLine("1");
}
do
{
Console.WriteLine("3");
do
{
Console.WriteLine("4");
} while (aNumber > 10);
} while (aNumber2 <= 10);
}
Console.ReadKey();
}
}
}