运算符和数据类型的转换

一、占位符(位置的编号)
编号:从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方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值