1>>数据类型

Int

double:小数

char:字符型,只能存储一个字符,并且存储的这个字符要用单引号引起来。如:‘a’;

string:字符串,可以储存多个字符,用双引号引起来(0个或一个也可以);

deimal:与钱有关的梳子类型,数字后需要加m/M;

bool:布尔类型。用来表示真假两个概念,在以c#中用ture/false表示;

enum:枚举

struct:结构,每个变量成为结构里的成员;在结构里,默认为私有(private)成员

byte:无符号字符型;范围:0~255之间。

数据类型可以分为两大类:值类型和引用类型:

2>>变量声明的方法:

  1. 先声明,再赋值。(int a;  a=1;)
  2. 定义变量时直接赋值(int a=1;)
  3. 一次声明多个同类型的变量,多个变量名称之间用逗号分隔,一分号结束。

3>>变量的命名规则:

  1. 必须以字母,_或@符号开头
  2. 后面可以跟任意字母数字和下、

注意:变量名不要与C#系统中的关键字重复,并且要区分大小写。

定义变量时,变量名要有意义:

C#变量名编码规范——Camel命名法:

首个单词的首字母小写,其余的单词的首字母大写(在方法中定义变量,要使用Camel命名法)

Pascal命名规范:每一个单词的第一个字母都要大写,如果使用到英文单词的缩写,全部大写。

4>>赋值运算符和赋值表达式

“+”号在C#中的意义:数学中的加法运算、连接

在Console.WriteLine(””)中,第一个变量/字符串可以使用占位符(可以重复使用)

占位符由{数字}组成,数字由0开始编号。

Console.WriteLine():有多个参数时,输出都是第一个参数,从第二个参数开始都是用来替换地一个参数中的占位符的值,所以,从第二个参数开始要不要输出就要看第一个参数中有没有相关的占位符。

5>>转义字符

转义字符是由一个\+一个字母组成的具有特殊意义的字符:

常用转义字符:

\n:换行

\b:退格

\t:对齐

\\:输出一个“\

在字符前加入一个@有两种意义:

  1. 字符串如果有\,则不在理解为转义字符
  2. 字符串可以换行定义。

6>>用户输入(凡是用户输入的内容全部用字符串来处理)

接收用户输入的内容必须定义一个字符串来进行接收。

Static void main(string[] args)

{

String input;

Input = console.ReadLine();        //string input = console.ReadLine();

}

7>>算术运算符

+、-、*、/、%都是二元运算符,参与的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。

类型自动转换规则:

当类型不一致时,满足以下条件时,系统会自动转换

(1)       参与运算的两个数据类型兼容

(2)       必须一边的数据类型表示范围小,一边的数据类型表示范围大,并且把小的转向大的不会丢失精度。

++:自加一,有前加和后加

Int age=18;

Int sum=age++ -10;

上面代码age是后加,所以在进行运算时,age++取原值参与运算,所以sum=8。

Int age=18;

Int sum=++age-10;

上面代码是后加,所以在进行运算时,++age取新值参与运算,所以sum=1.

总之,不管++age还是age++,经过运算后,age的值都进行了加一运算。

--、+=、-=、*=、/=、%=

在C#中,一般情况下,一元运算符的优先级大于二元运算符。

8>>数据类型转换

  1. 隐式转换(小—>大)

隐式转换就是系统默认的、无需指明的转换。它只允许发生在从范围较小的数据类型到值范围较大的数据类型的转换。

  1. 显式转换(大—>小)

显式转换又称强制转换,他需要在代码中明确声明转换的类型。

  1. 装箱和拆箱

装箱和拆箱允许值类型变量和引用类型变量相互转换。装箱是将值类型转换成引用类型,拆箱是将引用类型转换成值类型。

