本节主要讲解数据类型和各类型之间的转换,两点都是重点,难点在于各种转换的活学活用。
一 数据类型
(一)基本数据类型
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();
}
}