C#基础 数据类型 类型转换【装箱、拆箱】

本节主要讲解数据类型和各类型之间的转换,两点都是重点,难点在于各种转换的活学活用。

  数据类型

(一)基本数据类型

1  值类型    

   1)整形      int                                         十位字符长度

                            Long                        最长

                            bute                       0-----255

                            Short                     介于longint之间  

      (2)浮点型       float                 float  t = 数值f/F;

                        double               double d = 数值;

                       decimal              decimal dd = 数值m/M

           整形只能为整数,浮点型可放整数小数,都可放负数。

  2布尔型    bool

                       boll ok ;   ok = true         只有对错两种

                                        Ok=false

3字符型     char   

                 char = ‘ ‘;    单引号,放一个字符,不能为空

(二)引用类型

     1字符串型    string   (之前有讲过)

     2时间日期型    DateTime

                DateTime dt = new DateTime(int年,int月,int)

                DateTime nowdt = DateTime.Now     获取系统当前时间

             string = “  ”;

              String = “null”;               只有字符串类型可以为空

  数据类型转换

1隐式转换:从值类型转换到引用类型     (装箱)

             string  a  =  “10”;

            Int  b = 20;

           String  s  =  a + b;

           Console.Writeline(s)

                       其输出结果为1020 ,自动把int转为steing的字符串类型

                                      string最厉害,其他任何类型与他相加都会被string类型同化掉

2显式转换(强制转换):  从引用类型转换到数值型       (拆箱)

                                   从浮点型转换到整形。

                     

                                              Int  a  =  int.parse(s);       

              string s = “10”;          int  a  =  (int)s;             最好不用

                                              Int  a  =  convert.ToInt32(s)    推荐使用

              显式转换有三种方法推荐使用第三种。

              显式转换特别容易报错,是唯一一个能让程序在运行过程中因用户的输入而导致报错的地方。

*        字串符类型的强制转换

          Int  a  =  10;

          string  s  =  “10”

          string  ss  =  a  +  s;     ————    string  ss  =  s+ a.ToString();

              相比较强制转换更稳定不容易出错。

*  变量    int a = 10;

            a  =  20          可以重新继续覆值

  常量    const  int  a =  10;  只能覆值一次

 作业

“请输入第一个学生的姓名:”

“请输入第一个学生的年龄:”

“请输入第一个学生的语文成绩:”

“请输入第一个学生的数学成绩:”

“请输入第一个学生的英语成绩:”

------------------------------

“请输入第二个学生的姓名:”

“请输入第二个学生的年龄:”

“请输入第二个学生的语文成绩:”

“请输入第二个学生的数学成绩:”

“请输入第二个学生的英语成绩:”

------------------------------

“请输入第三个学生的姓名:”

“请输入第三个学生的年龄:”

“请输入第三个学生的语文成绩:”

“请输入第三个学生的数学成绩:”

“请输入第三个学生的英语成绩:”

-------------------成绩展示---------------------

1、张三的语文成绩是:“100”,数学成绩是:“90”,英语成绩是:“80”,总分是:“270”。”

2、张三的语文成绩是:“100”,数学成绩是:“90”,英语成绩是:“80”,总分是:“270”。”

3、张三的语文成绩是:“100”,数学成绩是:“90”,英语成绩是:“80”,总分是:“270”。”

语文总分是“”,平均分是“”。

数学总分是“”,平均分是“”。

英语总分是“”,平均分是“”。

