要应用其他的类需要
类名.方法()
创建和运行c#步骤
新建项目(project)
生成可执行文件(build)
运行(run)
Const声明常量,只能够赋值一次
快捷键
F5启动程序
Ctrl+F5可以防止程序关闭的启动
Debug
生成文件可以debug
classProgram
Program可以改
设置断点p24
Ctrl+f5启动(不调试)
F5开始调试
Shift+f5停止调试
F9设置删除断点
F10逐过程执行 java,f6,单步执行
F11逐语句 java,f5单步跳入
命名空间
namespace exam1HelloWorld
小知识
java的包是物理存在的
cSharp是包虚拟存在的
引用其他命名空间要用using
namespace com.java.util就是cSharp导包
bool布尔
字符串string
返回值为String
Int.parse(console.Readline());//转换int类型
单行//
多行/*
*/
文档注释///
#region命名折叠
Double.parse…….
{0}占位符
string小写javaString大写
变量-可以修改的量
常量-不可修改的量(const)
C#命名规则
英文,数字
开头英文
不能使用关键字
见名知意
命名规范1:单词首字母大写--(pascal命名法)
命名规范2:单词首字母小写—驼峰命名法Camel命名法(骆驼)
Console 控制台类 静态类
Console.Write()输出后不换行
Console.WriteLine()输出后换行
Console.ReadLine;输入方式
占位符输出
Console.WriteLine("我的课程名称是" + course);//用+输出
Console.WriteLine("我的课程名称是:{0}", course);//用占位符输出
多行注释
///
///输出学生姓名和年龄
///
#region运用
记得打#endregion要不报错
Int要转型
String转intà Student.age= int.Parse(Console.ReadLine());
加法程序
int num1,num2;
Console.WriteLine("请输入一个数");
num1 = int.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数");
num2 = int.Parse(Console.ReadLine());
Console.WriteLine(num1+num2);
Console.ReadLine();
做程序时的思想
1- 需求分析
2- 分类
Java和c数组写法一样int
IfJava和c一样
Switch不一样
Java
Switch(int,String,byte,long,char){
Case常量表达式:
Breack//可以不要
}
C#
Break必须要
:冒号
;分号
小知识
三大银行
工商 ICBC
建设 CBC
农业 ABC
生成à生成解决方案,就可以保存和找错误
C#中属性和方法都用大写
C#一维数组
数据类型[]变量名称=new数据类型[5]; //后面加上字面量的写法
New数据类型[3]=
string[] arr1; 对
string arr1[] 错
如何初始化?
Int[]arr=new int[5]{0,1,2,3,4};//java不可以,c#可以 [5]数量必须和后面的数字一致
Int[]arr=new int []{0,1,2,3,4}; //java 可以 c#可以
Int[]arr={0,1,2,3,4};
数组名:Length
Int类型数组
8
8
7
狗类Dogdogs =new Dog[5];
狗
狗
狗
Foreach
Foreach循环用于数组和集合
Foreach (元素类型,变量名,集合或者数组名)
Foreach(Student stu in students){
stu.ShowInfo();//显示学生对象信息
}
Foreach结构不能改变数组各元素的值
While先判断条件和表达式是否可以,如果可以成立就执行不可以就不执行
Do-while先执行一次再判断
For 循环必须使用整型变量做循环计算机(int=0;i>?;i++),
Foreach循环用于数组的所有值,比for简单
流程控制
单分支 if
多分枝结构试验ifelse
多重支分多重结构 {
if-else-if
Switch 必须使用break,break可以替换成continue,case当中没有内容则可以不适应break}
嵌套选择-任意嵌套
循环{
For While Dowhile
Foreach:foreach(数据类型变量名称 in 数组)
}
跳转语句:Breakcontinu
跳出方法 Return 使方法结束,任何代码都不再执行(包括for)
类和对象
定义类:属性,方法
值传递 基本书记类型,进行方法传参,使用的是值传递(copy)
引用传递 引用数据类型默认使用引用传递的方式
使用ref可以让基本数据类型使用引用方式传递
1.方法定义:publicvoid swap(ref int num1,ref int num2)
使用基本数据类型进行引用传递需要在方法定义+ref关键词
2.调用swap(refnum1);
如果定义了ref传参必须也加ref
冒泡排序
For (i=0;i { For(j=0;j }}比较j和j+1位置的元素 如果前大后小就交换 封装字段p79 Ctrl+R,ctrl+E 将类中的字段,属性绑在一起 面向对象三大特性之一 避免非法数据的访问 保证数据完整性 为了保证数据的安全性,所以使用封装 就比如你在网上买东西,东西都要包装好,不能透露自己的隐私 publicstringName { get{ return _name; } set{ _name = value; } } privateint _age; publicint Age { get{ return _age; } set { _age = value;} } Get只读 Set只写 以上是封装好的属性 然后就可以拿来用了 Student student = newStudent(); student.Name = "傻逼"; student.Age = -20; Students=newStudent( ){age=-20} 利用this调用private privatestring _name; publicint _age = 19; publicstring _cardID = "440303200012271312"; publicvoid SetName(string _name) { this._name= _name;//如果不加this就赋值不到了 } This:当前实例 类的成员 手机例子 字段 类中的数据 sim卡 属性累的状态 颜色型号 方法 类的行为 显示短信播放音乐等 小知识 Public 访问级别最高, Private 访问级别最低,只有类内部可以使用 图案 转头:字段 扳手:属性 快捷键 prop :publicint Myproperty{get; set;} Get只读 Set只写 Process is terminated due toStackOverflowException.有可能是set和get出现问题(变量命不同之类的) Return 可以结束方法 Student stunewtudent(){name=……….} Ref 修饰参数,(引用) 基本数据类型默认使用值传递 引用数据类型默认使用引用传递,传递的是对象 Swap(ref num1,ref num2) publicvoid count(refintnum1, refintnum2) 这样就可也以用引用的方式传递了 如果不使用ref改的数据只是副本 小知识 C#和java的substring不一样 大小写 ==判断地址 Equals判断值 http代表互联网(https代表加密) ftp文件传输协议 fills本地文件 Equals()比较是否相等 输入字母变成小写 p101示例一 choice= choice.Trim().ToLower(); //将英文字母强制转为小写,trim()方法去掉空格 获得一个字符的位置substring,indexof Int indexof(char/string value)//语法 String substring(int startIndex ,int length) // 语法startindex()开始的坐标),length(截取的长度) int position = email.IndexOf("@"); //获得@的位置 if (position>0) //其中的positon可以找到 @的位置 { name = email.Substring(0, position);//得到邮箱中的有户名,利用了substring方法 Substring(2,position)的意思是从第2个字符后面开始录取知道碰到@的位置,括号内的数字不得小于0 String.Empty的作用 比较空,(检查字符串是不是空的) String use=String.Empty//空字符串 跟””不一样,这个分配了存储空间 String.Empty不分配存储空间 性能高到低à Name.Length==0; Name==Sting.Empty //一般使用这个 Name==”” 每一种方法结果都一样 Compare比较 Compare(string strA,string strB) 比较字符串a和b返回布尔类型 LastIndexOf() split()方法和join()连接或切割字符串 format的使用 p106 1索引[,2对齐][:3格式字符串] 1从0开始,与变量列表对应 2设置显示的宽度和对齐的方式(可选项) 一个带符号的整数,整数的大小表示宽度,正数像右边对齐,负数为左对齐 3包含格式的说明浮(可选项) String myString = String .Format(“格式字符串”,参数列表); 例如:StringmyString =String .Format(“{0}乘以{1}等于{2}”,2,3,2*3); 示例:String.Format(“{0:C3}”,2000) 字符说明 (还有更多) 结果 C 货币 $200.000 D 十进制 200 F 小数点后的位数固定 2000.000 N 用逗号(,)隔开的数字 250,000 P 百分比计数法 29.768 X 十六进制格式 C 靠左对齐,靠右对齐 数值类型与字符串之间的转换P109 强制转换:sum=(int)score+bonus; 字符串转为数值型 Int.Parse(Console.ReadLine()); 字符串转为整型代码 Int.Parse(string); 将字符串转为浮点型代码 Float.Parse(string); 将字符串转为双精度浮点型的代码 Double.Parse(string); 数值转换为字符串 Int age=18; Stringmyage=age.ToString(); 使用Convert类进行转换 Xxx表示某种类型 convert在java没有 任意类型à其他类型 Conver.Toxxx(objectvalue) Xxx可以是int double float string 方法 说明 Convert.ToInt32() 转为整型(int型) Convert.ToSingle() 转换为单精度浮点型(float型) Convert.ToDouble() 转换为双精度浮点型(double型) Convert.ToString() 转换为字符串类型(string型) Double 转int需要强制转换 Double sum=12.1 Sum=int(?) 使用parse(进行转换) xxx.Parse(string) 字符串à其他类型 String转int “123”对 “abc123”X “中文123”X ToString可以转换 小串有用的代码 ?.? = int.Parse(Console.ReadLine());//输入int 第三章,使用属性升级MyBank
通过对象初始化器可以方便为属性赋值第四章,深入c# string类
ToLower ToUpper
可以使用MSDN自学 cn(可能会碰到问题)
显示转换就是强制性转换
while (choice.Equals("yes")); //判断用户输入的字符串是否yes