首页 C#基础入门传智播客

C#基础入门传智播客

举报
开通vip

C#基础入门传智播客C#编程基础讲师:苏坤QQ:35651998http://t.qq.com/anders_sukun概念:.net与c#(多语言).net/dotnet:一般指.NetFramework框架.一种平台,一种技术.C#(sharp):一种编程语言,可以开发基于.net平台的应用.(*)Java即是一种技术又是一种编程语言.net都能干什么桌面应用程序WinformInternet应用程序ASP.NET手机开发wp7C/S:客户机(Client)/服务器模式(Server)qqB/S:浏览器(Browser)/服务器模...

C#基础入门传智播客
C#编程基础讲师:苏坤QQ:35651998http://t.qq.com/anders_sukun概念:.net与c#(多语言).net/dotnet:一般指.NetFramework框架.一种平台,一种技术.C#(sharp):一种编程语言,可以开发基于.net平台的应用.(*)Java即是一种技术又是一种编程语言.net都能干什么桌面应用程序WinformInternet应用程序ASP.NET手机开发wp7C/S:客户机(Client)/服务器模式(Server)qqB/S:浏览器(Browser)/服务器模式(Server).Net开发学习路线(*)IDE介绍IDE(IntegratedDevelopment,集成开发环境)VisualStudio2010简介:一套完整的开发工具集用于开发桌面应用程序、ASP.NETWeb应用程序、XML、WebService、移动应用程序为快速开发提供强大支持IDE及.Net的版本(*了解).Net1.1.Net2.0.Net3.x.Net4.xVisualStudio2003VisualStudio2005VisualStudio2008VisualStudio2010向下兼容.Net1.0VisualStudio2002MSDN介绍MSDN的全称是MicrosoftDeveloperNetwork。这是微软公司面向软件开发者的一种信息服务。MSDN实际上是一个以VisualStudio和Windows平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDNWebCast、与CMP合作的MSDN杂志等等一系列服务。点击查看msdn百科VisualStudio介绍1安装setup.exeinstall.exeautorun启动创建解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 /项目认识vs的各部分(菜单/快捷键/工具栏/窗口)VisualStudio各个视图的打开、开发环境的重置C#源文件(类)一般以cs结尾C#程序的入口是Main函数,在Main中写代码就行,暂时不用关心其他部分是什么意思VisualStudio介绍2保存项目,打开项目.交作业交哪些文件.作业的命名格式:苏坤512.rar先学习两句话:Console.WriteLine("Hello,World!");Console.ReadKey();每一句话以;号结束生成程序运行一下生成的.exe程序设置字体及行号显示创建多个项目启动项目设置项目的加载与卸载c#中的注释符注释方式://单行注释/**/多行注释//////文档注释///小练习练习:编程输出以下 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 自己练习一下三种注释符:第一种:单行注释以//开头,后面的就是注释内容第二种:多行注释以/*开头*/结束之间的是注释内容第三种:文档注释在方法或类的上一行输入///就会产生计算机使用基本技巧常用键介绍:Home/End/PageUp/PageDown/Shift/c+h/c+end一段文字的删除.(del/backspace)ctrl+actrl+kf学会使用复制粘贴。Ctrl+c/v/x对话框中的使用插入、覆盖模式的困惑。学会使用Ctrl+Z撤销上一次操作;,()""等的的全角半角问题。出错:意外的字符""VS窗口的拖拽遇到异常、报错不要慌。目前经常用到的快捷键:F5F6#region和#endregion操作系统一般Windows公共语言运行库(CLR)VC++.NETC#VB.NETVJ#….NETFramework类库(FCL)软件系统依赖关系(*)北京传智播客教育www.itcast.cn.Net简介(*了解).NetFramework类库CLR公共语言运行时操作系统应用程序应用程序操作系统平台无关:CLR、.NetFramework进行了隔离。Windows、Linux(Mono)、智能手机、Web。学会.Net什么都能开发,知识移植。更安全、更省心:代码托管、罕用指针、垃圾回收。语言无关:VB.Net、C#都调用同样的类、同样的方法,VB.Net写的类C#也可以调用。模糊了语言的差别.net是如何实现语言无关性的(*)C#VB.NET代码被执行MSILCLR通用语法,计算机不用了解CLR执行ILC#编译器VB.NET编译器基本框架类Web窗体WebServiceWinFormsADO.NET和XML类.NETFramework.NETFramework类库ASP.NETCLSCLRCTS变量1计算机使用内存来存储数据.我们在计算机中存储数据和客人住旅馆很类似.我们住旅馆一般要做以下事情:1、开房间(单人间、双人间、总统套间)2、入住变量2要在计算机中存一个数字1000,需要两句话.inta;//开一个能放数字的空间a=1000;//把1000放进去.声明变量的语法格式:数据类型变量名;赋值:变量名=值;可以a=3.14;吗????变量3计算机中各式各样的数据33.14100thequickbrownfoxjumpsoverthelazydog张三李四True2011-3-6char非数值数值整型……decimaldouble非整型String数据类型int*更多的数据类型C#中的数据int:35100-10double:3.1410.5-3.14-5.0char:‘A’‘b’‘a’''string:“Zhangsan”“李四”“计算机”“HelloWorld”"a"decimal:存储金钱5.62decimald=5.55m;decimald1=5;变量的声明方法A)数据类型变量名称;intage;变量的赋值age=18;B)定义时赋值,数据类型变量名称=值;intage=18;C)如果一次要声明多个相同类型的变量可用逗号分隔.stringzsName,lsName;变量一定要先声明,再赋值,才能使用.练习:定义一个变量pi,并把3.14存进去,然后显示在屏幕上?想一想下面代码的输出结果是?inti=10;Console.WriteLine("i");变量的命名命名规则:1必须以“字母”_或@符号开头.--不要以数字开头2后面可以跟任意“字母”、数字、下划线.注意:1)你起的变量名不要与c#系统中的关键字重复.2)在c#中,大小写是敏感的.3)同一个变量名不允许重复定义(先这么认为,不严谨)定义变量时,变量名要有意义C#变量命名编码规范——Camel命名法:首个单词的首字母小写,其余单词的首字母大写。Pascal命名规范:每一个单词第一字母都大写如果使用到英文单词的缩写,全部用大写!下面的变量名称哪些正确?principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint赋值运算符和赋值表达式赋值运算符:=a=a+1;这里的=号是赋值运算符,不是数学义意上的相等.变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的老值就不复存在了.右边代码的输出结果:演示:定义一个变量存储客户的姓名,然后在屏幕上显示:”你好,某某”.某某代表客户的姓名+号可以连接两个字符串,这里的“+”号表示连接的意思练习:1.定义3个变量,分别存储一个人的姓名(张三),年龄(28),和工资(7600.33).然后在屏幕上显示,我叫XX,今天X岁了,我的工资是XX元.2.定义一个变量存储一个人的年龄(18),然后发现这个人的年龄不是18岁,要把这个人的年龄修改成20岁(本题体会变量可以被重复多次赋值),最后把这个人的年龄输出到屏幕上?变量练习3.定义四个变量,分别存储一个人的姓名、性别、年龄、电话。然后打印在屏幕上(我叫X,我今年X岁了,我是X生,我的电话是XX)4.在屏幕上输出:我的手机是philips型号:998价格:1500元重量:0.3kg请定义变量存存储上面的值,并显示在屏幕上.5.定义两个变量如:ab分别赋值为10和5,写程序交换两个变量的值字符串类型再学习一句话:Console.ReadLine();用于接收用户的输入.要定义一个字符串变量来接收变存储用户输入的值.1.练习:问用户喜欢吃什么水果,假如用户输入”苹果”,则显示”哈哈,这么巧呀,我也喜欢吃苹果”2.练习:请用户输入姓名,然后在屏幕上显示“你好,XXX".XXX为用户刚刚输入的姓名.字符串中的转义能在字符串中输出双引号吗?在屏幕上显示:c#中的字符串用””号包含起来\+一个字符,组成转译字符.一般用于表示特殊符号@字在字符串前面表示不转译常用的转译符:\n\b\t\\\”算术运算符及算术表达式算术运算符:+-*/%(取余数取模)算术表达式:由算术运算符连接起来的式子.如:1+1a-b(变量ab前面已声明并赋初值)演示:某学生三门课成绩为,语文:90数学:80英语:91,编程求总分和平均分.优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算5+3*2小括号可以无限制的套用,但一定要成对出现.练习练习1:定义两个数分别为10和20,打印出两个数的和。练习2:计算半径为5的圆的面积并打印出来.练习3:某商店T恤的价格为35元/件,裤子的价格为120元/条.小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?算术运算符-自动类型转换下面代码的输出结果是什么?inta=10,b=3;intmod=a%b;doublequo=a/b;Console.WriteLine(mod);Console.WriteLine(quo);类型自动转换规则参与运算(算术运算和赋值运算)的操作数和结果类型必须一致.当不一致时,满足下面条件时,系统自动完成类型转换两种类型兼容例如:int和double兼容目标类型大于源类型例如:double>int对于表达式如果一个操作数为double型,则整个表达式可提升为double型比如前面打8.8折的练习题.求10/3求余数要想得到3.333的处理.强制类型转换如上题中打完8.8折后出现小数,商店为了结算方便,只收用户整数部分的钱,如本应收用户303.6,现在只收用户303元,应该如何做?语法:(数据类型名)待转换的值;如:intb=(int)3.14;强制类型转换,数据类型一定要相兼容下面的写法对吗?intnumber=(int)”3.14”;类型转型问题:让用户输入他的语文和数学成绩,计算他的总成绩并显示出来?Convert不再仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程通过Convert.ToInt32(能转换成int类型的数据)来把其他类型数据转换成int类型练习:让用户输入姓名语文数学英语三门课的成绩,然后给用户显示:XX,你的总成绩为XX分,平均成绩为XX分。练习练习,编程实现计算几天(如46天)是几周零几天.练习:编程实现107653秒是几天几小时几分钟几秒?修改上面的题目,让用户输入.算术运算符和复合赋值运算符++自加一有前加和后加--自减一有前减和后减一元运算符++/--比二元的+-优先级高+=-=*=/=%=练习:1请说出上面程序执行完成后,var1中的值?上题中如果改成:Var1=++var2*var3--;Var1=?关系运算符(比较运算)>,<==,!=>=,<=大象的重量(1500)>老鼠的重量(1)兔子的寿命(3)>乌龟的寿命(1000)39<18我的年龄(20)==你的年龄(20)比大比小的结果是什么?什么是bool类型(布尔)在计算机中,我们用什么数据类型来表示一句话的对错?一个条件的成立与不成立?布尔(bool)类型:bool值只有两个真:ture假:false关系运算的结果是布尔类型的如在计算机中描述张三(20岁)比李四(18)小,这句话的结果.练习看看上一页ppt中四句话的结果逻辑运算符&&||!表达式1&&表达式2:当表达式1、2全为ture时,其表达式的结果为true表达式1||表达式2:当表达式1、2有一个为ture时,其结果为ture!表达式:如果表达式的结果为true,则取反后为false,反之为true优先级练习:让用户输入张三的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False1)张三的语文和数学成绩都大于90分2)语文和数学有一门是大于90分的练习:写下判断闰年的表达式,设待判断的年份变量为year.润年的判定(符合下面两个条件之一):年份能够被400整除.(2000)年份能够被4整除但不能被100整除.(2008)让用户输入一个年份,如果是润年,则输出true,如果不是,则输出false.2100/1600/1800/2009年是闰年吗?if结构编程实现:如果张三的考试成绩大于90分,那么爸爸奖励他100元钱.使用if结构可以实现上面的问题if结构的基本语法:if(条件)if(条件)语句;{语句1;语句2;......}用一对大括号来组成语句块练习:让用户输入年龄,如果输入的年龄大于18(含)岁,则给用户显示你已成年.如果张三的语文成绩大于90并且音乐成绩大于80语文成绩等于100并且音乐成绩大于70,则奖励100元.让用户输入用户名和密码,如果用户名为admin,密码为mypass,则提示登录成功.if-else如果张三的考试成绩大于90(含)分,那么爸爸奖励他100元钱,否则的话,爸爸就让张三写学习总结.使用if能否实现.更好的实现,if-else语法:if(条件){语句1;}else{语句2;}练习:1、盖茨买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货2、要求用户输入两个数a、b,如果a能被b整除或者a加b大于100,则输出a的值,否则输出b的值3、对学员的结业考试成绩评测(考虑用if好还是用if-else好)成绩>=90:A90>成绩>=80:B80>成绩>=70:C70>成绩>=60:D成绩<60:Eif-elseif对学员的结业考试成绩评测成绩>=90:A90>成绩>=80:B80>成绩>=70:C70>成绩>=60:D成绩<60:E用if-else实现?更好的方法:if-elseifif-elseif流程图课上练习学编程不是看书,不是听老师讲,而是自己动手写。练习1:提示用户输入密码,如果密码是“888888”则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误,程序结束。练习2:提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,否则,如果用户名不是admin还提示用户用户名不存在,如果用户名是admin则提示密码错误.练习3:提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,则告知不允许查看,如果大于等于10岁并且小于18,则提示用户是否继续查看(yes、no),如果输入的是yes则提示用户请查看,否则提示"退出,你放弃查看"。为什么使用switch李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元.设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.switch-caseswitch-case语法:switch(表达式/变量){case值1:语句块1;break;case值2:语句块2;break;default:语句块3;break;}if-elseif与switch的比较相同点:都可以实现多分支结构不同点:switch:一般只能用于等值比较if-elseif:可以处理范围练习:说出已学过的数据类型有哪些?举例说明已学过的运算符有哪些?请用户输年份,输入月份,输出该月的天数.对学员的结业考试成绩评测(改成用Switch来做)成绩>=90:A90>成绩>=80:B80>成绩>=70:C70>成绩>=60:D成绩<60:E循环结构实际生活中的循环:打印100份试卷10000米长跑车轮李四这次考试又粗心了,爸爸让他写1000遍"下次考试一定要细心".如何编程实现上面的问题?Console.WriteLine("下次考试一定要细心");Console.WriteLine("下次考试一定要细心");Console.WriteLine("下次考试一定要细心");......使用循环解决聪明的解决方法:inti=0;while(i<1000){Console.WriteLine("下次考试一定要细心");i++;}while语法:while(循环条件){循环体;}循环操作循环条件真假特点:先判断,再执行练习:打印100次"欢迎您来传智播客学习"输入班级人数,然后依次输入学员成绩,计算班级学员的平均成绩和总成绩老师问学生,这道题你会做了吗?如果学生答"会了(y)",则可以放学.如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......直到学生会为止,才可以放学.直到学生会或老师给他讲了10遍还不会,都要放学2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 学员人数将达到20万人?do-while明天小兰就要登台演出了,老师说再把明天的舞蹈表演一遍,如果满意,小兰就可以回家了.否则就需要再练习一遍,直到老师满意为止.whileordo-while?do-while为先执行,再判断do{循环体;}while(条件);练习:练习1:计算1到100之间整数的和;练习2:要求用户输入用户名和密码,只要不是admin、888888就一直提示用户名或密码错误,请重新输入。练习3:不断要求用户输入学生姓名,输入q结束.练习4:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。练习5:不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值练习6:张三先唱一遍要表演的歌曲,老师觉得张三唱歌不过关,就让张三再唱一遍,老师满意则张三可以下课,不然则需要再唱一遍,再问老师是否满意...while与do-while区别通过练习,希望大家已经掌握这两种循环.语法不同初始值不满足循环条件时:while循环一次都不执行do-while循环会执行一次程序调试设置断点单步运行观察变量for连续输出100次"我下次一定细心".比较用for和while,哪种更好?问题1:求1-100间的所有偶数和?问题2:找出100-999间的水仙花数?问题3:输出九九乘法表(循环的嵌套)语法:for(表达式1;表达式2;表达式3){循环体;};练习:Breakbreak用于循环中,退出当前循环.练习:练习1:循环录入5个人的年龄并计算平均年龄,如果录入的数据出现负数或大于100的数,立即停止输入并报错.练习2:在while中用break实现要求用户一直输入用户名和密码,只要不是admin、888888就一直提示要求重新输入,如果正确则提登录成功.1~100之间的整数相加,得到累加值大于20的当前数continue立即结果本次循环,判断循环条件,如果成立,则进入下一次循环,否则退出循环.举例:运动员跑步喝水的例子练习练习1:用whilecontinue实现计算1到100(含)之间的除了能被7整除之外所有整数的和。小节顺序结构:语句顺序执行分支结构:语句在满足条件下执行if,if-else,if-elseif,switch-case表1?表2:表3(三元)循环结构:语句在满足条件下循环执行多次while,do-while,for跳转语句break,continue,goto枚举\常量\结构确定数量、确定值的几个取值:东西南北、男女、上中下。enumGender{male,female}enumQQStatus{online,offline,hidden}枚举的用法,QQStatusstatus=QQStatus.online;和用字符串比起来,用枚举的好处就是限定了变量的取值范围,程序处理起来更方便。const类型常量名=常量值staticvoidMain(string[]args){constintPI=3.14;PI=3.20;}字符串与枚举的转换publicenumGender{male,famale}//……Console.WriteLine("你的性别:{0}.",Gender.male.ToString());(Gender)(Enum.Parse(typeof(Gender),"male");每一个值都对应一个数字典型的枚举类型:MessageBox.Show的参数(后面会学到)结构体为什么要使用结构,例如c#中ColorPoint都是结构访问修饰符struct结构名{定义结构成员}publicstructPerson{publicstringName;publicintAge;publicstringHobby;publicintPopularity;publicvoidSayHi(){//….}}练习:1定义一个结构叫MyColor,有三个成员,分别为red,green,blue声明一个MyColor类型的变量,并对其成员赋值.使MyColor可以表示成一个红色.2定义一个结构类型Person,有三个成员,分别为姓名,性别,年龄声明两个Person类型的变量,分别表示张三男18岁/小兰女16岁数组一次语文测试后,老师让班长统计每一个学生的成绩并计算全班(全班共60人)的平均成绩,然后把所有成绩显示出来.如何声明变量?好的解决方法,使用数组.数组保存多个值。几乎任意类型都可以声明数组。int[]nums={5,3,8}int[]nums=newint[3]int[]nums=newint[3]{5,3,8}//个数和声明数必须一致int[]nums=newint[5]{5,3,8}//错误int[]nums=newint[]{5,3,8}//正确,可以省略数组个字使用索引器访问指定编号位置的元素,访问数组元素:nums[0]、nums[1]。索引从0开始。取到的元素的类型就是数组元素的类型。还可以对数组元素进行赋值数组的声明数组的赋值与取值常见问题:求平均值,求最大值,求和,排序练习:练习1:从一个整数数组中取出最大的整数练习2:计算一个整数数组的所有元素的和。练习3:将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”练习4:将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。练习5:将一个字符串数组的元素的顺序进行反转。{“3”,“a”,“8”,“haha”}{“haha”,“8”,“a”,“3”}。第i个和第length-i-1个进行交换。求平均值,求最大值,求和try-catch的使用(简单用法)try{有可能出现错误的代码;}catch{如果try中的代码出现异常,则进去catch中}方法(函数)介绍函数就是将一堆代码进行重用的一种机制。函数就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。strings=Console.ReadLine()就是一个有返回结果的函数;Console.WriteLine("hello")就是一个有执行参数的函数,只有告诉WriteLine被打印的数据它才知道如何打印;inti=Convert.ToInt32("22")则是一个既有参数又有返回值的函数。有了函数写代码就像拼积木,C#中的各种各样的技术其实就是通过for、if等这些基础的语法将不同的函数按照一定的逻辑组织起来。方法方法的定义:[访问修饰符][static]返回值类型方法名(){方法体;}命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义方法的调用,对于静态方法,如果在同一个类中,直接写名字调用就行了.return可以立即退出方法.常用的已经学过的方法:Console.WriteLine();Console.Write();Console.ReadLine();Console.ReadKey();int.Parse(string);Convert.ToInt32(string);对于由static修饰的方法,使用:类名.方法名()调用.如果在类中调用自己的由static修饰的方法,可以省略类名.变量的作用域(只讲局部变量)阅读下面的程序,说一下输出结果是多少?变量的作用域在方法中定义的变量称为局部变量,其作用域从定义开始,到其所在的大括号结束为止.在一个方法中想要访问另一个方法中的变量,怎么办?两种解决方法:参数和返回值举例:写一个方法,判断一个年份是否是润年.方法中的return语句导致函数立即返回。在返回值为void的函数中return,在返回值非void的函数中return值练习,自己写一个方法1读取输入的整数,定义成方法,多次调用(如果用户输入的是数字,则返回,否则提示用户重新输入)2还记得学循环时做的那道题吗?只允许用户输入y或n,请改成方法3查找两个整数中的最大值:intMax(inti1,inti2)4计算输入数组的和:intSum(int[]values)思考:即然Console.WiteLine()是方法,那么为什么WiteLine的参数可以是字符串类型,也可以是数字类型,还可以是布尔类型char类型呢?为什么要有方法的重载?函数重载(函数重名)函数的重名:staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticvoidSayHello(stringname){Console.WriteLine("Iam{0}",name);}staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticvoidSayHello(intage){Console.WriteLine("我的年龄{0}",age);}staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticintSayHello(stringname){return10;}staticvoidSayHello(stringname){Console.WriteLine("我是{0}",name);}staticvoidSayHello(stringname,stringnickname){Console.WriteLine("我是{0},昵称是{1}",name,nickname);}构成重载的条件:参数类型不同或者参数个数不同(不严谨的),与返回值无关。思考:方法只能返回一个值,当需要返回多个值时怎么办?例如:写一个方法,计算一个int类型数组中每个元素的总和和最大值与最小值?方法的out参数和ref参数(*)函数参数默认是值传递的,也就是“复制一份”,例子:intage=20;IncAge(age);Console.WriteLine("age={0}",age);out则是内部为外部变量赋值,out一般用在函数需要有多个返回值的场所。例:int.TryParse。方法的练习:重复让用户输入一个数,判断该数是否是质数,输入q结束?质数的判断用方法来实现将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”(用方法来实现此功能)用方法实现找出一个int类型数组中最大值和最小值写一个方法,实现MyTryParse的功能面向对象概念世界是由什么组成的:化学家画家程序员万物皆对象试着描述杨老师和学生张三的特征和行为属性——对象具有的各种特征每个对象的每个属性都拥有特定值例如:杨老师和张三的年龄不一样.属性:姓名,性别,年龄属性的值:方法:行为,动作.执行的操作.方法:杨老师的行为,上课.学生的行为,学习练习:说说教室里有哪些对象?这些对象有哪些属性和方法?比如:电脑/灯/音箱等等一切皆对象找出下列对象共性张三(一个学生)\杨老师\邻居售货员张阿姨\李四的爸爸\李四的妈妈门口停的奔驰S320汽车/老师开的QQ汽车/杨老师的解放牌大货车类:类是模子,确定对象将会拥有的特征(属性)和行为(方法)类是对象的类型人类解俊峰;inta;类和对象的区别类是抽象的概念,仅仅是模板,比如说:“人”类对象是一个你能够看得到、摸得着的具体实体"人"类都有:姓名\性别\年龄属性,有说话的方法.张三是一个对象,他的姓名属性的值:张三性别的属性的值:男年龄属性的值:20张三会说话对象可以叫做类的实例(Instance)类不占内存,对象才占内存.类的定义定的定义语法:[访问修饰符]class类名{成员;......}类中可以包含变量的定义、方法。请练习定义一个人类.人类分别用三个变量来表示姓名性别年龄,有一个打招呼的方法,有一个走路的方法.类的实例化类的实例化,用关键字new语法:类实例名=new类();类的成员的访问:实例名.属性实例名.方法名();字段、方法、属性(后面讲)都可以叫做类的成员Member,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中“封装”的目的。访问修饰符:publicprivate(internalprotected)属性字段用public修饰的问题.属性的定义.get;set;属性是为了保护与之相对应的字段的.保证对字段的读取和赋值符合要求.属性可分为:读写、只读、只写。允许外部访问的变量一定要声明为属性。类的练习:定义一个学生类,有六个属性,分别为姓名、性别、年龄、语文、数学、英语成绩。有2个方法:一个打招呼的方法:介绍自己叫XX,今年几岁了。是男同学还是女同学。两个计算自己总分数和平均分的方法。{显示:我叫XX,这次考试总成绩为X分,平均成绩为X分}实化两个对象并测试:张三男18三科成绩为:909580小兰女16三科成绩为:9585100类的构造方法构造方法用来创建对象,并且可以在构造函数中对对象进行初始化。构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。构造函数可以有参数,new对象的时候传递函数参数即可如果不指定构造函数,则类有一个默认的无参构造函数。如果指定了构造函数,则不再有默认的无参构造函数,如果需要无参构造函数,则需要自己来写。构造函数可以重载,也就是有多个参数不同的构造函数。认识类图c#中的类图和通用类图-age:int-name:string+Name:string类名Student+SayHi():void析够函数(*)~不能在结构中定义析构函数。只能对类使用析构函数。一个类只能有一个析构函数。无法继承或重载析构函数。无法调用析构函数。它们是被自动调用的。析构函数既没有修饰符,也没有参数。练习1给前面写的学生类添加构造方法.使在实例化学生类的时候可以通过构造方法对姓名性别年龄语数英等属性赋值,也可以只对姓名和性别赋值.年龄默认为18岁,语数英成绩默认为0分.练习2:写一个Ticket类,有一个距离属性(本属性只读,在构造方法中赋值),不能为负数,有一个价格属性,价格属性只读,并且根据距离计算价格(1元/公里):0-100公里票价不打折101-200公里总额打9.5折201-300公里总额打9折300公里以上总额打8折有一个方法,可以显示这张票的信息.测试上面的类.临时加(根据学生问题添加)参数中使用out和ref的区别数组做为参数param命名空间namespace(命名空间),用于解决类重名问题,可以看做“类的文件夹”。如果代码和被使用的类在一个namespace则不需要using。在不同命名空间下的类调用有两种方法:写全称命名空间.类名先using引用命名空间,再调用字符串的处理string可以看做是char的只读数组。charc=s[1];。例子:遍历输出string中的每个元素。C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改。如果要对char进行修改,那么就必须创建一个新的字符串,用s.ToCharArray()方法得到字符串的char数组,对数组进行修改后,调用newstring(char[])这个构造函数(暂时不用细研究)来创建char数组的字符串。一旦字符串被创建,那么char数组的修改也不会造成字符串的变化。例子:将字符串中的A替换为a。字符串练习一:随机输入你心中想到的一个名字,然后输出它的字符串长度Length:可以得字符串的长度练习二:两个学员输入各自最喜欢的课程名称,判断是否一致,如果相等,则输出你们俩喜欢相同的课程.如果不相同,则输出你们俩喜欢不相同的课程.上题中两位同学输入c#和C#代表同一门课,怎么办?字符串的连接+,两边只要有一个是字符串类型,另一个也会被自动转换成字符串类型一切类型都可以调用.ToString()方法转换成字符串类型.常见疑问谁说字符串不可变?strings="abc";s="123",s这不是变了吗要区分变量名和变量指向的值的区别。程序中可以有很多字符串,然后由字符串变量指向他们,变量可以指向其他的字符串,但是字符串本身没有变化。字符串不可变性指的是内存中的字符串不可变,而不是变量不变。strings10=s1;//s10指向s1指向的字符串,而不是s10指向s1,哪怕s1以后指向了其他内存,那么s10还是指向"hello"abcadmin888888s1s1String类常用方法ToLower():得到字符串的小写形式。注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。s.ToLower()与s=s.ToLower()ToUpper():得到字符串的大写形式;Trim()去掉字符串两端的空白。s1.Equals(s2,StringComparison.OrdinalIgnoreCase),两个字符串进行比较不区分大小写的比较。s1==s2字符串的分割string[]Split(paramschar[]separator):将字符串按照指定的分割符分割为字符串数组;string[]Split(char[]separator,StringSplitOptionsoptions)将字符串按照指定的char分割符分割为字符串数组(options取RemoveEmptyEntries的时候移除结果中的空白字符串);练习:从日期字符串("2008-08-08")中分析出年、月、日;2008年08月08日。让用户输入一个日期格式如:2008-01-02,你输出你输入的日期为2008年1月2日字符串函数详解字符串替换:stringReplace(stringoldValue,stringnewValue)将字符串中的出现oldValue的地方替换为newValue。例子:名字替换。取子字符串:stringSubstring(intstartIndex),取从位置startIndex开始一直到最后的子字符串;stringSubstring(intstartIndex,intlength),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错。boolContains(stringvalue)判断字符串中是否含有子串valueboolStartsWith(stringvalue)判断字符串是否以子串value开始;boolEndsWith(stringvalue)判断字符串是否以子串value结束;intIndexOf(stringvalue):取子串value第一次出现的位置。IntIndexOf(stringvalue,intstartIndex)字符串常用方法:学习查看msdn字符串的处理练习课上练习1:接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"课上练习2:接收用户输入的一句英文,将其中的单词以反序输出。"hellocsharp"→"sharpchello"课上练习3:从Email中提取出用户名和域名:abc@163.com。课上练习4:文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。让用户输入一句话,找出所有e的位置对象的引用(非常重要)举例:结构版的Person的赋值与类版的Person的赋值int、decimal、bool、doublebyte枚举结构等类型(值类型)是传递拷贝;对象(引用类型)则是传递引用。方法间传递对象。.net中哪些是值类型?哪些是引用类型?数组:int[],string[]数组接口:interface接口自定义类:class字符串:string基类:System.Object类引用类型结构:struct结构类型枚举:enum枚举类型布尔型:bool字符型:char浮点型:float长整型:long整型:int基本数据类型值类型描  述类  别为什么要继承分别写一个Teacher类和一个Student的类,分析他们应该有哪些属性和方法.假如系统还要再加入班主任类、校长类、家长类......试分析这几个类的属性?代码冗余,怎么解决?冗余的解决方案继承的符号:利用继承实现Student类和Teacher类继承自Person类.Student类和Teacher类继承父类的属性和方法.Student类和Teacher类还有自己独有的属性和方法.继承的使用classStudent:Person{......};classTeacher:Person{......};子类继承了父类的成员,子类还可以有自己的成员.Person叫做父类(基类)Student和Teacher叫子类(派生类)Student继承了Person类Person类派生了Teacher类在c#中,所有的类都直接或间接的继承自了object类.(当我们定义一个类的时候,如果没有写:继承一个类,那么这个类就继承了object类)练习:写一个Student类和一个Teacher类,他们都有一个打招呼的方法,不同的是Studetn打招呼是说"大家好,我叫XX,我今年XX岁了,我的爱好是XXX",Teacher的打招呼的方法是说"大家好,我叫XX,我今年XX岁了,我已经工作XX年了"?显示调用父类的构造方法实例化子类时是否调用了父类的构造方法?顺序如何?利用构造方法设置公共属性,也就是说若父类的构造方法有参数,应该如何处理呢?显示调用父类的构造方法,关键字:baseprotectedprotected访问修饰符不允许其他非子类访问修改刚刚的练习,父类中把访问修饰符改成protected子类中还能被调用到吗?其他非子类能调用吗?继承的传递性.继承的单根性.类型转换(lsp)Personp=newTeacher();子类可以隐式的转换成父类.Teachert=(Teacher)p;is和astypeAistypeB仅判断typeAasTypeB先判断,再转换练习:自己定义一个父类Person,两个子类Teacher和Student类.Person写一个有参数的构造方法.自己试试,子类可以自动转父类,父类转子类要通过强转.为了不出错,可以先通过is判断或用as转换.ArrayList和HashTable为什么要用ArrayList和HashTableArrayList元素的增加、插入、删除、清空、排序、反转。HashTable的增、删、查、判存。foreach异常与异常处理传统的错误表示方式:错误码。举例。需要知道不同错误码的含义,如果不处理错误码,则程序可能陷入不可以预置的错误。陈摄影师以为文件已经被删除造成的麻烦。错误码的缺点:不处理则很难发现,每次处理则很麻烦;难以看出错误的原因;容易使得程序进入不确定状态。trycatch。Exceptionex异常也是对象。Exception类主要属性:Message、StackTrace发生异常后程序默认就退出了,try代码块中的后续代码不会被执行。catch以后的代码则会继续执行。不要吃掉异常,一般情况下不需要处理异常。扔出自己的异常,扔:throw,抓住:catch索引器C#中提供了按照索引器进行访问的方法定义索引器的方式:stringthis[intindex]{get{return"";}set{}},string为索引器的类型,[]中是参数列表。进行索引器写操作就是调用set代码块,在set内部使用value得到用户设置的值;进行读操作就执行get代码块。索引器参数可以不止一个,类型也不限于int,几乎可以是任意类型。练习1:定义一个集合类(学生类),不仅可以通过下标查找学生,还可以通过姓名查找(设姓名没有重复)练习2:上面的火星文的例子,不要用Dictionary,用自己写的一个Dictionary测试,通过Stopwatch查看效率。静态方法和实例方法(定义和调用)静态实例(非静态)static关键字不需要static关键字使用类名调用使用实例对象调用在静态方法中,可以访问静态成员在实例方法中:可以直接访问静态成员在静态方法中,不可以直接访问实例成员在实例方法中:可以直接访问实例成员调用前初始化(*)实例化对象时初始化(*)北京传智播客教育www.itcast.cnWinForm编程基础讲师:苏坤Winform基础创建Winform应用程序,观察窗体生成和文件和代码工具箱:添加控件复制对齐属性(以窗体或Button为例):如何更改属性常用属性(name)VisibaleEnabledLocationSizeText等事件:当事件发生的时候,.net框架会帮助我们执行一个方法.叫事件处理方法.具体为什么会执行这个方法,.net高级中会讲.属性也可以通过代码来赋值.MessageBox类控件介绍Label:用于向用户展示信息LinkLabel:链接TextBox:一般用于接收用户的输入PictureBox:显示图片简单的WinForm程序练习1:矩形输入宽和高,输出面积。练习2:简单的加法计算器,用户在文本框1、2中输入两个数,点击按钮,在文本框3中显示两个数的和。如果1或者2为错误的数据格式,则弹出对话框提示错误.练习3:用户在文本框1、2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中数字之间的累加和。如果1或者2为错误的数据格式,则弹出对话框提示错误。如果文本框1中的数字比文本框2中数字大,则提示错误。练习4:页面上有一张图片(PictureBox,在Image属性中加载图片),默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁则显示图片(Visible=True),否则提示年龄太小。取当前年份:DateTime.Now.Year。练习5:页面上有一个文本框,文本框左侧和右侧各有一个按钮,点击左侧按钮文本框中的文字向左循环滚动一次,点击右侧按钮文本框中的文字向右循环滚动一次。ComboBox:下拉列表练习1:简单的四则运算器如何禁止用户编辑?三种风格。响应选择改变事件练习2:省市选择器练习3:日月选择器,假设2月份总是28天。1、3、5、7、8、10、12月份是31天,其他是30天。控件介绍Timer控件Timer。每隔一段时间触发一个事件。不可视控件。Inerval、Enabled。Tick事件。计量单位:ms(毫秒)。1秒=1000毫秒DateTime案例:小时钟。取当前时间DateTime.Now.ToString();案例:窗体标题走马灯树状结构数据CheckBox和RadioButtonGroupBoxProgressBar其他:主菜单-工具栏-上下文菜单各种通用对话框托盘北京传智播客教育www.itcast.cnHTML基础讲师:苏坤HTML基础知识HTML:HyperTextMarkupLanguage超文本标签语言HTML:网页的“源码”浏览器:“解释和执行”HTML源码的工具查看网页Html基础知识一个基本的html页面所应该有的元素:我的第一个网页HelloWorld!使用记事本创建网页使用记事本创建网页的步骤:1、打开记事本2、输入HTML代码3、保存为*.html或*.htm文件、打开网页预览效果初学者来说用:记事本或editplus网页三剑客:DreamWeaver( 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 网页)FireWorks(处理图片)Flashhead标题页面背景和背景图片HelloWorld!为了使页面美丽大方,网页背景要尽量地浅版式相关标签标题标签h1....h6font标签sizecolorface属性特殊符号p标签br标签HR标签:sizecolorwidth属性"引号(“”)©版权号(©)>大于(>)<小于(<) 空格转义码特殊字符换行
练习:完成下面的网页点击查看常见的图片格式img标签:srcwidthheightalt属性ol、ul、li标签的使用a标签:hreftarget属性链接文件的路径问题相对路径:指定相对于当前文件的文件位置绝对路径:指定从根目录到文件的完整路径锚标记的使用定义锚标记,使用a标签的name属性如:目标位置跳转到错标记的公交车,使用a标签的href属性,描标记名称前加#号如::当前位置a标签的mailto的使用方法marquee标签:scrolldelaydirection属性练习: 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 为什么要使用表格:在HTML文档中,广泛使用表格来存放网页上的文本和图像进行布局行列单元格表格应用场合论坛中应用表格购物网站应用表格门户网站应用表格定义表格的基本语法单元格内容…………table表签:表格的开始tr一行的开始td一列的开始加/表示结束演示下面的例子表格中的文字也可以添加超链接表格中的文字也可以更改颜色,设置字号试试把table的border属性删掉会怎样?建一个一行两列的表格,左边放一个图片,右片能放多行文本吗?练习:跨行跨列的表格什么是跨行跨列的表格,使用colspan和rowspan属性跨列的表格演示上面的表格实现跨列的表格,使用colspan属性来实现跨行的表格演示跨行的表格的实现.使用rowspan属性来实现表格的相关属性widthheightborderbordercolor属性align属生练习:请用html实现下面的表格小练习:练习2练习3为什么要使用表单?用于向服务器传数据表单和框架单行文本输入框(TEXT)单选按钮(RADIO)复选框(CHECKBOX)下拉列表(SELECT)重置按钮(RESET)提交按钮(SUBMIT)多行文本框(TEXTAREA)密码框(PASSWORD)For
本文档为【C#基础入门传智播客】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥11.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
慧霞
教书育人
格式:ppt
大小:2MB
软件:PowerPoint
页数:0
分类:工学
上传时间:2020-02-23
浏览量:8