上一篇中我们初步的了解了一些数据类型,不全面,本着认真求实的精神,我再对数据类型梳理 一下。
值类型之整数类型:
记得以前上c语言 课 的时候老师也曾让我们看过这样的表格要求记下来,当时也没好好看认为记这个没什么用,可当我运行下面的代码的时候就知道老师的良苦用心了:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace example
{
class program
{
static void main(string[] args)
{
short x = 32766;
x++;
console.writeline(x);
x++;
console.writeline(x);
console.readkey();
}
}
}
结果出人所料:
为毛是负的????这个时候就章现了取值范围的伟大之处了 3268他超出了short取值范围了;
与此类似的经历有很多,记得有一次老师叫我们写一个程序录入一个人的电话号码,然后输出,同桌说 “很简单嘛,三下五除二就写好了, ”代码如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace example
{
class program
{
static void main(string[] args)
{
int x;
console.writeline("姓名:");
string name = console.readline();
console.writeline("电话号码: ");
x = int.parse(console.readline()); //类型转换
console.writeline("你的名字叫:" + name + "\t" + "你的电话是:{0}", x);
}
}
}
结果不能运行,原因就是int的有效位只有 10位 电话号码有11位 超出范围了,可以用long型 替代。再对输入与输出篇补充一点 : console.writeline("你的名字叫:"+name) 中间的加号 + 表示的是连接2个字符串的意思,也就是合二为一的意思,当表达式中有一个string类型时 ,比如
int i =9;
string str = ”hc666“
console.writeline(str+i);
运行输出为:
hc6669
这是因为当表达式中有string类型与int类型时 编译器自动将int 型 转化为string类型(隐式转换)然后再连接起来。后面会学习隐式转换。
本着学无止境的精神,对上一篇日记的探索我有了新的发现: 定义变量名称时 用汉字也可以,并且不出错。
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace example
{
class program
{
static void main(string[] args)
{
string 姓名="hc666";
int 年龄=16;
double 身高=1.70;
console.writeline("姓名:{0},年龄:{1},身高:{2}", 姓名, 年龄, 身高);
}
}
}
其 实c#是支持多国语言编写的,不仅是中文,用日文、韩文……也都可以,不过建议还是用英文吧!!正好练习英语。
以上就是c#学习日记04---数据类型 之 整数类型的内容。