装箱/拆箱对执行效率的影响显然,从原理上可以看出,装箱时,生成的是全新的引用对象,这会有时间损耗,也就是造成效率降低。那该如何做呢?首先,应该尽量避免装箱。比如上例2的两种情况,都可以避免,在第一种情况下,可以通过重载函数来避免。第二种情况,则可以通过泛型来避免。

字符串无法强制转换成数字类型。

Convert不再仅是内存级别的转换,而是考虑数据意义的转换,Convert是一个加工、改造的过程。

Convert.ToInt32(待转字符串/待转字符串名字);

Convert.Tostring每种类型都还有Tostring()方法

一切类型都可以转换成string。

9>>C#中异常捕获

try

{

有可能出现错误的代码

}

Catch

{

出错后的处理

}

如果try中的代码没有错误,则程序正常运行try中的内容后,不会执行catch中的内容;如果try中的代码一旦出错,程序立即跳入catch中去执行代码。那么try中出错代码后面的代码不再执行。

10>> if   else if

11>>switch   case

12>> while循环语法

While(循环条件)

{

循环体

}

执行过程:

  1. 先判断循环条件,如果为true ,则跳转到第二步;如果条件为false,则执行第三步;
  2. 执行循环体,执行完后转向第一步;
  3. 跳出循环;

/*先判断,再执行*/

13>> do while

do

{

循环体

} while(循环条件);

14>> for循环语法
 
   

for ( 1表达式一;表达式二;表达式三)

15>>常量:

语法:

Const 类型 常量名=常量值;//在定义时赋值,在其他地方不允许改变值。

16>>枚举:

让我们定义一种枚举类型,并且在定义这种类型时,我们要指定这个类型的所有值。可以定义在与类平行的地方中或方法中。

语法:

enum 类型名称(自定义)

{

值1,

值2,

值n

};

作用:1限制用户不能随意赋值,只能在定义枚举时列举的值中选择

2不用死记每个值是什么,只需要选择相应的值。

注意:定义枚举时,值不能是int类型。

枚举类型的变量都可以以强制转换成一个int类型,枚举的值在定义时有一个默认的编号,从零开始的。

字符串转换成枚举:

(类型名称)(Enum.parse(typeof(类型名称),”待转换字符串”));

17>>结构

为什么要用结构:

  1. 为了储存一个人的信息,要申明一组变量,当我们要储存n个人的信息时,就要声明n组变量,麻烦。
  2. 储存一个人的信息的几个变量间没有关系,容易记错。

语法:

访问修饰符 
struct 结构名

{

定义结构成员

}

注意:定义好一个结构后,就可以直接声明相应的变量了,声明好变量后,通过变量名,成员名来访问结构的成员。

17>>数组

数组可以帮多个帮助我们一次声明多个同类型的变量,这些变量在内存中是连续储存的。

语法:数据类型[] 数组名 = new 数据类型[数组长度];//一维数组

数组类型[ , ] 数组名 = new 数组类型[行数,列数];//二维数组

18>> 随机数发生器

Random  random 
=  new  Random();

变量名 = random.NEXT(a,b);

19>> Readint()

读取输入的整数,定义成方法,多次调用,(如果用户输入的是数字则返回,如果输入的不是数字,则提示用户重新输入)

static void Main(string[] args)

{

int
a = 8,b = 7;

int
maxnum = max(a,b);

Console.WriteLine("最Á?大䨮值¦Ì为a"+maxnum );

Console.ReadKey();

}

public static int max(int x1 ,int x2)

{

int
temp;

if
(x1 > x2 )

{

temp = x1;

}

else

{

temp = x2;

}

return
temp;

}

20>>方法(函数)

函数就是将一堆代码进行重用的一种机制。函数就是一段代码。这段代码可能有输入的值(参数),可能会有返回值。一个函数就像专门做一件事的人,我们调用他来做一些事情,它可能需要我们提供一些数据给他,它执行完成后可能会有一些执行的结果给我们。要求的数据就叫做参数。返回的执行结果就是返回值。

