C#基础 数据类型 类型转换

时间:2022-04-28 19:06:28

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

一   数据类型

(一)基本数据类型

1  值类型

(1)整形      int                                         十位字符长度

Long                        最长

bute                       0-----255

Short                     介于long与int之间

(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”。”

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

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

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

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

 namespace _2._19作业
{
class Program
{
static void Main(string[] args)
{
//“请输入第一个学生的姓名,年龄,语文,数学,英语成绩” Console.Write("请输入第一个学生的姓名;"); string xingming1 = Console.ReadLine(); Console.Write("请输入第一个学生的年龄:"); string nianling1 = Console.ReadLine(); Console.Write("请输入第一个学生的语文成绩:"); string yuwen1 = Console.ReadLine(); Console.Write("请输入第一个学生的数学成绩:"); string shuxue1 = Console.ReadLine(); Console.Write("请输入第一个学生的英语成绩:"); string yingyu1 = Console.ReadLine(); Console.WriteLine("----------------------------------------------------------------------------------"); //“请输入第二个学生的姓名,年龄,语文,数学,英语成绩” Console.Write("请输入第二个学生的姓名;"); string xingming2 = Console.ReadLine(); Console.Write("请输入第二个学生的年龄:"); string nianling2 = Console.ReadLine(); Console.Write("请输入第二个学生的语文成绩:"); string yuwen2 = Console.ReadLine(); Console.Write("请输入第二个学生的数学成绩:"); string shuxue2 = Console.ReadLine(); Console.Write("请输入第二个学生的英语成绩:"); string yingyu2 = Console.ReadLine(); Console.WriteLine("----------------------------------------------------------------------------------"); //“请输入第三个学生的姓名,年龄,语文,数学,英语成绩” Console.Write("请输入第三个学生的姓名;"); string xingming3 = Console.ReadLine(); Console.Write("请输入第三个学生的年龄:"); string nianling3 = Console.ReadLine(); Console.Write("请输入第三个学生的语文成绩:"); string yuwen3 = Console.ReadLine(); Console.Write("请输入第三个学生的数学成绩:"); string shuxue3 = Console.ReadLine(); Console.Write("请输入第三个学生的英语成绩:"); string yingyu3 = Console.ReadLine(); Console.WriteLine("---------------------------------成绩展示-------------------------------------------------"); // 1、xx的语文成绩是:“__”,数学成绩是:“__”,英语成绩是:“__”,总分是:“__”。”
// 2、xx的语文成绩是:“__”,数学成绩是:“__”,英语成绩是:“__”,总分是:“__”。”
// 3、xx的语文成绩是:“__”,数学成绩是:“__”,英语成绩是:“__”,总分是:“__”。” decimal zongfe1 = Convert.ToDecimal(yuwen1) + Convert.ToDecimal(shuxue1) + Convert.ToDecimal(yingyu1); decimal zongfe2 = Convert.ToDecimal(yuwen2) + Convert.ToDecimal(shuxue2) + Convert.ToDecimal(yingyu2); decimal zongfe3 = Convert.ToDecimal(yuwen3) + Convert.ToDecimal(shuxue3) + Convert.ToDecimal(yingyu3); Console.WriteLine("1、" + xingming1 + "的语文成绩是:“" + yuwen1 + "”,数学成绩是:“" + shuxue1 + "”,英语成绩是:“" + yingyu1 + "”,总分是:“" + zongfe1.ToString() + "“。"); Console.WriteLine("2、" + xingming2 + "的语文成绩是:“" + yuwen2 + "”,数学成绩是:“" + shuxue2 + "”,英语成绩是:“" + yingyu2 + "”,总分是:“" + zongfe2.ToString() + "“。"); Console.WriteLine("3、" + xingming3 + "的语文成绩是:“" + yuwen3 + "”,数学成绩是:“" + shuxue3 + "”,英语成绩是:“" + yingyu3 + "”,总分是:“" + zongfe3.ToString() + "“。"); //语文总分是“”,平均分是“”。
//数学总分是“”,平均分是“”。
//英语总分是“”,平均分是“”。
//所有人员的所有科目分数总和是“”。 decimal yuwenzongfe = Convert.ToDecimal(yuwen1)+Convert.ToDecimal(yuwen2)+Convert.ToDecimal(yuwen3); decimal shuxuezongfe = Convert.ToDecimal(shuxue1) + Convert.ToDecimal(shuxue2) + Convert.ToDecimal(shuxue3); decimal yingyuzongfe = Convert.ToDecimal(yingyu1) +Convert.ToDecimal(yingyu2) +Convert.ToDecimal(yingyu3); Console.WriteLine("语文总分是“" + yuwenzongfe.ToString() + "”,平均分是“" +( yuwenzongfe/).ToString() + "”。"); Console.WriteLine("数学总分是“" + shuxuezongfe.ToString() + "”,平均分是“" + (shuxuezongfe / ).ToString() + "”。"); Console.WriteLine("英语总分是“" + yingyuzongfe.ToString() + "”,平均分是“" + (yingyuzongfe / ).ToString() + "”。"); Console.WriteLine("所有人员的所有科目分数总和是“" + (zongfe1+zongfe2+zongfe3).ToString()+"”。"); Console.ReadLine();
}
}