码迷,mamicode.com
首页 > Windows程序 > 详细

C# 《三》变量、常量与数据类型(2)

时间:2017-08-20 14:08:45      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:直接   字符变量   generic   苹果   值类型   img   lin   地理   只读   

1、数据类型之值类型

 

1、数据类型是表示具有多种相同特征的一组数据;

2、C# 预定义的数据类型包括两种值类型,引用类型;

3、值类型是在栈中操作,而引用类型则在堆中分配存储单元。

4、字面上理解就是直接保存其值,如 int (整型) 就属于值类型,如声明了一个整列变量,并给它赋予另一个整型变量的值,则在内存事先复制一个整型变量的值,然后将其赋予刚声明的整型变量,这时内存中就会有两个整型值。

5、引用类型的变量在内存中是直接保存其值的引用。C#语言中大多数复杂数据类型都是引用类型,例如类就是引用类型。

 

          通俗地理解内存原理

1、内存可以划分为三大块;

2、堆;

3、栈;

4、静态存储区。

int a = 1024;   //数值类型存储栈中

string s = "我要自学网";  //引用类型存储在堆中

 

值类型与引用类型

区别:

   1)值类型和引用类型在内存上存储的地方不一样;

   2)在传递值类型和传递引用类型的时候,传递的方式不一样;

值类型我们称之为值传递,引用类型我们称之为引用传递。

 

2、数据类型之值类型

1、值类型包括数值类型、布尔类型、字符类型等。

               1)整数类型

技术分享

 

             2)浮点类型

技术分享

 

           3)布尔类型

  只有 true 、false 、两个值,关键字为 bool ,计算机中占 4 个字节(4B),即 32 位在存储空间,但不能用 0 和 1 代替。

 

           4)字符类型:

     1、字符类型即保存单个字符的值,字符类型的关键字是 char ,每个字符对象与 Unicode 字符集的字符对应,char 类型的字符变量是用单引号括起来的,例如 ‘  C  ’ 。如果把字符放在双引号中,编译器会将其认为字符串,从而产生错误。

     2、自已查阅转义字符  (作业)

 

 

3、数据类型之引用类型

1、在C# 预定义的类型中,属于引用类型的有对象(object)类型字符串(string)类型两种。

2、object类型:是所有其他类型的基类型,所以可把任何类型的值赋给它。看实例

3、String 类型:在 C#语言中,字符串(string)类型是用一对双引号引号引起来的字符

例如:” 我要自学网 “  ”  雪上行者  “  ”  51zxw.net  “  等都是字符串。字符串是一种特别的引用类型,通过复制实现对其赋值的。

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

namespace _3._4_值类型
{
    class Program
    {
        static void Main(string[] args)
        {
            int INT = 12;
            char CHAT = a;
            string STRING = "我要自学网";
            object OFE = "什么类型都可以";    //object 可以应用于所有类型
            object fie = 12354;
            Console.WriteLine(INT);
            Console.WriteLine(CHAT);
            Console.WriteLine(STRING);
            Console.WriteLine(OFE);
            Console.WriteLine(fie);
            Console.ReadKey();
        }
    }
}

运行结果:
技术分享

 

                字符串需要说明的两点

1、字符串的不可变性

              1)当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值。

              2)当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁,

 

2、字符串可以看做是 char 类型的一个只读数组。

string s = "我要自学网”;
s = "学习C#入门教程";

 

4、本章总结及任何实施

1、在学习一句话:

Console.ReadLine( );

用于接收用户的输入。要定义一个字符串变量来接收变存储用户输入的值

练习:

          1)问用户喜欢什么水果(fruits),假如用户输入“  苹果  ” ,则显示 “ 哈哈,这么巧,我也喜欢吃苹果  ”

          2)请用户输入姓名性别年龄,当用户按下某个键子后在屏幕上显示:您好:XX您的年龄是XX是个X生 

 

解:

第一题  程序

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

namespace _3._5_任务实施
{
    class Program
    {
        static void Main(string[] args)
        {
            //Console.WriteLine("我要自学网很强大");
            //Console.ReadKey();
            Console.WriteLine("请输入你喜欢吃的水果!");
            string fruit = Console.ReadLine();
            Console.WriteLine("哈哈,这么巧,我也喜欢吃"+fruit);
            Console.ReadKey();
        }
    }
}

运行结果:
技术分享

 

第二题    程序

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

namespace _3._5_任务实施
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入您的姓名:");
            string Name = Console.ReadLine();
            Console.WriteLine("请输入性别:");
            string Gender = Console.ReadLine();
            Console.WriteLine("您几岁了!");
            string Age = Console.ReadLine();
            Console.WriteLine("您好,{1}!!您是{1}生,您{2}岁了", Name, Gender, Age);
            Console.ReadKey();
            //Console.ReadLine() ,用于接收用户的输入,输入类型默认为字符串 string 类型
            //Console.WriteLine() ,双引号中的内容可原样输出,但是转义字符及索引号 {!} 除外,索引号必须从零不间断地顺延

        }
    }
}

运行结果:
技术分享

 

C# 《三》变量、常量与数据类型(2)

标签:直接   字符变量   generic   苹果   值类型   img   lin   地理   只读   

原文地址:http://www.cnblogs.com/guijin/p/7399725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!