菜鸟的C#学习之旅——算数运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whc888666/article/details/83416933

内容提示

  • 占位符

  • 隐式转换

  • 显示转换

  • 转义符

  • 类型转换

  • 加加减减

  • 接收用户输入的内容

  • 总结

一、占位符

  1. 定义:顾名思义,占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号
  2. 举例:Console.WriteLine("{0}秒中是{1}天{2}小时{3}分钟{4}秒",second ,day ,h ,min ,mod );
  3. 具体分解:Console.WriteLine("{0},{1}.......","匹配0","匹配1"),其中,{0},{1}就是字符串中的占位符,先站下位置
  4. 其他重点占位符:
static void Main()   
         {
                   int i=12345;
                   Console.WriteLine("{0:C}",i);   //货币
                   Console.WriteLine("{0:D}",i);   //十进制数
                   Console.WriteLine("{0:E}",i);    //科学技术法
                   Console.WriteLine("{0:F}",i);   // 浮点数表示法
                   Console.WriteLine("{0:G}",i);   //G或g General 常用格式
                   Console.WriteLine("{0:N}",i);   //N或n 用逗号分割千位的数字
         }

二、隐式转换

  1. 隐式转换:即数据的类型的转换由编译器自动进行的,不需要人工干预的数据转换。
  2. 举例:int类型的数据可以隐式的转换为double类型的数据
double d = 5;
            int a = d;
            Console.WriteLine(a );
            Console.ReadKey();


        int a = 5;//可以运行
            double d = a;
            Console.WriteLine(d);
            Console.ReadKey();

  1. 分析原因:在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
  2. 理解:往银行存钱如果少一个小数点将是一件多么不敢想象的事情。


            
三、显示转换

1.显示转换:与隐式转换相反的数据类型的转换,即需要人为强制干预的数据转换。

2.代码展示:

例如,(int)5.5的结果是5;强制类型转换的目的是使表达式的值的数据类型发生改变,从而使不同类型数据之间的运算能够进行下去。

            double d = 5.5;
            int a = (int ) d;
            Console.WriteLine(d );
            Console.ReadKey();

3.用于强行将“表达式”的值转换成“类型名”所表示的数据类型。

四、转义符


1.一种特殊的字符常量;以反斜线"\"开头,后跟一个或几个字符。具有特定的含义,不同于字符原有的意义,故称“转义”字符。主要用来表示那些用一般字符不便于表示的控制代码。 它的作用是消除紧随其后的字符的原有含义,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义”; 用可以看见的字符表示那不可以看见的字符, 如'\n'表示换行。

2.常见的转义符及其含义:
    \’  单引号
    \” 双引号
    \\ 反斜杠
    \0 空
    \a 警告(产生峰鸣)
    \b 退格
    \f 换页
    \n 换行
    \r 回车
    \t 水平制表符
    \v 垂直制表符

五、类型转换

1. Convert.ToInt32
该方式不仅可以将字符串类型转换为int,还可以将其他的类型转换为int。

2.具体例子:
 

   static void Main(string[] args)
       {
            //让用户输入姓名 语文 数学 英语 三门课的成绩,
            //然后给用户显示:XX,你的总成绩为XX分,平均成绩为XX分

            Console.WriteLine("请输入姓名");

            string name = Console.ReadLine();

            Console.WriteLine("请输入语文成绩");

            string strChinese = Console.ReadLine();

            Console.WriteLine("请输入数学成绩");

            string strMath = Console.ReadLine();

            Console.WriteLine("请输入英语成绩");

            string strEnglish = Console.ReadLine();

            double chinese = Convert.ToDouble(strChinese);//把字符串类型的语文成绩转换为double类型的数据
        

            double math = Convert.ToDouble(strMath);

            double english = Convert.ToDouble(strEnglish);


            double sum = chinese + math + english;//计算总成绩


            double avg = sum / 3;


            Console.WriteLine("{0}你好,你的总成绩为{1},平均成绩为{2:0.0}", name, sum, avg);
            Console.WriteLine("{0:0.0}", 34.555);

            Console.ReadKey();
    }

输出结果:

运用到的知识点:

(1)接收用户的输入;

(2)将用户输入的内容进行转换;

(3)转换的目的是为了更好的运算,使其前后保持一致;

(4)当然还用到了占位符。

六、加加减减

下面同过四个小例子展示,逐步分析他们之间的区别:(看完小例子后将非常的清楚的分清楚各个之间的关系

总结:前加/前减  都是先在自身的基础上加1/减1;后加/后减  都是先取原值参与运算  然后再加上1/减去1.

            加加减减————分为前加和后加
            
            后加:
            int num=10;
            int number = 10 + num++;//先去原值 参与运算 最后再加上1
            Console.WriteLine(number);//number=20
            Console.WriteLine(num );//num=11
            Console.ReadKey();
            
            前加:
            int num = 10;
            int number = 10 + ++num;//先自身加1 然后再参与运算
            Console.WriteLine(number);//number=21
            Console.WriteLine(num);//num=11
            Console.ReadKey();
            
            前减
            int num = 10;
            int number = 10 + --num;//先自身减1 然后再参与运算
            Console.WriteLine(number);//number=19
            Console.WriteLine(num);//num=9
            Console.ReadKey();
           
            后减
            int num = 10;
            int number = 10 + num--;//先取原值参与运算,再自身减1
            Console.WriteLine(number);//number=20
            Console.WriteLine(num);//num=9
            Console.ReadKey();

七、接收用户输入的内容

实例:(该实例用户可以随意的输入你想要计算的秒数)

优点:没把代码写死,用户可以根据自己想要的方式和数字输入,非常的灵活。

难点:在于类型的转换上。

            Console.WriteLine("请输入秒数:");
            int second = Convert.ToInt32(Console .ReadLine ());
            int day = second / (60 * 60 * 24);//得到的天数
            int sec = second % (60 * 60 * 24);//剩余的秒数
            int h = sec / (60 * 60);//得到小时数
            sec = sec % (60 * 60);//变量的重新赋值,再次得到余数的秒数
            int min = sec / 60;//得到分钟数
            int mod = sec % 60;//最后的秒数
            Console.WriteLine("{0}秒中是{1}天{2}小时{3}分钟{4}秒",second ,day ,h ,min ,mod );
            Console.ReadLine();
        }

八、总结

其实学习的时候光看视频感觉很多都会了,每当自己用到的时候,才知道原来理解上的一点点小小的瑕疵都将是致命的,所以,学习要建立在实践的基础上,多多的理解,一定要理解透,否则将会很可怕。当然我们每天积累一点点,这个也是可怕的,哈哈哈。还望各位大神的指点。
 

猜你喜欢

转载自blog.csdn.net/whc888666/article/details/83416933