所有人员的所有科目分数总和是“”。

  1 namespace _2._19作业
  2 {
  3     class Program
  4     {
  5         static void Main(string[] args)
  6         {
  7             //“请输入第一个学生的姓名,年龄,语文,数学,英语成绩”
  8 
  9             Console.Write("请输入第一个学生的姓名;");
 10 
 11             string xingming1 = Console.ReadLine();
 12 
 13             Console.Write("请输入第一个学生的年龄:");
 14 
 15             string nianling1 = Console.ReadLine();
 16 
 17             Console.Write("请输入第一个学生的语文成绩:");
 18 
 19             string yuwen1 = Console.ReadLine();
 20 
 21             Console.Write("请输入第一个学生的数学成绩:");
 22 
 23             string shuxue1 = Console.ReadLine();
 24 
 25             Console.Write("请输入第一个学生的英语成绩:");
 26 
 27             string yingyu1 = Console.ReadLine();
 28 
 29             Console.WriteLine("----------------------------------------------------------------------------------");
 30 
 31             //“请输入第二个学生的姓名,年龄,语文,数学,英语成绩”
 32 
 33             Console.Write("请输入第二个学生的姓名;");
 34 
 35             string xingming2 = Console.ReadLine();
 36 
 37             Console.Write("请输入第二个学生的年龄:");
 38 
 39             string nianling2 = Console.ReadLine();
 40 
 41             Console.Write("请输入第二个学生的语文成绩:");
 42 
 43             string yuwen2 = Console.ReadLine();
 44 
 45             Console.Write("请输入第二个学生的数学成绩:");
 46 
 47             string shuxue2 = Console.ReadLine();
 48 
 49             Console.Write("请输入第二个学生的英语成绩:");
 50 
 51             string yingyu2 = Console.ReadLine();
 52 
 53             Console.WriteLine("----------------------------------------------------------------------------------");
 54 
 55             //“请输入第三个学生的姓名,年龄,语文,数学,英语成绩”
 56 
 57             Console.Write("请输入第三个学生的姓名;");
 58 
 59             string xingming3 = Console.ReadLine();
 60 
 61             Console.Write("请输入第三个学生的年龄:");
 62 
 63             string nianling3 = Console.ReadLine();
 64 
 65             Console.Write("请输入第三个学生的语文成绩:");
 66 
 67             string yuwen3 = Console.ReadLine();
 68 
 69             Console.Write("请输入第三个学生的数学成绩:");
 70 
 71             string shuxue3 = Console.ReadLine();
 72 
 73             Console.Write("请输入第三个学生的英语成绩:");
 74 
 75             string yingyu3 = Console.ReadLine();
 76 
 77             Console.WriteLine("---------------------------------成绩展示-------------------------------------------------");
 78 
 79             // 1、xx的语文成绩是:“__”,数学成绩是:“__”,英语成绩是:“__”,总分是:“__”。”
 80       // 2、xx的语文成绩是:“__”,数学成绩是:“__”,英语成绩是:“__”,总分是:“__”。”
 81                         // 3、xx的语文成绩是:“__”,数学成绩是:“__”,英语成绩是:“__”,总分是:“__”。”
 82 
 83             
 84             
 85             
 86             decimal zongfe1 = Convert.ToDecimal(yuwen1) + Convert.ToDecimal(shuxue1) + Convert.ToDecimal(yingyu1);
 87 
 88             decimal zongfe2 = Convert.ToDecimal(yuwen2) + Convert.ToDecimal(shuxue2) + Convert.ToDecimal(yingyu2);
 89 
 90             decimal zongfe3 = Convert.ToDecimal(yuwen3) + Convert.ToDecimal(shuxue3) + Convert.ToDecimal(yingyu3);
 91 
 92             
 93             
 94             
 95             Console.WriteLine("1、" + xingming1 + "的语文成绩是:“" + yuwen1 + "”,数学成绩是:“" + shuxue1 + "”,英语成绩是:“" + yingyu1 + "”,总分是:“" + zongfe1.ToString() + "“。");
 96 
 97             Console.WriteLine("2、" + xingming2 + "的语文成绩是:“" + yuwen2 + "”,数学成绩是:“" + shuxue2 + "”,英语成绩是:“" + yingyu2 + "”,总分是:“" + zongfe2.ToString() + "“。");
 98 
 99             Console.WriteLine("3、" + xingming3 + "的语文成绩是:“" + yuwen3 + "”,数学成绩是:“" + shuxue3 + "”,英语成绩是:“" + yingyu3 + "”,总分是:“" + zongfe3.ToString() + "“。");
100 
101             //语文总分是“”,平均分是“”。
102             //数学总分是“”,平均分是“”。
103             //英语总分是“”,平均分是“”。
104             //所有人员的所有科目分数总和是“”。
105 
106             decimal yuwenzongfe = Convert.ToDecimal(yuwen1)+Convert.ToDecimal(yuwen2)+Convert.ToDecimal(yuwen3);
107 
108             decimal shuxuezongfe = Convert.ToDecimal(shuxue1) + Convert.ToDecimal(shuxue2) + Convert.ToDecimal(shuxue3);
109 
110             decimal yingyuzongfe = Convert.ToDecimal(yingyu1) +Convert.ToDecimal(yingyu2) +Convert.ToDecimal(yingyu3);
111 
112             Console.WriteLine("语文总分是“" + yuwenzongfe.ToString() + "”,平均分是“" +( yuwenzongfe/3).ToString() + "”。");
113 
114             Console.WriteLine("数学总分是“" + shuxuezongfe.ToString() + "”,平均分是“" + (shuxuezongfe / 3).ToString() + "”。");
115 
116             Console.WriteLine("英语总分是“" + yingyuzongfe.ToString() + "”,平均分是“" + (yingyuzongfe / 3).ToString() + "”。");
117 
118             Console.WriteLine("所有人员的所有科目分数总和是“" + (zongfe1+zongfe2+zongfe3).ToString()+"”。");
119 
120 
121 
122             Console.ReadLine();
123         }
124     }
原文地址:https://www.cnblogs.com/Tanghongchang/p/6418062.html