C#语言-02.数据类型

      a. 数据类型
          i. 值类型:是一种由类型的实际值表示的数据类型,存储在栈内的存储空间中,由于编译器编译后将源代码中的值类型变量直接对应到唯一的存储空间上,直接访问该存储空间,故值类型的数据具有较快地存取速度。
              1. 数值类型:继承于 Object ,所有类型都隐含地声明了一个公共的无参数的构造函数,称为“默认构造函数”,默认构造函数返回一个初始值为零的实例。
                  a. 整数:支持 8 种整型 sbyte、short、byte、ushort、int、uint、long、ulong,这 8 类型通过其占用存储空间的大小以及是否有符号来存储不现极值范围的数据。
                  b. 浮点数:支持 2 种浮点数类型:float 和 double,两种差别在于取值范围和精度不同。double 的精度大于 float
                  c. 小数:十进制的类型:decimal ,decimal 的精度最高,与浮点类型之间不存在隐式或显示转换
              1. 布尔类型(bool):用来表示“真(true)”和“假(false)”两个概念的,与其他类型之间不存在任何转换
              2. 字符类型(char):包括数字字符、英文字符、表达式符号等,按照国际公认的标准,采用 Unicode 字符集,使用时用“单引号(‘‘)”表示
              3. 结构类型(struch):是一组相关信息组合成的单一实体
                  a. 作用:通常用于表示较为简单或者较少的数据,其实际应用意义在于使用结构类型可以节省使用类和内存的占用,因为结构类型没有如同类对象所需的大量额外的引用
              4. 枚举类型(eunm):是由一组特定的常量构成的一种数据结构,系统把相同类型、表达固定含义的一组数据作为一个集合放到一起形成新的数据类型
                  a. 注意:为枚举类型的元素所赋值的类型限于 long、int、short、byte 等整数类型
                  b. 与结构类型的区别:结构类型的变量值是由各个成员的值组合而成的,而枚举类型的变量在某一时刻只能取枚举中某一个元素的值
          ii. 引用类型:引用类型的数据并不驻留在栈内存中,而是存储于堆内存中,即是在堆内存中分配内存空间直接存储所包含的值,而在栈内存中中存放定位到存储具体值的索引。当访问一个具有引用类型的数据时,需要到栈内存中检查变量的内容,而该内容指向堆中的一个实际数据。
              1. 类类型:类是创建对象的模板
                  a. 语法:访问修饰符 class 类名{ //类的主体 }
                  b. 方法:用来描述类的行为
                      i. 语法:访问修饰符  返回类型  方法名(参数列表){ //方法的主体 }

      a. 属性:用来描述类的特征
      a. 对象类型:对象是类的一个具体实例,万物皆对象
      a. 字符串类型(String):是字符类型的集合,继承于 Object 类,使用时用“双引号("")”表示
      a. 数组类型:是包含若干个相同类型数据的集合,数组的数据类型可以是任何类型
          i. 一维数组:数组的维数决定了相关数组元素的下标数,一维数组只有一个下标
              1. 声明:数组类型[] 数组名;
              2. 两种初始化方式:
                  a. 在声明数组时进行初始化,如:int[] array={1,2,3,4};
                  b. 使用 new 关键字进行初始化,第一个下标为0,如:int[] array= new int[4]{1,2,3,4}; array[0]=1;
          ii. 多维数组:
              1. 声明:如二维数组是“数组类型[,]  数组名;”,三维数组是“数组类型[,,]  数组名;”
              2. 例子说明:定义一个二维数组  int[,] array={{2,4},{3,5},{4,6}} ,那么 array[1,0] = 3;
      b. 接口类型
      c. 代理类型
      a. 数据类型转换
          i. 隐式转换:对于任何数值类型A,只要其取值范围完全包含在类型B 的取值范围内,就可以隐式转换为类型B,也就是说,int 可以转成float或double,float也可 以转换成double
          ii. 显式转换:取值范围大的类型转换为取值小范围小的类型,如:double 转为 int
          iii. Parse()方法:将字符串类型转换为数值类型
          iv. Convert类:任何基本类型之间的相互转换,如:Convert.ToInt32() 转换为整型等方法
          v. 装箱:是指将值类型转换为引用类型的过程,具体操作为:首先分配一个对象实例,然后将值类型的值复制到该实例中,装箱前后不是同一个实例,对于引用类型来说,装箱前后都是同一个实例
          vi. 拆箱:是指将引用类型转换为值类型的过程,具体操作为:拆箱之前,要先检查该对象实例是否给定值类型的一个装过箱的值,然后将值从实例中赋值出来
      b. 值传递与引用传递的对比
          i. 值传递:是将变量的值复制一份传递给方法,使用得该方法的形参和实参的值相同。在调用的方法中修改形参也只是对实参复制吕的数据作更新,并没有真正改变实参的值
          ii. 引用传递:是将要传递的对象的引用复制给方法的形参,使得被调用的方法直接对引用对象进行更改,会影响实参原来的值
      a. 引用类型作为参数传递,其值的修改将会保留。以引用方式传递值类型的数据,其值的修改也将会保留,直接传递值类型数据,对它的修改不会被保留
      b. 静态成员:是一种特殊的成员,不属于类的某一个具体的实例,特点:在第一次访问类前被初始化,直到程序退出才会释放,对于类的所有实例来说都是唯一的
          i. 语法:Class  类名{
          public static 数据类型 变量名;
         public 返回值  方法名 (参数列表){ //方法体 }
        }
      a. 只能由该类的类名来访问
      b. 只能调用静态成员
时间: 2024-08-07 17:00:52

C#语言-02.数据类型的相关文章

黑 马 程 序 员_视频学习总结<c语言>----02 printf和scanf函数、基本语句和运算、流程控制、函数、数组、字符串

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.printf函数 1.在使用peintf函数前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据,其中使用格式是 printf(“字符串”) :或者 printf(“字符串”, 格式符参数): 2.常用的格式符及其含义如图所示 3.格式符还可以添加输出宽度 二.scanf函数 1.在使用scanf函

[程序设计语言]-04:数据类型

阅读导航 本系列其他文章目录请戳这里. 0. 概述 为何高级语言需要类型系统这个概念?在汇编时代是没有完整的数据类型系统的,结构化编程引入了结构化的控制流.为结构化设计的子程序,随之这种结构化的代码所操作的数据也进一步的“抽象化.特化”,故而有了数据类型这种概念,类型系统主要用于两个用途: 为许多操作提供了隐含的上下文信息,使程序员可以在许多情况下不必显示的描述这种上下文.比如int类型的两个对象相加就是整数相加.两个字符串类型的对象相加就是拼接字符串.C#中new object()隐含在背后的

C语言基本数据类型简介

C语言基本数据类型简介 1.概述 C 语言包含的数据类型如下图所示: 2.各种数据类型介绍 2.1整型 整形包括短整型.整形和长整形. 2.1.1短整形 short a=1; 2.1.2整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前.高位在后,例如0x12345678在内存中的存储如下: 地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 数据:

从头开始-03.C语言中数据类型

基本数据类型 整形: Int 4字节 %d / %i Short 2字节 %hd Long 8字节 %ld Longlong 8字节 %lld Unsigned 4字节 % 浮点型 单精度 Float 4字节 %f 双精度 Double 8字节 %lf 字符  char   1字节   %c 枚举:当一个变量只用几个固定的取值的时候使用枚举 特点:先定义枚举类型,然后使用枚举类型定义枚举变量 作用:提高代码的可读性,方便程序员之间的交流 注意:枚举类型的实质是整形 枚举定义的每一个成员都代表一个

黑马程序员 C语言:数据类型

C语言的数据类型 C语言程序中使用的各种变量都应预先加以说明,即先说明,后使用.对变量的说明可以包括三个方面: ·数据类型·存储类型·作用域 所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的.在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类. 1.基本数据类型 基本数据类型最主要的特点是,其值不可以再分解为其它类型.也就是说,基本数据类型是自我说明的. 2.构造数据类型构造数据类型 是根据已定义的一个或多个数据类型用构造的方法来定义的.

谈谈C语言的数据类型

本文摘要: 本文主要讲述C语言中的数据类型,从基本的数据类型到派生的数据类型,从int ,char ,float double ....到指针,数组,函数,指向指针的指针,指向数组的指针,指向函数的指针,指针与数组的区别,指针作为函数参数,函数作为函数参数.作为例子,本文将通过通用链表结构来说明void*如何实现通用结构设计,通过相对通用的哈希结构来说明如何利用函数指针作为函数的参数以及如何在结构体中封装函数指针以实现相当于类的功能结构. 首先,通过一些常见的声明来开始本文,这些声明几乎包含本文

C语言基本数据类型

所谓数据类型是按被定义变量的性质,表示形式,占据存储空间的多少,构造特点来划分的.在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类. 数据类型说明: 基本数据类型: 基本数据类型最主要的特点是,其值不可以再分解为其它类型.也就是说,基本数据类型是自我说明的. 构造数据类型: 构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的.也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”.每个“成员”都是一个基本数据类型或又是一个构造类型.在C语言中,构

C语言基本数据类型大小

C语言基本数据类型占用的字节数可以通过如下例子获取: #include<stdio.h> int main(void) { printf("char size=%d \n",sizeof(char)); printf("int size=%d \n",sizeof(int)); printf("long size=%d \n",sizeof(long)); printf("float size=%d \n",siz

3、C语言之数据类型、运算符与表达式

C语言之数据类型.运算符与表达式 1.C的数据类型 数据类型决定: (1)数据占内存的字节数 (2)数据取值范围 (3)可以进行的操作 2.常量与变量 常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量 常量区分为不同类型: 整型 100 ,125,-1000 实型:3.14, 0.23 字符型: 'a', 'b' 字符串型:"a", "adfdg", "1233" 用某种符号来代表某个常量,称这个符号为符号常量 #define PRI