最新更新最新专题

您的位置:首页 > ppt下载 > PPT课件 > 数学课件PPT > 2第二章-数据类型、变量和常量学习课件PPT模板

2第二章-数据类型、变量和常量学习课件PPT模板下载

素材大小:
1.03 MB
素材授权:
免费下载
素材格式:
.ppt
素材上传:
ppt
上传时间:
2016-08-11
素材编号:
67616
素材类别:
数学课件PPT

素材预览

2第二章-数据类型、变量和常量学习课件PPT模板 2第二章-数据类型、变量和常量学习课件PPT模板

这是一个关于2第二章-数据类型、变量和常量学习课件PPT模板,这节课主要是了解引用类型,值类型与引用类型之间的区别示例,声明变量(变量的定义),变量的命名规则,变量的赋值,变量的初始化,变量的作用域等等介绍。变量的赋值: 就是将数据保存到变量所代表的存储单元中的过程。在程序中,可以给一个变量多次赋值。变量的当值等于最近一次给变量所赋的值。更多内容,欢迎点击下载2第二章-数据类型、变量和常量学习课件PPT模板哦。

2第二章-数据类型、变量和常量学习课件PPT模板是由红软PPT免费下载网推荐的一款数学课件PPT类型的PowerPoint.

2.1.2 值类型AJJ红软基地
值类型(value type)AJJ红软基地
值类型的变量在堆栈(Stack)中直接包含其数据,每个变量都有自己的数据副本(除 ref 和 out 参数变量外)AJJ红软基地
变量之间的操作独立(互不影响)。AJJ红软基地
C# 的值类型分为:AJJ红软基地
简单类型(simple type)AJJ红软基地
枚举类型(enum type)AJJ红软基地
结构类型(struct type)AJJ红软基地
 null 的类型(nullable type)AJJ红软基地
