C#基础笔记1
1>>数据类型:
Int
double:小数
char:字符型,只能存储一个字符,并且存储的这个字符要用单引号引起来。如:‘a’;
string:字符串,可以储存多个字符,用双引号引起来(0个或一个也可以);
deimal:与钱有关的梳子类型,数字后需要加m/M;
bool:布尔类型。用来表示真假两个概念,在以c#中用ture/false表示;
enum:枚举
struct:结构,每个变量成为结构里的成员;在结构里,默认为私有(private)成员
byte:无符号字符型;范围:0~255之间。
数据类型可以分为两大类:值类型和引用类型:
2>>变量声明的方法:
- 先声明,再赋值。(int a; a=1;)
- 定义变量时直接赋值(int a=1;)
- 一次声明多个同类型的变量,多个变量名称之间用逗号分隔,一分号结束。
3>>变量的命名规则:
- 必须以字母,_或@符号开头
- 后面可以跟任意字母数字和下、
注意:变量名不要与C#系统中的关键字重复,并且要区分大小写。
定义变量时,变量名要有意义:
C#变量名编码规范——Camel命名法:
首个单词的首字母小写,其余的单词的首字母大写(在方法中定义变量,要使用Camel命名法)
Pascal命名规范:每一个单词的第一个字母都要大写,如果使用到英文单词的缩写,全部大写。
4>>赋值运算符和赋值表达式
“+”号在C#中的意义:数学中的加法运算、连接
在Console.WriteLine(””)中,第一个变量/字符串可以使用占位符(可以重复使用)
占位符由{数字}组成,数字由0开始编号。
Console.WriteLine():有多个参数时,输出都是第一个参数,从第二个参数开始都是用来替换地一个参数中的占位符的值,所以,从第二个参数开始要不要输出就要看第一个参数中有没有相关的占位符。
5>>转义字符
转义字符是由一个\+一个字母组成的具有特殊意义的字符:
常用转义字符:
\n:换行
\b:退格
\t:对齐
在字符前加入一个@有两种意义:
- 字符串如果有\,则不在理解为转义字符
- 字符串可以换行定义。
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>>数据类型转换
- 隐式转换(小—>大)
隐式转换就是系统默认的、无需指明的转换。它只允许发生在从范围较小的数据类型到值范围较大的数据类型的转换。
- 显式转换(大—>小)
显式转换又称强制转换,他需要在代码中明确声明转换的类型。
- 装箱和拆箱
装箱和拆箱允许值类型变量和引用类型变量相互转换。装箱是将值类型转换成引用类型,拆箱是将引用类型转换成值类型。
装箱/拆箱对执行效率的影响显然,从原理上可以看出,装箱时,生成的是全新的引用对象,这会有时间损耗,也就是造成效率降低。那该如何做呢?首先,应该尽量避免装箱。比如上例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(循环条件)
{
循环体
}
执行过程:
- 先判断循环条件,如果为true ,则跳转到第二步;如果条件为false,则执行第三步;
- 执行循环体,执行完后转向第一步;
- 跳出循环;
/*先判断,再执行*/
13>> do while
do
{
循环体
} while(循环条件);
14>> for循环语法 |
for ( 1表达式一;表达式二;表达式三)
15>>常量:
语法:
Const 类型 常量名=常量值;//在定义时赋值,在其他地方不允许改变值。
16>>枚举:
让我们定义一种枚举类型,并且在定义这种类型时,我们要指定这个类型的所有值。可以定义在与类平行的地方中或方法中。
语法:
enum 类型名称(自定义)
{
值1,
值2,
值n
};
作用:1限制用户不能随意赋值,只能在定义枚举时列举的值中选择
2不用死记每个值是什么,只需要选择相应的值。
注意:定义枚举时,值不能是int类型。
枚举类型的变量都可以以强制转换成一个int类型,枚举的值在定义时有一个默认的编号,从零开始的。
字符串转换成枚举:
(类型名称)(Enum.parse(typeof(类型名称),”待转换字符串”));
17>>结构
为什么要用结构:
- 为了储存一个人的信息,要申明一组变量,当我们要储存n个人的信息时,就要声明n组变量,麻烦。
- 储存一个人的信息的几个变量间没有关系,容易记错。
语法:
访问修饰符
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的更多相关文章
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- php代码审计基础笔记
出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 --------------------------- ...
- MYSQL基础笔记(六)- 数据类型一
数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...
- MYSQL基础笔记(五)- 练习作业:站点统计练习
作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...
- MYSQL基础笔记(四)-数据基本操作
数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...
- MYSQL基础笔记(三)-表操作基础
数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...
- MYSQL基础笔记(二)-SQL基本操作
SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...
- MYSQL基础笔记(一)
关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
- JavaScript基础笔记一
一.真假判断 真的:true.非零数字.非空字符串.非空对象 假的:false.数字零.空字符串.空对象.undefined 例: if(0){ alert(1) }else{ alert(2) } ...
随机推荐
- 测试部署nginx
1.已经安装了nginx 2.修改tomcat端口号为10081(可随意) 3 修改nginx的nginx.config 如下: upstream apiserver { ip_ ...
- EasyUI datagrid 的checkbox设置
参考url: http://blog.csdn.net/baronyang/article/details/9323463 我的需求: 抓取数据生成的日志,日志中有部分是抓取失败的,需要将失败的发送到 ...
- IOS开发-ObjC-NSArray
OC中数组分不可变数组(NSArray)和可变数组(NSMutableArray). 不可变数组: //------------------------------不可变数组------------- ...
- Java编程思想非主流知识点
1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意 ...
- onethink的插件扩展
2014年7月25日 07:22:35 编写一个文章可以同步到微博的插件 思路:首先要进行微博的绑定,获得令牌.然后调用微博的api即可. 2014年7月25日 08:40:27 服务器与本地有区别. ...
- driver_register()函数解析
driver_register()函数解析 /** * driver_register - register driver with bus * @drv: driver to register * ...
- jmeter+ant+jenkins+mac使用HTML Publisher插件后查看html报告显示不正常
Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决 ...
- java中集合框架
java平台提供了一个全新的集合框架."集合框架"主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型. 在很大程度上,一旦您理解了接口,您就理解了框架.虽然您总要创建接 ...
- Objective-C中的面向对象编程
1.过程式编程实例,画出Shape数组中的图形: // // main.m // hello-obj // // Created by zhouyang on 16/4/4. // Copyright ...
- delphi假死线程堵塞解决办法
Delphi的高效不多说... 俗话说:真正的程序员用C语言,聪明的程序员用Delphi,一点都不假,和C++比它比C++更简单,更容易上手,功能丝毫不逊色C++,比起VB,毫无疑问比VB好多了,重要 ...