(原创)c#学习笔记03--变量和表达式03--变量01--简单类型

3.3 变量

  变量有不同的内涵,称为类型。建立这个类型系统的原因是,不同类型的数据需要用不同的方法来处理。

  要使用变量,需要声明它们。即给变量指定名称和类型。声明变量后,就可以把它们用作存储单元,存储所声明的数据类型的数据。

  声明变量的C#语法是指定类型和变量名,如下所示:  

<type> <name>;

  如果使用未声明的变量,代码将无法编译。另外,使用未赋值的变量也会产生一个错误,编译器会检测出这个错误。

3.3.1  简单类型

  简单类型就是组成应用程序中基本构件的类型,例如,数值和布尔值(true 或false)。简单类型与复杂类型不同,没有子类型或特性。

  不同的整数类型可以用于存储不同范围的数值,占用不同的内存空间(至多64位),这些类型如下所示。

  一些变量名称前面的“u”是unsigned的缩写,表示不能在这些类型的变量中存储负数,参见该表中的“允许的值”一列。

  可以使用的浮点数变量类型有3种,float、double和decimal。前两种可以用+/- m×2e的形式存储浮点数,m和e的值因类型而异。decimal使用另一种形式:+/- m×10

e。这3种类型、其m和e的值,以及它们在实数中的上下限如表3-2所示。

  

  除了数值类型外,另外还有3种简单类型,如表3-3所示。

  注意组成string的字符数没有上限,因为它可以使用可变大小的内存。

  下面用一个简短示例来声明和使用它们。创建一个控制台应用,参考:(原创)c#学习笔记02--编写c#程序02--控制台应用程序,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ch03Ex01 {
    class Progra {
        static void Main( string[] args ) {
            int myInteger;
            string myString;
            myInteger = 17;
            myString = "\"myInteger\" is";
            Console.WriteLine( "{0} {1}.", myString, myInteger );
            Console.ReadKey();
        }
    }
}

  运行结果为:

 

  示例的说明

  我们添加的代码完成了以下3项任务:

    声明两个变量

    给这两个变量赋值

    将两个变量的值输出到控制台上

  变量声明使用下述代码:

int myInteger;
string myString;

  第一行声明一个类型为int的变量,第二行声明一个类型为string的变量。

  note: 变量的命名是有限制的,不能使用任意的字符序列。

  接下来的两行代码为变量赋值:

myInteger = 17;
myString = "\"myInteger\" is";

  使用=赋值运算符给变量分配两个固定的值(在代码中称为字面值)。把整数值17赋给myInteger,把字符串"myInteger"(包括引号)赋给myString。以这种方式给字符串赋予

字面值时,必须用双引号把字符串括起来。因此,如果字符串本身包含双引号,就会出现错误,必须用一些表示这些字符的其他字符(即转义序列)来替代它们本例使用序列\"来转

义双引号:

myString = "\"myInteger\" is";

  如果不使用这些转义序列,而输入如下代码:

myString = ""myInteger" is";

  就会出现编译错误。

  注意给字符串赋予字面值时,必须小心换行——C#编译器会拒绝分布在多行上的字符串字面值。如果要添加一个换行符,可以在字符串中使用换行符的转义序列,即\n。例如:

myString = "This string has a\nline break.";

  则会输出:

   下面继续解释代码,还有一行没有说明:

Console.WriteLine( "{0} {1}.", myString, myInteger );

  在括号中,有如下两项:

    一个字符串

    一个用逗号分隔的变量列表,这些变量的值将插入到输出字符串中

  输出字符串是"{0} {1}.",它们并没有包含有用的文本。可以看出,这并不是我们运行代码时希望看到的结果,其原因是:字符串实际上是插入变量内容的一个模板,字符串

中的每对花括号都是一个占位符,包含列表中每个变量的内容。每个占位符(或格式字符串}用包含在花括号中的一个整数来表示。整数从0开始,每次递增1,占位符的总数应等于

列表中指定的变量数,该列表用逗号分隔开,跟在字符串后。把文本输出到控制台时,每个占位符就会用每个变量的值来替代。在上面的示例中,{0}用第一个变量的值myString

替换,{1}用myInteger的内容来替换。

   最后一行代码在前面的示例中也出现过,用于在程序结束前等待用户输入内容:

Console.ReadKey();

 

转载于:https://www.cnblogs.com/wodehao0808/p/4887620.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值