c#复习
如果对您有帮助 请关注我:林新
C#复习笔记
第一章
1.变量:
基本数据类型:byte short int long float a = 6.5f; double char bool decimal b = 1000.99m;
(有符号和无符号:有符号分正负 无符号只能表示正数
int表示有符号 第一位表示正负 后31位表示大小 最大数:2的0次方+……+2的30次方 X
uint 表示无符号 所有的位都表示大小 最大数:2的0次方+……+2的31次方 ) 2X+1
引用数据类型:1.内置数据类型(string c#中的一些内置类) 2.自定义数据类型(我们自己定义的类)
常量:const double PI = 3.1415926;
变量的命名:1.首字母以英文、下划线开始
2.见名识义
3.不能使用关键字
4.使用camel命名法
常量的命名和使用:
1.不宜过长
2.所有字母大写
使用
1.数据不变
2.频繁的使用
Console类:
输出:
Console.Write() 不换行 System.out.print();
Console.WriteLine() 换行 System.out.println();
输入:
Console.Read(); 利用输入字符
eg:char gender = (char)Console.Read(); 返回一个字符的Unicode编码
Console.ReadLine();最常用的输入 返回一个string类型的字符串
Console.ReadKey(); 暂停
数组:
数组的声明:string[] names; java:String name[];
数组的初始化:int[] array = new int[3]{1,2,3};
int[] array = new int[]{1,3,2};
int[] array = {1,2,3};
数组升序排列:Array.Sort(数组名);
数组反转输出:Array.Reverse(数组名);
1,7,8,4,5,6 --->6,5,4,8,7,1
第二章:流程控制
顺序结构 从上到下
1.选择结构
条件语句:
1.if(){}
2.if(){}else{}
3.if(){}else if(){}……else{} 多重if选择结构 适用于区间判断
4.if(){if(){}else{}}else{} 嵌套if 适用于分层 if score<10 -->if gender = '男'
switch(){} 用于等值判断
1.小括号可以使用int char string byte short
2.每个case后面只有有语句 都必须要有break或者continue(当我们的switch选择结构出现在循环中时);
2.循环结构
循环语句:
解题步骤:1.分析是否包含重复操作 2.找出循环条件和循环操作 3.选择适用的循环结构 4.检查是否能够退出循环
while(){} 先判断 后执行
do{}while() 先执行 后判断 至少执行一次
for(){} 先判断 后执行(循环变量初始化--循环条件--循环操作--循环变量更新) for循环一般用于次数固定
foreach(数据类型 变量名 in 数组名){} foreach循环主要用于查询 不能给数组赋值 (可以给对象数组中的属性赋值)
跳转语句:
1.break 一般用于switch选择和循环结构中 中断程序
2.continue 一般用于循环结构 结束本次循环 进入下一次循环
3.return 用于方法中 1>返回方法的处理结果 2>跳出方法
第三章:
类:类是对象的抽象化
对象:对象是类的具体化
字段 和属性的区别:
字段:表示类的成员属性 命名以下划线开始
属性:一般表示具体对象的特征 是对字段的封装(get访问器(只读) 和 set访问器(只写))
值传递和引用传递(ref) 值传递不改变原始数据的值 引用传递改变原始数据
形参:定义方法是的参数列表
实参:调用方法时的参数列表
在定义方法形参时要加上ref (ref int score) 实参(ref score)使用引用传递实参必须初始化
this关键字 this表示当前类的对象
第四章:
String 类
1.string 和 String 都可以用来声明一个字符串变量或对象
但是string是C#中的关键字,而String则不是C#中的关键字,可以作为变量名使用
2.在C#中,创建string字符串对象 不通过new关键字 直接声明即可
3.在C#中 string字符串对象的比较 通过==和Equals()结果一样
==比较的是首地址 Equals比较的是内容
4.在C#中,对string字符串进行初始化
初始化方式有三种:
4.1:string answer = ""; //空串 声明一个长度为0的空间
4.2:string answer = string.Empty; //空值
4.3:string answer = null; //空 真空 什么都没有 声明了string对象 但是没有为它分配空间
在C#中,当对象为null时,会报 NullReferenceException(空引用异常)
在java中,当对象为null时,会报 NullPointerException(空指针异常)
对象为null,也就是当前这个对象不存在
判断空字符的三种方式:
1.name.Length == 0
2.name == string.Empty;
3.name == "";
4.name == null;
5.string.IsNullOrEmpty(c);判断一个字符串是否为null或空值,满足其中一种情况返回true
5.string的常用方法
C#字符串的长度是一个属性不是方法 str.Length java:str.length()
IndexOf()返回该字符第一次出现的位置索引下标
LastIndexOf()返回该字符最后一次出现的位置索引下标
ToLower()获得字符串的小写 java: toLowerCase()
ToUpper()获得字符串的大写 java: toUpperCase()
Trim() 去掉字符串前后的空格 java: trim()
ToCharArray() 将一个字符串处理后返回一个字符类型数组
Substring(a,b) a代表从索引a下标开始截取一个长度为b的子字符串 java:subString(a,b) a表示起始位置,b表示结束位置 截取的
长度:b-a
Substring(c) c表示从索引c下标开始截取到字符串结尾的子字符串
Split('分隔符')利用指定的分隔符把一个字符串拆分为一个string类型的数组
Join(“连接符”,string类型数组名)将一个string类型的数组用指定的连接符生成一个新的string的字符串
Replace("a","b")将一个string类型的a的值替换为b,用他来求一个字符在字符串中出现的次数。
Format(0,,8:C) 格式化 第一位表示索引(占位符) 第二位表示对齐方式 第三位表示数据格式
C 货币 D十进制 F小数点后显示几位小数 N使用逗号隔开 P 百分比 X 表示十六进制
6.类型转换:
1.隐式转换(自动类型转换):数据类型要兼容,有小到大 发生在数值之间(byte short int long float double char)
2.显示转换(强制类型转换):数据类型要兼容,由大到小 发生在数值之间(byte short int long float double char)
可能丢失精度
3.Xxx.Parse(string s):将一个string类型的数据 转换为 其他数据类型
常用的:int.Parse(string s)|float.Parse(string s)|double.Parse(string s)|decimal.Parse(string s)|DateTime.Parse(string s)
参数必须是string类型
.ToString() 可以将任意类型转为字符串类型
4.Convert.ToXxx():进行任意数据类型相互之间的转换
1.对于string类型转换为其他类型 类型一定要匹配
2.对于数值之间转换 可能会发生四舍五入
3.常用:Convert.ToInt32()|Convert.ToSingle()|Convert.ToDouble()|Convert.ToString()|Convert.ToDateTime()
4.用法: 转换后的数据类型 变量名 = Convert.ToXxx(要进行转换的变量);