一、占位符(位置的编号)
编号:从0开始,用大括号,且必须有前缀格式符:Format//代码可读性强()
标准数字字符串格式化(货币、时间、指定精度显示(四舍五入)等):
Console.WriteLine("金额:{0:c}",10);//货币
Console.WriteLine("{0}", 5);//无法显示05
Console.WriteLine("{0:d2}", 6);//时间,不足两位用0填充
Console.WriteLine("{0:d2}", 36);
Console.WriteLine("{0:f1}", 1.36);//四舍五入
Console.WriteLine("{0:p0}", 0.36);//百分比显示
二、转义:(改变字符原始含义)
Console.WriteLine("学习\"永无止境\"");
char c1='\'';//输出'
char c2='\0';//输出空字符
// \r\n回车换行 \t水平制表格(相当于table键)
三、CLS/CLR:
1.公共语言规范:Common Language Specification :
定义了.NET平台上运行的语言所必须支持的规范,用以避免不同语言特性产生的错误,实现语言间互操作;
2.公共语言运行库Common Language Runtime :
程序的运行环境,负责内存分配、垃圾收集、安全检查等工作。
.NET 程序编译过程:
源代码–(CLS编译)->CIL(通用中间语言)–(CLR编译)->机器码;
三、运算符:
1.赋值运算符“=”
赋值表达式自身也有值,其本身为所赋值;
2.算数运算符:
对数字进行数字运算
但字符串的“+”即字符串的拼接
static void Main(string[] args)
{
string s3;
string s1="5";
string s2 = "2";
s3 = s1 + s2;
Console.WriteLine(s3);
}
3.逻辑运算符(&&,||,!);
4.快捷运算符(+=,-=,*=,/=,%=)
5.比较运算符(>,>=,<,<=,==,!=);
6.三元(目)运算符:(数据类型 变量名=条件?满足条件结果:不满足条件结果);
注:三元运算符中的两个结果的数据类型必须兼容
static void Main(string[] args)
{
string r1 = 1 > 2 ? "ok" : "NO";
Console.WriteLine(r1);
double r2 = 1 == 1 ? 1.5 : 2.5;
Console.WriteLine(r2);
}
运行结果如下:
7.优先级;
四、数据类型的转换:
1.string类型转为其他数据类型(Parse转换):
2.其他数据类型转为string类型(ToString转换);
static void Main(string[] args)
{
string r3 = "18.0";
double num3 = double.Parse(r3);
Console.WriteLine(num3);//string->double
float num4 = 4.0f;
string r4 = num4.ToString();
Console.WriteLine(r4);//float->string
}
小练习:控制台输入一个四位整数,求其每位相加和
static void Main(string[] args)
{
#region 方法一
Console.WriteLine("请输入一个四位整数:");
string r5=Console.ReadLine();
int num5 = int.Parse(r5);
int s = num5 %10;
s+=num5/10%10;
s+=num5/100%10;
s += num5 / 1000;
Console.WriteLine("四位数之和为:"+s);
#endregion
#region 方法二
char a1 = r5[0];
string str = a1.ToString();
int b = int.Parse(str);
int s1 = b;
s1 += int.Parse(r5[1].ToString());
s1 += int.Parse(r5[2].ToString());
s1 += int.Parse(r5[3].ToString());
Console.WriteLine("结果为:" + s1);
#endregion
}
3.隐式转换:由小范围到大范围的自动转换
4.显式转换:由大范围到小范围的强制转换//有可能发生精度的丢失
static void Main(string[] args)
{
byte b1=100;
int c1=b1;//隐式转换
int b2 = 100;
byte c2 = (byte)b2;//显示转换
short num01 = 8;
byte num02 = 2;
int result = num01 + num02;//short result=(short)(num01+num02)
Console.WriteLine(result);
}
五、语句:
if-else语句
输入两个数和一个运算符,根据运算符计算两个数
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数:");
string strnum03 = Console.ReadLine();
int num03 = int.Parse(strnum03);
//int num03 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
string strnum04 = Console.ReadLine();
int num04 = int.Parse(strnum04);
// int num04 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入一个运算符:");
string a = Console.ReadLine();
int result;
if (a == "+")
result = num03 + num04;
else if (a == "-")
result = num03 - num04;
else if (a == "*")
result = num03 * num04;
else if (a == "/")
result = num03 / num04;
else
result = 0;
if (a == "+" || a == "-" || a == "*" || a == "/")
Console.WriteLine("结果为:" + result);
else
Console.ReadLine();
}
}
六、逻辑运算符:
1.短路逻辑(提高cpu性能):
对于&&运算符,当第一个操作数为false时将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果都一定是false;
对于||运算符,当第一个操作数为true时,将不会判断第二个操作数,因为此时无论第二个操作数为何,最后的运算结果一定是true;
七、循环语句:
for(初始化;循环条件;增减变量)
{
循环体
}
#region 01
for(int i=0;i<=6;i+=2)
{// 0 2 4 6
Console.WriteLine(i);
}
#endregion
/* for(初始化;循环条件;增减变量)
{
循环体
}
* */
//作用域:起作用的范围
//从声明开始到 } 结束
//预定次数的循环
//
int i = 3;
for (;true;)
{// 3 6 9
Console.WriteLine(i);
i += 3;
}
练习:
{//一张纸折叠30次求厚度
float thickness = 0.00001f;
for(int i=1;i<=30;i++)
{
thickness*=2;
}
Console.WriteLine("对折30次之后的厚度为:"+thickness);
}
//1~100之间数字累加
int sum = 0;
for(int i=1;i<=100;i++)
{
sum += i;
}
Console.WriteLine("累加和为:" + sum);
//一小球从100米掉落每次返回一半处,最终经过多少次落地(最小0.01米),
//并且求出总共经过多少米
float height = 100;
float distance = height;
int count = 0;
while (height / 2 >= 0.01f)//满足条件再做
{
height /= 2;
count++;
Console.WriteLine("第{0}次弹起的高度为:{1}", count, height);
distance += height*2;
}
Console.WriteLine("经历{0}次弹起小球落下。",count);
Console.WriteLine("总共经过{0:f1}米小球停下。", distance);
//猜数游戏:
//创建一个随机数工具
Random random = new Random();
//产生一个随机数
int num = random.Next(1, 101);
Console.WriteLine("请输入一个数:");
int inputnum;
int count = 0;
do
{
inputnum = int.Parse(Console.ReadLine());
count++;
if (inputnum > num)
Console.WriteLine("大了!");
else if (inputnum < num)
Console.WriteLine("小了!");
else if (inputnum == num)
Console.WriteLine("猜对了!总共猜了{0}次", count);
} while (inputnum != num);//满足条件执行语句
//do-while方法
//创建一个随机数工具
Random random = new Random();
//产生一个随机数
int num = random.Next(1, 101);
int inputnum;
int count = 0;
while(true)
{
Console.WriteLine("请输入一个数:");
inputnum = int.Parse(Console.ReadLine());
count++;
if (inputnum > num)
Console.WriteLine("大了!");
else if (inputnum < num)
Console.WriteLine("小了!");
else
{
Console.WriteLine("猜对了!总共猜了{0}次", count);
break;
}//while方法