笔记与心得:黑马程序员C#40课基础知识集合(一)
01、基础知识
1..NET/dotnet:一般指.Net Framework框架,一种平台,一种技术
2.C#(sharp):一种编程语言,可以开发基于.net平台的应用
3.(*)JAVA即是一种技术也是一种语言
二:.net可以干什么
1.在.net这个平台上开 发桌面应用程序 叫做winform应用程序开发
2.Internet应用程序 ASP.net
3.手机开发:wp7
4.C/S 客户机[winform](Client)/服务器(Server)
5.B/S 浏览器/服务器模式 [通过浏览器访问]
三:IDE介绍
1.IDE(Integrated Development,集成开发环境)
2.Visual Studio 简介(VBS):
一套完整的开发工具集
用于开发桌面的应用程序、ASP.NET WEB一用程序、XML、Web Service、移动应用程序
为快速开发提供强大支持
四:MSDN介绍
1.MSDN 的全称是 Microsoft Developer Network。这是微软公司面向软件开发者的一种信息服务。MSDN 实际上是一个以 Visual Studio 和 Windows 平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDN WebCast、与 CMP 合作的 MSDN 杂志等等一系列服务。
五:Visual studio应用
1.选择Visual C#语言
2.选择应用程序控制台
3.名称
4.位置(Visual Studio 2008)
5.解决方案(Visual Studio 2008)
02、学习两句话
一:第一天1.在.net这个平台上开始桌面应用程序,叫做Winform应用程序开发。
2.解决方案中可以包含多个项目,项目可以包含多个文件,文件中是我们写的程序。
——1
using System; using System.Collections.Generic; using System.Linq; using System.Text;-引用命名空间
——2
namespace 我 { class Program { static void Main(string[] args) { } } }-定义了一个命名空间,叫: 我
——3
class Program { static void Main(string[] args) { } }-定义了一个名称为Programm的类
——4
static void Main(string[] args) { }-这是一个方法,叫做Main
3.在文件中,命名空间中可以包含类,类中可以包含方法,方法中可以是我们写的程序。
4.一般窗口不小心关闭了,在视图中寻找。
5.重置开发环境,可以是我们的开发环境还原为默认状态。
工具-导入和导出设置-重置所有设置-否,仅重置所有设置~。
5.Main方法是我们程序的入口方法,当我们执行一个程序时,会首先找到一个Main方法,从Main的第一句程序开始执行,当Main方法执行完成后(即执行到Main方法的反大括号就结束了)。
6.初学者写程序,就先写在Main方法中。
二:C#两句话
1.解决方案-在WINDOWS资源管理器中打开文家夹
2..sln是解决方案文件
3..csproj是项目文件
4.
Console.WriteLine("你想显示的内容");5.
Console.ReadKey();当程序执行到Console.ReadKey();时,程序会停到这里,等待用户从键盘上键入后,程序才继续执行
6.在C#中,每一句话都必须以“分号”结束
7.工具-选项-字体和颜色
8.工具-选项-文本编辑器-行号(勾选)
9.解决方案-新建项目(在当前解决方案下新建项目)
10.项目-设置为启动项目
11.WriteLine,光标出现在下一行
12.Write,光标出现在这句话后面
13.解决方案-属性-单启动项目
03、基础知识
一:C#中的注释1.什么是注释呢?对我们写的程序写的解释,注释是给人看的。
2.
第一种:单行注释,以//开始,到本行结束
第二种:多行注释/*开始 /*结束,之间的都为注释
第三种:文档注释,用于对类和方法进行注释
,在类或方法前面连续输入3个/
3.
namespace 我的第一个项目
{ /// <summary> /// 在这个类中有一个Main方法,使我们程序的入口方法。 /// </summary>4. class Program
{ /// <summary> /// 程序运行时,从这里执行代码 /// </summary> /// <param name="args"></param>二:Visual Stodio中的快捷键
1.Home 无论光标在哪,按下后跳转到该行最前面
2.End 无论光标在哪,按下后跳转到该行最后面
3.Page up 上翻一页
4.Page down 下翻一页
5.Shift 选中多个字符
6.Ctrl+Home 整个文档最前面
7.Ctrl+End 整个文档最后面
8.Delete 删除光标后面的
9.Backspace 删除光标前面的
10.Insert 覆盖字符
11.over 插入字符
12.Ctrl Z/X/C/V 撤销/剪贴/复制/粘贴
12.F5调试程序
13.F6生成程序
14.#Region和#Endregion 折叠语段
#region 我的第一个程序 Console.WriteLine("***************************"); Console.WriteLine("* 这是我的第一个程序 *"); Console.WriteLine("***************************"); Console.ReadKey(); #endregion10..Net开发环境(*了解)
1.开发工具:Visual Studio
.Net 是一种多语言的平台,开发.Net可以用多达几十种语言进行开发
Java 是一种单语言的平台,一种语言多平台
11.软件系统依赖关系(*)
VC++.NET C# VB.NET VJ#
.NET Framework 类库 (FCL)
公共语言运行库
操作系统
12..NET是如何实现语言无关性的(*)
MSIL:微软中间语言
13.NET Framework
Web 窗体 Web Service WinForms
ADO.NET 和 XML 类
基本框架类
CLR:公共语言运行时
CLS:公共语言规范
CTS:通用类型系统
JIT:即时编译器
04、变量
//单行注释
/**/多行注释
///
///文档注释
///
.NET 第二天
用户存储正在运行的程序数据(不准备)RAM:内存有个特点,断电后里面的数据丢失。
变量:变量代表着一块内存空间,我们可以通过变量名称向内存存/取数据,有变量就不需要我们记忆复杂的内存地数据类型
整数字在C#中的数据类型叫做INT
int number
a=1000 //把1000放进去
赋值: 变量名=值
PS:number加引号显示number,不加引号显示值
数据类型
数值:
1.A.整型:int
......
B.非整型:double (小数)
decimal (金钱)
2.非数值
char
String
05、变量的使用和命名规则
double:小数
char:字符型 只能存储一个字符,并且存储的这个字符要求用单引号引起来
string:字符串 把0个或1个或多个字符连接以来,字符串要求用双引号连接起来
int: 3 5 100
double: 3.14 10.5 -3.14
char: 'A' 'b' 'a'
string: "zhangsan" "李四" "计算"
decimal:(存储金钱)5.26
__decimal d=5.55m
十几位以上的数字用decimal
十几位以下用double
注意:在C#开发环境中,直接写一个有小数点的数字,这个数字是double类型的。
在一个小数后面加一个m/M,就告诉编译器这个数字是decimal。
变量声明的三种方法:
1.先声明后赋值 int a; a=3
2.定义变量时直接赋值 int a=3;
3.可以一次声明多个同类型的变量,多个变量之间用,相隔最后以;结束
string zsname, lsname, wwname; zsname = "zs"; lsname = "ls"; wwname = "ww"
变量的命名规则:
1.必须以“子母”或@符号2.后面可以跟任意“子母”,数字,下划线
注意
1.起的变量名不要和c#系统中的关键字重复(关键词会变为蓝色)
2.在c#中,大小写是敏感的
3.同一个变量名不允许重复定义(不严谨)
定义变量时,变量名要有意义
c#变量名编码规范
Camel 命名法:
首个单词的首字母小写,其余单词的的首字母大写Pascal ,命名规范:
每个单词的第一个字母都大写
如果使用到英文单词的缩写,全部使用大写
06、输出变量的值连_赋值符_连接符_占位符
a=a+1; 这里的=号是赋值运算符,不是数学意义上的相等。
变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的老值就不复存在了。
右边代码的输出结果:
int age = 10;
age = 20;
Console.WriteLine(age);
在方法中定义变量,要使用Camel命名法,Main方法也是。
在一个方法中,一般情况下变量只能定义一次,但可以多次赋值,再次赋值时会把变量中原有的值覆盖掉。
“+”在C#中有两个意义
1.是数学中的加法运算:两边参与加法运算的数据类型为数字类型,则“+”表示数学上的加法的意义2.是连接意义:两边参与加号运算的数据,有一个是字符类型,那么这个“+”就是连接意义
string a = "1"; int b = 2; Console.WriteLine(a+b);
输出的值为12
我叫我,今天28岁了,我的工资是7800.33元
string newname = "我"; int newage = 28; decimal newmoney = 7600.33m; Console.WriteLine("我叫" + newname + ",今年" + newage + "岁了,我的工资是"+newmoney+"元");
Consolo.Writeline引号中的原封不动输出
在Conslole.Writeline("")中,第一个变量/字符串中可以使用占位符占位符由{数字}组成,数字由0开始编号
第一个占位符:{0}
第二个占位符:{1}
第三个占位符:{2}
我叫我,今天28岁了,我的工资是7800.33元
今天28岁了,我的工资是7800.33元我叫张三,今天28岁了,我的工资是7800.33元
Console.WriteLine("{0}我叫"+newname,"今年"+newage+"岁了,我的工资是"+newmoney+"元");
07、变量交换_输入
string wname="张三"; int wage=18; char wsex='男'; string phone="010-110-2"; Console.WriteLine("我叫{0},今年{1}岁了,性别{2},电话{3}",wname,wage,wsex,phone);变量交换
int a = 10; int b = 5; int temp; temp = a; a = b; b = temp; Console.WriteLine("a={0},b={1}",a,b);
用于让用户从键盘上输入一句话,当程序执行到下面这句话,就会暂停,然后等待用户从键盘上输入一句话,按回车程序会继续执行。如果想得到用户输入的内容,就需要定义一个string类型的变量,写在下面这句话前面接受用户输出的内容。
Console.ReadLine().
用户输入
接受用户输入的内容,必须定义一个字符串来进行接受
string input=Consloe.ReadLine();
08-09、数据类型的自动转换
Console.WriteLine("请输入你喜欢吃的水果?"); string input = Console.ReadLine(); Console.WriteLine("这么巧啊,我也喜欢吃{0}",input); Console.ReadKey();练习二
Console.WriteLine("请问你叫什么名字?"); string name = Console.ReadLine(); Console.WriteLine("你好,{0}", name);转义字符:
当我们需要在字符串中输入一些特殊字符时,比如:半角引号,换行,退格,就需要使用转义字符。
转义字符是一个字符,
在屏幕上显示:c#用的字符用“”包含起来
\+一个字符,组成转义字符,他由一个+一个子母来组成具有特殊意义的一个字符
Console.WriteLine("c#中的字符要用\"\"引起来"); c#用的字符用“”包含起来常用的转义字符
\n 换行
Console.WriteLine("1\n2");\b baskspace 退格
Console.WriteLine("1\b2\b3");\t tab键 由多个空格组成的一个字符,具有行与行之间的对其功能
Console.WriteLine("1\t2\t3\t4\t5\t"); Console.WriteLine("1\t22\t333\t4444\t55555\t");\\ 表示一个
在字符串前面加@符号有两种意义
1.字符串中如果有,则不再理解为转义符。
Console.WriteLine(@"C:\Users\Zank\Desktop\NET听课笔记");2.使字符串可以换行
Console.WriteLine(@"C:\Users\Zank \Desktop \NET听课笔记");如果字符串前面加了@符号,在字符串上用两个双引号代表一个双引号
Console.WriteLine(@"C:\Users\Zank""\Desktop\NET听课笔记");算术运算符及算数表达式
算术运算符: + — * / % (去余数 取模)
数表达式:由算数运算符连接起来的式子。如:1+1 a-b (变量ab前面已经声明并赋初值)
优先级:先乘除,后加减,有括号先算括号里面的,相同级别从左至右运算
小括号可以无限制的套用,但一定要成对出现。
int chinese = 90; int math = 80; int english = 91; int sun = chinese + math + english; int avg = sun / 3; Console.WriteLine("您的总成绩是{0},平局成绩是{1}", sun, avg);c#中,有五个算数运算符: + — * / % 他们都是二元运算符。
//double pi = 3.14; //int r = 5; //double s = r * r * 3.14; //Console.WriteLine("s={0}",s);要求:参与运算的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。
double tshirPrice = 35; double trouserPrice = 120; double totalMoney = 3 * tshirPrice + 2 * trouserPrice; double disMoney = totalMoney * 0.88; Console.WriteLine("购物总计:{0},打8.8折后应付:{1}元", totalMoney, disMoney);发生自动转换的条件
1.参与运算的两个数据类型必须相兼容
2.必须一边的数据类型表示范围小,一边的范围大,比且把小的转向大的不丢失精度
Double中包含int
一个表达式,如果其中一个操作数为double类型,那么整个数为double类型(double的精度为15)
int a = 10, b = 3; int mod = a % 3; double quo = 1.0*a / b; Console.WriteLine("mod={0} qup={1}", mod, quo);
10、复习-数据类型转换
Convert不再仅是内存级别的转换,而是老驴数据意义的转换。
Convert是一个加工、改造的过程
Convert.ToInt32(待转换字符串)
Convert.Tostring每种类型都还有.ToString()方法
一切类型都可以转换成为string类型
int 变量=Consvert.ToInt32(待转字符串)上面语句的意义:把待转字符串转换成int类型后赋给变量
string strsCore="90"; int iScore = Convert.ToInt32(strScore);把strScroe转化成int类型并且付给iScroe
Console.WriteLine("请输入你的语文成绩?"); string chinese = Console.ReadLine(); Console.WriteLine("请输入你的数学成绩?"); string math = Console.ReadLine(); int chineseScroe = Convert.ToInt32(chinese); int mathScroe =Convert.ToInt32(math); Console.WriteLine("你的总成绩为:{0}",chineseScroe + mathScroe);缩写直接赋值
int chinese =Convert.ToInt32( Console.ReadLine());