2.1数据类型AJJ红软基地
2.1.1类型系统AJJ红软基地
通用类型系统(Common Type System,CTS)定义了如何在运行库中声明、使用和管理类型。AJJ红软基地
以保证遵循公共语言规范(Common Language Specification,CLS)的语言(C#、VB.NET)编写程序之间的互操作。AJJ红软基地
CTS是运行库(CLR)支持跨语言集成的一个重要组成部分。AJJ红软基地
2.1.3 引用类型AJJ红软基地
引用类型(reference type):AJJ红软基地
引用类型的变量在堆栈(Stack)中存储对数据(对象)的引用(地址),数据(对象)存储在托管运行环境管理的堆(Heap)中。AJJ红软基地
对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象AJJ红软基地
C# 的引用类型分为:AJJ红软基地
类类型(class type)、接口类型(interface type)、数组类型(array type) 和委托类型(delegate type)AJJ红软基地
【例2.1】值类型与引用类型之间的区别示例AJJ红软基地
变量val1、val2为值类型;ref1、ref2为引用类型。比较其运行结果和内存分配示意图AJJ红软基地
2.2 变量AJJ红软基地
变量是程序运行过程中用于存放数据的存储单元。AJJ红软基地
变量的值在程序的运行过程中可以改变。AJJ红软基地
2.2.1 声明变量(变量的定义);AJJ红软基地
            在定义变量时,首先必须给每一个变量起名,称为变量名,变量名代表存储地址。AJJ红软基地
           变量的类型决定了存储在变量中的数值的类型。              AJJ红软基地
          变量定义格式:AJJ红软基地
          类型标识符  变量名1,变量名2,……AJJ红软基地
2.2.1 声明变量(变量的定义)AJJ红软基地
例:AJJ红软基地
double fsum;AJJ红软基地
string strName;AJJ红软基地
char b;AJJ红软基地
int x,  y , z;AJJ红软基地
注意:C#规定,任何变量在使用前,必须先定义, 后使用。AJJ红软基地
2.2.2 变量的命名规则AJJ红软基地
变量名的第一个字符必须是字母、下划线(“_”)或@,AJJ红软基地
其后的字符可以是字母、下划线或数字。AJJ红软基地
注意,C#定义的关键字不能用作变量名。但可以定义@加关键字的变量名AJJ红软基地
myVar、_strName、obj1、@namespace为正确的变量名AJJ红软基地
99var、It'sOK、namespace为错误的变量名AJJ红软基地
.NET Framework一般遵循两种命名约定:PascalCase和camelCaseAJJ红软基地
2.2.3 变量的赋值AJJ红软基地
在获取变量的值之前,变量必须已明确赋值(definitely assigned)AJJ红软基地
C#变量被访问之前必须被初始化;否则编译时会报错。因此,不可能访问一个未初始化变量AJJ红软基地
2.2.3 变量的赋值AJJ红软基地
变量的赋值: 就是将数据保存到变量所代表的存储单元中的过程。AJJ红软基地
格式:AJJ红软基地
           变量名=表达式;AJJ红软基地
意义:计算表达式的值,然后将这个值赋予变量。AJJ红软基地
例:AJJ红软基地
      double  nAverage;AJJ红软基地
      int  nAgeSum; AJJ红软基地
      nAgeSum=210;  //给nAgeSum变量赋予数值210AJJ红软基地
2.2.3 变量的赋值AJJ红软基地
在程序中,可以给一个变量多次赋值。变量的当值等于最近一次给变量所赋的值。AJJ红软基地
如:AJJ红软基地
      nAgeSum=68;           //这时nAgeSum等于68AJJ红软基地
      nAgeSum=36+24;    //这时nAgeSum等于60AJJ红软基地
      nAgeSum= nAgeSum+40;    //nAgeSum等于100AJJ红软基地
2.2.3 变量的赋值AJJ红软基地
在对变量进行赋值时,表达式的值的类型必须同变量的类型一致。AJJ红软基地
    string  sName;AJJ红软基地
    int  nScore;AJJ红软基地
sName="Jack";      //正确AJJ红软基地
    sName="Tom";      //正确AJJ红软基地
    nScore=98;AJJ红软基地
sName=5;               //错误, 不能将整数赋予字符串对象AJJ红软基地
   nScore=“Hello”;    //错误, 不能字符串赋予整型变量AJJ红软基地
2.2.3 变量的初始化AJJ红软基地
在定义变量的同时,可以对变量赋值,称为变量的初始化。AJJ红软基地
           对变量进行初始化的格式如下:AJJ红软基地
               类型标识符  变量名=表达式;AJJ红软基地
          例:AJJ红软基地
             string  str=“This is a book”;AJJ红软基地
2.2.3 变量的分类AJJ红软基地
C#中,变量分为七种类型:AJJ红软基地
静态变量(static variables)AJJ红软基地
非静态变量(也即实例变量instance variables)AJJ红软基地
局部变量(local variables)AJJ红软基地
数组元素(array elements)AJJ红软基地
值参数(value parameters)AJJ红软基地
引用参数(reference parameters)AJJ红软基地
输出参数(output parameters)AJJ红软基地
【例2.2】变量的声明和赋值示例AJJ红软基地
2.2.4 变量的作用域AJJ红软基地
1. 局部变量的作用域AJJ红软基地
局部变量存在于表示声明该变量的块语句或方法结束的封闭花括号之前的作用域内AJJ红软基地
在for、while或类似语句中声明的局部变量存在于该循环体内AJJ红软基地
2. 局部变量的作用域冲突AJJ红软基地
同名的局部变量不能在同一作用域内声明两次AJJ红软基地
3. 字段和局部变量的作用域冲突AJJ红软基地
在类的方法中可以定义与已定义的字段名相同的局部变量,而不产生冲突AJJ红软基地
【例2.3】变量的作用域示例(2-3newVariable.cs)AJJ红软基地
2.3 常量AJJ红软基地
在C#中,常量在程序的运行过程中其值是不能改变的,例如,数字100就是一个常量,这样的常量一般被称作常数。AJJ红软基地
声明常量的格式:AJJ红软基地
           const  类型标识符 常量名 = 表达式;AJJ红软基地
例:AJJ红软基地
           const double PI=3.14159265;AJJ红软基地
           double r=5.2;AJJ红软基地
           double s=PI*r*r;AJJ红软基地
           Console.Write(“面积={0}”,s);AJJ红软基地
常量特点:AJJ红软基地
在程序中,常量只能被赋予初始值。AJJ红软基地
定义常量时,表达式中的运算符对象只允许出现常量和常数,不能有变量存在。AJJ红软基地
常量的命名规则一般采用大写字母AJJ红软基地
例如:AJJ红软基地
        int b=18;AJJ红软基地
        const int a=26;AJJ红软基地
        const int k=b+10;   //错误,表达式中不允许出现变量AJJ红软基地
        const int d=a+23;   //正确,因为a是常量AJJ红软基地
        a=56;           //错误,不能修改常量的值AJJ红软基地
【例2.4】常量的声明和赋值示例AJJ红软基地
单元练习AJJ红软基地
判断题:AJJ红软基地
 1.  C#规定所有变量必须先声明后使用。 ( )  AJJ红软基地
 2.双精度浮点数类型double由8个字节组成。( )    AJJ红软基地
 3.   执行const  int  a=10; a=a+1; 这两条语句后, a的值为11。( )AJJ红软基地
填空题:AJJ红软基地
  1.使用变量a存放数据-389,则将变量声明为(        )类型最合适。AJJ红软基地
2.4 预定义数据类型AJJ红软基地
C#的内置值类型表示基本数据类型:AJJ红软基地
整型AJJ红软基地
浮点类型AJJ红软基地
decimal类型AJJ红软基地
bool类型AJJ红软基地
字符类型AJJ红软基地
C#支持两个预定义的引用类型AJJ红软基地
objectAJJ红软基地
stringAJJ红软基地
2.4.1 整型AJJ红软基地
C#支持8个预定义整数类型,分别支持8位、16位、32位和64位整数值的有符号和无符号的形式AJJ红软基地
【例2.5】整型变量示例AJJ红软基地
2.4.2 浮点类型AJJ红软基地
C#支持2种浮点数据类型(float和double),用于包含小数的计算AJJ红软基地
【例2.6】浮点类型变量示例AJJ红软基地
2.4.3 decimal类型AJJ红软基地
C#支持高精度小数类型(decimal),decimal数据类型一般用于财务计算,即可以用较大的精确度来表示货币值。AJJ红软基地
注意:小数类型数据的后面必须跟m或者M后缀来表示它是decimal类型的,如3.14m、0.28m等,否则就会被解释成标准的浮点类型数据,导致数据类型不匹配。AJJ红软基地
【例2.7】decimal类型变量示例AJJ红软基地
常量后缀表示方法AJJ红软基地
       138f                 代表float类型的数值138.0AJJ红软基地
       518u                代表uint类型的数值518AJJ红软基地
       36897123ul     代表ulong类型的数值  36897123AJJ红软基地
       22.1m              代表decimal类型的数值22.1AJJ红软基地
       12.68               代表double类型的数值12.68AJJ红软基地
       36                    代表int类型的数值36AJJ红软基地
特例:前缀AJJ红软基地
0x开头表示16进制AJJ红软基地
建议AJJ红软基地
初学者,先牢记以下几种:AJJ红软基地
int型 :一般要表示带符号的整数时,先考虑使用int型;AJJ红软基地
uint型 :一般需要不带符号的整数时,先考虑使用uint型;AJJ红软基地
double型:一般需要做科学计算,并且精度要求不是很高时,考虑使用double型。AJJ红软基地
2.4.4 bool类型AJJ红软基地
C#的bool数据类型用于逻辑运算,包含bool值true或falseAJJ红软基地
例:AJJ红软基地
                   bool  b=5>3;               //b的值为true;AJJ红软基地
                   b=false;AJJ红软基地
【例2.8】布尔类型变量示例AJJ红软基地
2.4.5字符类型AJJ红软基地
C#的char数据类型用于保存单个字符的值,如:AJJ红软基地
‘你’、 ‘A’、  ‘?’、  ‘6’、‘2’AJJ红软基地
C#语言中,四种形式:AJJ红软基地
字符使用单引号括起来(例如‘A’)AJJ红软基地
使用4位16进制的Unicode值(例如‘\u0041’)AJJ红软基地
带有数据类型转换的整数值(例如(char)65)AJJ红软基地
16进制数(‘\x0041’)AJJ红软基地
【例2.9】字符类型变量示例AJJ红软基地
2.4.5字符类型AJJ红软基地
为了表示单引号和反斜杠等特殊的字符常数,C#提供了转义符。特殊符号则需要使用转义序列表示。AJJ红软基地
2.4.6 object类型AJJ红软基地
object类型是C#编程语言的类层次结构的根类型,object是System.Object的别名,所有的类型都隐含地最终派生于System.Object类。AJJ红软基地
object类型主要可以用于两个目的:AJJ红软基地
可以使用object引用绑定任何类型的对象AJJ红软基地
object类型执行许多基本的一般用途的方法,包括Equals()、GetHashCode()、GetType()和ToString()等AJJ红软基地
2.4.6 object类型AJJ红软基地
对于任一个object变量,均可以赋以任何类型的值。AJJ红软基地
         double d=3.14;AJJ红软基地
         object obj1;AJJ红软基地
         obj1=d;AJJ红软基地
         obj1=‘k’;AJJ红软基地
对于object类型的变量,声明必须使用object关键字。AJJ红软基地
TestObject实验AJJ红软基地
using System;AJJ红软基地
namespace TestAJJ红软基地
{AJJ红软基地
    public class TestObjAJJ红软基地
    {AJJ红软基地
        static void Main()AJJ红软基地
        {AJJ红软基地
            object x = 25;AJJ红软基地
            Console.WriteLine("{0},{1},{2},{3}",x,x.GetHashCode(),x.GetType(),x.ToString());AJJ红软基地
            Console.ReadKey();AJJ红软基地
        }AJJ红软基地
    }AJJ红软基地
}AJJ红软基地
2.4.7 string类型AJJ红软基地
C#字符串处理使用string(System.String的别名)类型表示零或更多Unicode字符组成的序列AJJ红软基地
string是引用类型AJJ红软基地
一个字符串是被双引号包含的一系列字符。AJJ红软基地
string类是专门用于对字符串进行操作的。  AJJ红软基地
 如:AJJ红软基地
    string str1="中国,";AJJ红软基地
    string str2="你好!";AJJ红软基地
    string str3=str1+str2;  //这相当于str3="中国,你好!"AJJ红软基地
    char c=str3[0];      //取出str3的第一个字符,即“中”字。AJJ红软基地
TestString实验AJJ红软基地
using System;AJJ红软基地
namespace testAJJ红软基地
{AJJ红软基地
   public class TestClsAJJ红软基地
    {AJJ红软基地
        static void Main()AJJ红软基地
        {AJJ红软基地
            string str1 = "abdc";AJJ红软基地
            string str2 = "中国人";AJJ红软基地
            Console.WriteLine("{0},{1},{2},{3}",str1[2],str2[2],str1.Length,str2.Length);AJJ红软基地
        }AJJ红软基地
    }AJJ红软基地
}AJJ红软基地
2.4.7 string类型AJJ红软基地
C#支持两种形式的字符串AJJ红软基地
正则字符串(regular string)AJJ红软基地
包含在双引号中的零个或多个字符组成(如"hello"),并且可以包含简单转义序列(如表示制表符的\t)、十六进制转义序列和Unicode转义序列AJJ红软基地
原义字符串(verbatim string)AJJ红软基地
由@字符后跟开始的双引号字符、零个或多个字符以及结束的双引号字符组成。一个简单的示例就是 @“hello“ (不解释转义字符)AJJ红软基地
【例2.10】字符串类型变量示例AJJ红软基地
正则字符串(regular string)AJJ红软基地
例1:  “this is a test”AJJ红软基地
               “C#程序设计教程”AJJ红软基地
     例2:AJJ红软基地
      using System;AJJ红软基地
      class StrDemoAJJ红软基地
     {AJJ红软基地
         static void Main( )AJJ红软基地
         {AJJ红软基地
            Console.WriteLine("First\0line\nSecond\0line");  AJJ红软基地
            Console.WriteLine("你好\a");            AJJ红软基地
            Console.WriteLine(“1\t2\t3");AJJ红软基地
            Console.WriteLine(“*\t**\t***”);AJJ红软基地
          }AJJ红软基地
      }AJJ红软基地
正则字符串(regular string)AJJ红软基地
例3:AJJ红软基地
using System;AJJ红软基地
class StringDemoAJJ红软基地
{AJJ红软基地
    public static void Main( )AJJ红软基地
    {AJJ红软基地
      string str1=“A string”;              AJJ红软基地
      string str2="Another string.";AJJ红软基地
      Console.WriteLine(“{0}\n{1}”,str1,str2);AJJ红软基地
     }AJJ红软基地
}AJJ红软基地
原义字符串(verbatim string)AJJ红软基地
逐字字符串常数以@开头,后跟一对双引号,在双引号中放入字符。如:AJJ红软基地
        @“电子高专”AJJ红软基地
        @“This is a book.”AJJ红软基地
逐字字符串常数同常规字符串常数的区别:AJJ红软基地
在逐字字符串常数的双引号中,每个字符都代表其最原始的意义,在逐字字符串常数中没有转义字符。AJJ红软基地
注意:如果要包含双引号("),就必须在一行中使用两个双引号("")。AJJ红软基地
原义字符串(verbatim string)AJJ红软基地
string str1;     //定义字符串类型AJJ红软基地
string str2="hello, world";         //规则字符串常数:hello, worldAJJ红软基地
string str3=@"hello, world";       //逐字字符串常数:hello, world        AJJ红软基地
string str4="hello \t world";        //hello          worldAJJ红软基地
string str5=@ "hello \t world";      //hello \t worldAJJ红软基地
string str6=“He said\" Hello \" to you";  //Tom said "Hello" to youAJJ红软基地
string str7=@“He said ""Hello"" to you"; //Tom said "Hello" to youAJJ红软基地
原义字符串(verbatim string)AJJ红软基地
例(运行见TestStrA.cs)AJJ红软基地
  using System;AJJ红软基地
  class TestAJJ红软基地
  {AJJ红软基地
   static void Main( )AJJ红软基地
   {AJJ红软基地
    Console.WriteLine(@"This is a verbaAJJ红软基地
    tim string literalAJJ红软基地
    that spans several lines. ");AJJ红软基地
    Console.WriteLine(@"Here is some tabbed output:AJJ红软基地
  1  2  3  4AJJ红软基地
  5  6  7  8AJJ红软基地
  ");   AJJ红软基地
    Console.WriteLine(@"Programmers say, " "I like C#""");AJJ红软基地
   }AJJ红软基地
  }AJJ红软基地
2.4.8 可以为null的类型AJJ红软基地
可以为null的类型表示可被赋值为null值的值类型变量AJJ红软基地
其取值范围为其基础值类型正常范围内的值,再加上一个null值。AJJ红软基地
例如,bool? (Nullable<bool>)的值包括true、false或nullAJJ红软基地
可以为null的类型的声明语法:AJJ红软基地
                   T? x; 或Nullable<T> x; AJJ红软基地
其中的T为值类型。语法T?是Nullable<T>的简写。AJJ红软基地
可以为null的类型赋值的方法与为一般值类型赋值的方法相同。AJJ红软基地
              例如:int? x = 10;AJJ红软基地
【例2.11】可以为null的类型示例AJJ红软基地
2.5 类型转换AJJ红软基地
数据类型在一定条件下是可以相互转换的。C#允许使用两种转换的方式:隐式转换和显式转换。AJJ红软基地
隐式转换AJJ红软基地
只允许发生在从小的值范围的类型到大的值范围的类型的转换,转换后的数值大小不受影响。 隐式转换是系统默认的、不需要加以声明就可以进行的转换。   AJJ红软基地
隐式数据转换的使用方法如下:AJJ红软基地
                int  i=518;      //a为整型数据AJJ红软基地
                long  b=i;     //b为长整型数据AJJ红软基地
                float f=i;     //f为单精度浮点型数据AJJ红软基地
2.5.1 隐式转换AJJ红软基地
2.5.2 显式转换(强制转换)AJJ红软基地
显式转换又叫强制类型转换,显式转换要明确指定转换类型。AJJ红软基地
显式转换格式:AJJ红软基地
          (类型标识符)表达式AJJ红软基地
意义为:将表达式的值的类型转换为类型标识符的类型。AJJ红软基地
      比如:AJJ红软基地
         (char)65         //把int类型的65转换成char类型AJJ红软基地
注意:(1)显式转换可能会导致错误。AJJ红软基地
                 (2)对于将float,double, decimal转换为整数,将通过舍   AJJ红软基地
                          入得到最接近的整型值,如果这个整型值超出目标  AJJ红软基地
                          域,则出现转换异常。AJJ红软基地
      比如:AJJ红软基地
           (int)6.58m   // 转换的结果为6AJJ红软基地
           (int) 3e25f     //将产生溢出错误3*1025AJJ红软基地
2.5.3 装箱和拆箱AJJ红软基地
C#中所有的类型都继承于System.Object根类型,而所有的值类型都继承于System.ValueType类型AJJ红软基地
通过装箱(boxing)和拆箱(unboxing)机制,可以实现值类型和引用类型之间的转换AJJ红软基地
1. 装箱转换AJJ红软基地
            装箱转换是指将一个值类型的数据隐式地转换成一个对象类型(object)的数据。AJJ红软基地
     例如:下面的两条语句就执行了装箱转换:AJJ红软基地
           int  i=518;AJJ红软基地
           object  obj=i;AJJ红软基地
1.装箱转换AJJ红软基地
例:在程序中执行装箱转换。AJJ红软基地
     using System;AJJ红软基地
     class BoxingDemoAJJ红软基地
     { static void Main( )AJJ红软基地
        { Console.WriteLine("执行装箱转换:");AJJ红软基地
           int k=200;AJJ红软基地
           object obj=k;AJJ红软基地
           k=300;AJJ红软基地
           Console.WriteLine("obj={0}",obj);AJJ红软基地
           Console.WriteLine("k={0}", k); }AJJ红软基地
     }AJJ红软基地
2.拆箱转换AJJ红软基地
2.拆箱转换AJJ红软基地
          和装箱相反,拆箱转换是指将一个对象类型的数据显式地转换成一个值类型数据。AJJ红软基地
          例如:      object obj=228; AJJ红软基地
                            int k=(int)obj;AJJ红软基地
【例2.12】装箱(boxing)和拆箱(unboxing)示例AJJ红软基地
2.拆箱转换AJJ红软基地
例:在程序中使用拆箱转换。AJJ红软基地
 using SystemAJJ红软基地
 class UnboxingDemoAJJ红软基地
  {AJJ红软基地
   static void Main( )AJJ红软基地
    {AJJ红软基地
     int k=228;AJJ红软基地
     object obj=k;      //装箱转换AJJ红软基地
     int j=(int ) obj;     //拆箱转换AJJ红软基地
     Console.WriteLine("k={0}\tobj={1}\tj={2}", k, obj, j); AJJ红软基地
     }AJJ红软基地
   }AJJ红软基地
2.5.4 Convert类提供的类型转换方法AJJ红软基地
using System;  //【例2.13】类型转换示例AJJ红软基地
namespace Chapter02AJJ红软基地
{AJJ红软基地
    class ConversionTestAJJ红软基地
    {AJJ红软基地
        static void Main()AJJ红软基地
        {AJJ红软基地
            sbyte sbyte1 = 123;         //隐式类型转换:int 到 sbyteAJJ红软基地
            short short1 = 123;        //隐式类型转换:int 到 shortAJJ红软基地
            ushort ushort1 = 123;      //隐式类型转换:int 到 ushortAJJ红软基地
            Console.WriteLine("{0},{1},{2}", sbyte1, short1,ushort1);AJJ红软基地
           //int itest = 234L;             //不能隐式转换 long 到intAJJ红软基地
            double dNumber = 23.55;AJJ红软基地
            int iNumber = System.Convert.ToInt32(dNumber);// Returns 24四舍五入AJJ红软基地
            int iNumint = (int)dNumber; //向下取整 返回 23AJJ红软基地
            bool bNumber = System.Convert.ToBoolean(dNumber);// Returns TrueAJJ红软基地
            string strNumber = System.Convert.ToString(dNumber);// Returns "23.55"AJJ红软基地
            char chrNumber = System.Convert.ToChar(strNumber[1]);// Returns '3'AJJ红软基地
            Console.WriteLine("{0},{1},{2},{3},{4}", iNumber, iNumint,bNumber, strNumber , chrNumber);AJJ红软基地
            Console.ReadKey();AJJ红软基地
        }AJJ红软基地
    }AJJ红软基地
}AJJ红软基地
2.5.4 checked关键字AJJ红软基地
使用关键字checked可以指定已检查的上下文;AJJ红软基地
使用关键字unchecked可以指定未检查的上下文。AJJ红软基地
【例2.14】checked关键字使用示例AJJ红软基地
using System;AJJ红软基地
class MyExceptionTestAJJ红软基地
{AJJ红软基地
    static void Main(string[] args)AJJ红软基地
    {AJJ红软基地
        int i = int.MaxValue;//结果:2147483647AJJ红软基地
        tryAJJ红软基地
        {   checkedAJJ红软基地
            {AJJ红软基地
                int j = i + 1; //发生异常AJJ红软基地
            }AJJ红软基地
             //或者写成 int j= checked(i+1);否则无法捕获异常AJJ红软基地
        }AJJ红软基地
        catch (System.OverflowException e)AJJ红软基地
        {AJJ红软基地
            Console.WriteLine(e.ToString());AJJ红软基地
        }AJJ红软基地
uncheckedAJJ红软基地
        {AJJ红软基地
            long i1 = 2147483649;AJJ红软基地
            int j1 = (int)i1;//结果:-2147483647AJJ红软基地
            Console.WriteLine(i1);AJJ红软基地
            Console.WriteLine(j1);AJJ红软基地
            byte i2 = 129;AJJ红软基地
            sbyte j2 = (SByte)i2;//结果:-127 ,没有unchecked,也可以通过编译AJJ红软基地
            //sbyte j3 = (SByte)200;// 如果没有unchecked,则编译出错AJJ红软基地
            Console.WriteLine(i2);AJJ红软基地
            Console.WriteLine(j2);AJJ红软基地
        }AJJ红软基地
        Console.ReadKey();AJJ红软基地
    }AJJ红软基地
}AJJ红软基地
2.6  输入/输出操作AJJ红软基地
控制台(console)输入/输出主要通过命名空间System中的类Console来实现,它提供了从控制台读写字符的基本功能。控制台输入主要通过Console类的Read方法ReadLine方法来实现的,控制台输出主要通过Console类的Write和WriteLine方法来实现的。AJJ红软基地
2.6.1  Console.WriteLine( ) 方法AJJ红软基地
        WriteLine( )方法的作用是将信息输出到控制台,但是WriteLine方法在输出信息的后面添加一个回车换行符用来产生一个新行。AJJ红软基地
         在WriteLine( )方法中,可以采用“{N[,M][:格式化字符串]}”的形式来格式化输出字符串,其中的参数含义如下:AJJ红软基地
花括号(“{}”)用来在输出字符串中插入变量。AJJ红软基地
N表示输出变量的序号,从0开始,如当N为0时,则对应输出第1个变量的值,当N为5时,则对应输出第6个变量的值,依次类推。AJJ红软基地
[,M][:格式化字符串]是可选项,其中M表示输出的变量所占的字符个数,当这个变量的值为负数时,输出的变量按照左对齐方式排列;如果这个变量的值为正数的时候,输出的变量按照右对齐方式排列。 AJJ红软基地
[:格式化字符串]也是可选项,因为在向控制台输出时,常常需要指定输出字符串的格式。通过使用标准数字格式字符串,可以使用Xn的形式来指定结果字符串的格式,其中X指定数字的格式,n指定数字的精度,即有效数字的位 数。这里提供8个常用的格式字符。AJJ红软基地
1.  货币格式AJJ红软基地
            货币格式C或者c的作用是将数据转换成货币格式,在格式字符C或者c后面的数字表示转换后的货币格式数据的小数位数。AJJ红软基地
例如:AJJ红软基地
    double k = 1234.789;            AJJ红软基地
    Console.WriteLine("{0,8:c}", k);  AJJ红软基地
    Console.WriteLine("{0,9:c}", k);  AJJ红软基地
    Console.WriteLine("{0,10:c}ok", k);  AJJ红软基地
    Console.WriteLine("{0,-10:c}ok", k );  AJJ红软基地
    Console.WriteLine("{0,10:c4}", k); AJJ红软基地
详见:WriteExam.cs代码AJJ红软基地
2.  整数数据类型格式AJJ红软基地
       格式字符D或者d的作用是将数据转换成整数类型格式。AJJ红软基地
例如:AJJ红软基地
     int  k=1234;AJJ红软基地
     Console.WriteLine(“{0:D}”, k);  //结果是1234AJJ红软基地
     Console.WriteLine(“{0:d3}”, k);  //结果是1234AJJ红软基地
     Console.WriteLine(“{0:d5}”, k);  //结果是01234AJJ红软基地
3.  科学计数法格式AJJ红软基地
        格式字符E或者e的作用是将数据转换成科学计数法格式。AJJ红软基地
   例如:int  k=123000;AJJ红软基地
               double f=1234.5578;AJJ红软基地
               Console.WriteLine(“{0:E}”, k);  //结果是1.230000E+005AJJ红软基地
               Console.WriteLine(“{0:e}”, k);  //结果是1.230000e+005AJJ红软基地
               Console.WriteLine(“{0:E}”, f);  //结果是1.234558E+003AJJ红软基地
               Console.WriteLine(“{0:e}”, f);  //结果是1.234558e+003AJJ红软基地
               Console.WriteLine(“{0:e4}”, k);  //结果是1.2300e+005AJJ红软基地
               Console.WriteLine(“{0:e4}”, f);  //结果是1.2346e+003AJJ红软基地
4.  浮点数据类型格式AJJ红软基地
     格式字符F或者f的作用是将数据转换成浮点数据类型格式。AJJ红软基地
例如:AJJ红软基地
     int a=123000;AJJ红软基地
     double b=1234.5578;AJJ红软基地
     Console.WriteLine("{0,-10:f}ok",a);//结果是123000.00 okAJJ红软基地
     Console.WriteLine("{0:f}",b);//结果是1234.56AJJ红软基地
     Console.WriteLine("{0,12:f4}",a);//结果是 123000.0000前面有一个空格AJJ红软基地
     Console.WriteLine("{0:f3}",b);//结果是1234.558AJJ红软基地
     Console.WriteLine("{0:f6}",b);//结果是1234.557800AJJ红软基地
5.  通用格式 AJJ红软基地
    格式字符G或者g的作用是将数据转换成通用格式。AJJ红软基地
例如:AJJ红软基地
    double k=1234.789;AJJ红软基地
    int j=123456;AJJ红软基地
    Console.WriteLine(“{0:g}”, j);  //结果是123456AJJ红软基地
    Console.WriteLine(“{0:g}”, k);  //结果是1234.789AJJ红软基地
    Console.WriteLine(“{0:g4}”, k);  //结果是1235AJJ红软基地
    Console.WriteLine(“{0:g4}”, j);  //结果是1.235e+05AJJ红软基地
6.  自然数据格式AJJ红软基地
     格式字符N或者n的作用是将数据转换成自然数据格式。AJJ红软基地
例如:AJJ红软基地
    double k=211122.12345;AJJ红软基地
    int j=1234567;AJJ红软基地
    Console.WriteLine(“{0:N}”,k);  //结果是211,122.12AJJ红软基地
    Console.WriteLine(“{0:n}”, j);  //结果是1,234,567.00AJJ红软基地
    Console.WriteLine(“{0:n4}”, k);  //结果是211,122.1235AJJ红软基地
    Console.WriteLine(“{0:n4}”, j);  //结果是1,234,567.0000AJJ红软基地
7. 十六进制数据格式AJJ红软基地
格式字符X或者x的作用是将数据转换成十六进制数据格式,在格式字符X或者x后面的数字表示转换后的十六进制数据的数据位数。AJJ红软基地
    例如:AJJ红软基地
        int j=123456;AJJ红软基地
        Console.WriteLine("{0:x}", j);  //结果是1e240AJJ红软基地
        Console.WriteLine("{0:x6}", j);  //结果是01e240AJJ红软基地
还可以不使用参数调用WriteLine( )方法,这时将在控制台中产生一个新行。AJJ红软基地
例: 利用Console.WriteLine( )方法输出变量值。程序代码如下:AJJ红软基地
      using   System;AJJ红软基地
      class TestAJJ红软基地
     {AJJ红软基地
      static void Main( )AJJ红软基地
      {AJJ红软基地
            int i=12345;AJJ红软基地
            double j=123.45678;AJJ红软基地
            Console.WriteLine("i={0,8:D}   j={1, 10: F3}", i , j);AJJ红软基地
            Console.WriteLine( );AJJ红软基地
            Console.WriteLine("i={0,-8:D}   j={1, -10: F3}", i , j);AJJ红软基地
       }AJJ红软基地
     }AJJ红软基地
2.6.2   Console.Write( )方法      AJJ红软基地
Write( )方法和WriteLine( )方法类似,都是将信息输出到控制台,但是输出到屏幕后并不会产生一个新行,即换行符不会连同输出信息一起输出到屏幕上,光标将停留在所输出信息的末尾。AJJ红软基地
在Write( )方法中,也可以采用“{N[,M][:格式化字符串]}”的形式来格式化输出字符串,其中的参数含义如同WriteLine( )方法。AJJ红软基地
例: 利用Console.WriteLine( )方法输出变量值。程序代码如下:AJJ红软基地
using   System;AJJ红软基地
class TestAJJ红软基地
{AJJ红软基地
  static void Main( )AJJ红软基地
   {AJJ红软基地
      int i=12345;AJJ红软基地
      double j=123.45678;AJJ红软基地
      Console.Write("i={0,8:D}   j={1, 10: F3}     ", i , j);AJJ红软基地
       Console.Write("i={0,-8:D}   j={1, -10: F3}", i , j);AJJ红软基地
     }AJJ红软基地
}AJJ红软基地
2.6.3  Console.ReadLine( )方法AJJ红软基地
 ReadLine( )方法用来从控制台读取一行数据,一次读取一行字符的输入,并且直到用户按下回车键它才会返回。AJJ红软基地
ReadLine( )方法并不接收回车键。如果ReadLine( )方法没有接收到任何输入,或者接收了无效的输入,那么ReadLine( )方法将返回null。AJJ红软基地
正常返回输入的字符串。AJJ红软基地
例:用ReadLine( )方法接收用户输入,然后输出。AJJ红软基地
  using System;AJJ红软基地
  class TestAJJ红软基地
  {    static void Main( )AJJ红软基地
     {  string str;AJJ红软基地
         Console.WriteLine(“请输入你的姓名:”);AJJ红软基地
         str=Console.ReadLine( );AJJ红软基地
         Console.WriteLine(“{0},欢迎你!”,str);AJJ红软基地
     }AJJ红软基地
   }AJJ红软基地
2.6.4  Console.Read( )方法AJJ红软基地
Read( )方法的作用是从输入流(控制台)读取下一个字符,Read( )方法一次只能从输入流读取一个字符,并且直到用户按回车键才会返回。AJJ红软基地
当这个方法返回时,如果输入流中包含有效的输入,则它返回一个表示输入字符的整数;如果输入流中没有数据,则返回-1。AJJ红软基地
例:通过Console.Read( )方法从控制台接收用户的输入,然后显示接收的内容。程序代码如下:AJJ红软基地
using System;AJJ红软基地
class TestIoAJJ红软基地
{ static void Main( )AJJ红软基地
  {   Console.Write("请输入字符:");AJJ红软基地
       int a=Console.Read( );AJJ红软基地
       Console.WriteLine("用户输入的内容为:{0}",a);AJJ红软基地
  }AJJ红软基地
}AJJ红软基地
练习AJJ红软基地
以下标识符中,错误的是(      )AJJ红软基地
        A.  _b39              B.  x345        AJJ红软基地
        C.  6_321            D. nAverageAJJ红软基地
以下标识符中,正确的是(      )AJJ红软基地
        A. _nName       B.  Main        AJJ红软基地
        C.  6b                D. x5#AJJ红软基地
练习AJJ红软基地
(     )是decimal类型数据AJJ红软基地
     A.123LAJJ红软基地
     B.123.4AJJ红软基地
     C.123.4FAJJ红软基地
     D.123.4MAJJ红软基地
已知大写字母A的ASCII码是65,小写字母a的ASCII码AJJ红软基地
      是97,则十六进制字符常量‘\u0042’表示(    )AJJ红软基地
       A.字符a           B.字符A   AJJ红软基地
       C.字符b           D.字符BAJJ红软基地
练习AJJ红软基地
编写程序,验证隐式转换、显式转换、装箱拆箱。AJJ红软基地
回答AJJ红软基地
byte x= 200;AJJ红软基地
sbyte y = (sbyte)200;AJJ红软基地
y值是多少,为什么?AJJ红软基地
区别Read()和ReadLine()方法,结合数据类型转换,通过以上方法对整型变量赋值。AJJ红软基地
int n;AJJ红软基地
n = Console.Read();   //如果输入2回车,则n为多少?AJJ红软基地
n=n-48;    // n为多少?AJJ红软基地
如果输入10回车,则n为多少?AJJ红软基地
程序可修改为:AJJ红软基地
int n;AJJ红软基地
n = Convert.ToInt32(Console.ReadLine());AJJ红软基地
补充AJJ红软基地
Parse( )方法:AJJ红软基地
    主要用于将数字的字符串表示形式转换为它的等效的其他基本数字类型。AJJ红软基地
数据类型.Parse(字符串)AJJ红软基地
注意:数据类型可以使用C#数据类型,也可以使用CTSAJJ红软基地
     例:  string    s=“18”;AJJ红软基地
               int  a=int.Parse(s)-10;    //a=8AJJ红软基地
               int  b=a+int.Parse(Console.ReadLine());AJJ红软基地
实验和习题AJJ红软基地
电话号码升位:AJJ红软基地
升位规则:6位-8位,在第1位和第2位之间添加数字8,然后在首位加2.AJJ红软基地
输入坐标,判断属于下面哪个区域,正方形边长为1,圆半径为1。AJJ红软基地
思考题AJJ红软基地
四个人做了好事,有下面对话:AJJ红软基地
A:不是我AJJ红软基地
B:   是CAJJ红软基地
C:是DAJJ红软基地
D:C胡说AJJ红软基地
其中三个人说了真话,谁做了好事?AJJ红软基地
 AJJ红软基地

数据结构查找ppt:这是数据结构查找ppt,包括了基本概念与术语,静态查找表,动态查找表,哈希表查找,小结与习题等内容,欢迎点击下载。

数据结构ppt最短路径:这是数据结构ppt最短路径,包括了最短路径的定义,Dijkstra算法,Floyd算法,Floyd算法——C++描述等内容,欢迎点击下载。

数据库答辩ppt:这是数据库答辩ppt,包括了数据库用户管理和安全设置,数据库日志、作业与警报管理,复杂数据库备份和数据库维护,收获与体会等内容,欢迎点击下载。

PPT分类Classification

Copyright:2009-2024 红软网 rsdown.cn 联系邮箱:rsdown@163.com

湘ICP备2024053236号-1