功能:用来复用代码的。当我们在一个程序中反复写同样的代码时,我们可以把需要重复写的代码定义到一个方法中,用的时候只需要调用即可。

语法:

[访问修饰符][static]
返回值类型 方法名

{

方法体;

}

方法的调用:如果是静态方法(由static修饰的)则使用 :类名.方法();

在类中调用本调的方法,可以只写方法名。

21>>变量的作用域

在方法中定义的变量称为局部变量,其作用域从定义开始到其所在的大括号结束为止。

在一个方法中访问另一个方法中的变量的方法:通过参数来实现。

22>>返回值

当调用者想访问我们方法中的变量时,可以通过返回值返回。

例如; string s = concole.ReadLine();

为什么方法前面能够定义一个变量收到方法的值,是因为在方法中使用了返回值。

只要在方法中返回了值,那么在调用方法中,前面就应该用一个变量来接收方法的返回值。

一个方法中只能有一个返回值。

C#基础笔记1的更多相关文章

  1. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  2. php代码审计基础笔记

    出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...

  3. MYSQL基础笔记(六)- 数据类型一

    数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...

  4. MYSQL基础笔记(五)- 练习作业:站点统计练习

    作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...

  5. MYSQL基础笔记(四)-数据基本操作

    数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...

  6. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  7. MYSQL基础笔记(二)-SQL基本操作

    SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...

  8. MYSQL基础笔记(一)

    关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...

  9. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  10. JavaScript基础笔记一

    一.真假判断 真的:true.非零数字.非空字符串.非空对象 假的:false.数字零.空字符串.空对象.undefined 例: if(0){ alert(1) }else{ alert(2) } ...

随机推荐

  1. 横向滚动视图scroll-into-view不起作用

    横向视图scroll-into-view指定的id为hpink,但是效果图中显示的还是第1个view(未达到效果); 纵向视图scroll-into-view指定的id为yellowgreen,效果图 ...

  2. java学习(四) excel读取

    private static void readExcel() { String filePath = "C:/Standardzid.xls"; File file = new ...

  3. 安卓canvas操作的总结

    2014.07.03 使用canvas绘图 需求:公司需要绘制波形图,类似数学上的正弦波,一条是参考值,一条是实际曲线 解决方法:采用canvas绘图.保存为图片,以供导出 这里提供一个学习的demo ...

  4. jdom.jar导入问题

    一开始,导入jdom-1.1.1.jar无反应,还是缺包状态 =>将jdom-1.1.1.jar解压,在jdom/build/目录下有jdom.jar导入,success!

  5. 用Django Rest Framework和AngularJS开始你的项目

    Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...

  6. java系列--过滤器

    在web.xml配置过滤器:过滤器一定要放在所以Servlet前面 过滤器的生命周期: 过滤器的应用: 1.编码格式 2.权限验证 3.数据库关闭

  7. UVa 10057 - A mid-summer night's dream

    题目大意:给n个数,找一个数A使得A与这n个数的差的绝对值最小.输出A最小的可能值,n个数中满足A的性质的数的个数以及满足A性质的不同的数的个数(不必从这n个数中挑选). 看见绝对值就想到了数轴上点之 ...

  8. 兼容ie6及以上的阴影滤镜的写法

    .subnav{ width: 220px; _width:160px; min-height: 168px; border: 1px solid #d0d8da; background: #fff; ...

  9. Spring学习笔记IOC与AOP实例

    Spring框架核心由两部分组成: 第一部分是反向控制(IOC),也叫依赖注入(DI); 控制反转(依赖注入)的主要内容是指:只描述程序中对象的被创建方式但不显示的创建对象.在以XML语言描述的配置文 ...

  10. Mysql密码忘记后如何重设密码

    1. 首先检查mysql服务是否启动,若已启动则先将其停止服务 2. 打开第一个cmd窗口,切换到mysql的bin目录,运行命令: mysqld --defaults-file="C:\P ...