12月22日笔记
运算符:
一、算术运算符:
+ — * / %
%--取余运算
取余运算的应用场景:
1.奇偶数的区分。
2.把数变化到某个范围之内。--彩票的生成。
3.判断能否整除。--闰年、平年。
int a = 10, b = 3;
Console.WriteLine("10/3=" + (a / b));
Console.WriteLine("10%3=" + (a % b))
++(自增运算) ——(自减运算) ---这两种只能对变量进行运算。
int a = 5;
a++;
//7++; //错误。
1.前自增/前自减
先进行自增/自减运算,然后在进行其他运算。可以简单的认为前自增/自减的优先级是最高的。
int a = 5,b;
b = ++a;
Console.writeLine("a="+a+";b="+b);// 结果应当是a=6,b=6
2.后自增/后自减
先进行其他运算,当其他运算都完成后,在进行自增/自减运算。可以简单认为是后自增/后自减优先级是最低的。
int a = 5,b;
b = a++;
Console.WriteLine("a=" + a + ";b=" + b);//结果应当是a=6,b=5
二、关系运算符:---用来判断式子成立与否
== != > >= < <=
注意:
双等号不要写成写成单等号 单等号是赋值的意思
三、逻辑运算符:
&&---与 ||---或 !--非
&&,||都双操作数,!单操作数
&&与(并且)
int a =5,b=6;
Console.WriteLine(a > b && a > 0); //false;
//true???
|| 或(或者)
int a = 5,b=6;
Console.WriteLine((a > b) || (a > 0)); //true
//false??
!非 ---- 取反
优先级:
一般来说:
1.算数运算符的优先级要高于关系运算符;关系运算符的优先级要高于逻辑运算符(算数>关系>逻辑)
2.逻辑非优先级最高。逻辑与要高于逻辑或。
3.如果不确定,就加小括号。
四、其他运算符:
1.赋值运算符:=。把右边的结果送到左边去。左边只能是变量。
2.复合运算符:+= -= *= /= %=
a+=5; <=> a= a + 5
3.条件运算符: 三目运算符 ?:
int a=5,b=6,c;
c = a > b ? a : b;
Console.WriteLine( c )
二、语句:
顺序、分支、循环。
(一)
顺序:略
分支:判断---表达式。if(){}
四大类:
1.if
if (age > 18)
{
Console.WriteLine("可以去当兵!");
}
注意:if表达式后面只管一句话,可以省略掉{};如果if表达式后面需要管多句话,则必须加{}
2.if...else...
if (age > 18)
{
Console.WriteLine("成年了!");
Console.WriteLine("可以去当兵!");
}
else
{
Console.WriteLine("还没长大!");
Console.WriteLine("回家上学去!");
}
注意:
1.else后面不要加分号。
2.else后面不要加小括号。
3.if...else if...else if...else 多分支。
//输入
Console.Write("老狼老狼几点了?");
string s = Console.ReadLine();
int hour = Convert.ToInt32(s);
if (hour >= 0 && hour < 6) // 0<hour<6:错误
{
Console.WriteLine("凌晨" + hour + "点了");
}
else if (hour >= 6 && hour <= 12)
{
Console.WriteLine("上午" + hour + "点了");
}
else if (hour > 12 && hour < 18)
{
hour -= 12;
Console.WriteLine("下午" + hour + "点了");
}
else if (hour >= 18 && hour < 24)
{
hour -= 12;
Console.WriteLine("晚上" + hour + "点了");
}
else
{
Console.WriteLine("不可识别的时间!");
}
4.if嵌套。
if(...)
{
if(...)
{
}
else
{
}
}
else
{
if(...)
{
}
else
{
}
}
分层、分类来解决问题的思路。