黑马程序员_C#编程基础

------- Windows Phone 7手机开发.Net培训、期待与您交流! ------- 

 

基础知识

.net和C#的区别
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 简介:
一套完整的开发工具集
用于开发桌面的应用程序、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)


1. 在.net这个平台上开始桌面应用程序,叫做Winform应用程序开发。
2. 解决方案中可以包含多个项目,项目可以包含多个文件,文件中是我们写的程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
-引用命名空间

namespace Programs
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

-定义了一个命名空间,叫:Programs

class Program
    {
        static void Main(string[] args)
        {
        }
    }

-定义了一个名称为Programm的类

static void Main(string[] args)
        {
        }

-这是一个方法,叫做Main


3. 在文件中,命名空间中可以包含类,类中可以包含方法,方法中可以是我们写的程序。
4. 一般窗口不小心关闭了,在视图中寻找。
5. 重置开发环境,可以是我们的开发环境还原为默认状态。
工具-导入和导出设置-重置所有设置-否,仅重置所有设置~。
5. Main方法是我们程序的入口方法,当我们执行一个程序时,会首先找到一个Main方法,从Main的第一句程序开始执行,当Main方法执行完成后(即执行到Main方法的反大括号就结束了)。
6. 初学者写程序,就先写在Main方法中。

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. 解决方案-属性-单启动项目

C#中的注释
1. 什么是注释呢?对我们写的程序写的解释,注释是给人看的。
2.
第一种:单行注释,以//开始,到本行结束
第二种:多行注释/*开始 /*结束,之间的都为注释
第三种:文档注释,用于对类和方法进行注释
,在类或方法前面连续输入3个/

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();
            #endregion


.Net 是一种多语言的平台,开发.Net可以用多达几十种语言进行开发
Java 是一种单语言的平台,一种语言多平台

软件系统依赖关系

VC++.NET        C#         VB.NET        VJ#
.NET Framework 类库 (FCL)
公共语言运行库
操作系统

.NET是如何实现语言无关性的
MSIL:微软中间语言

.NET Framework
Web 窗体        Web Service        WinForms
ADO.NET 和 XML 类
基本框架类

CLR:公共语言运行时
CLS:公共语言规范
CTS:通用类型系统
JIT:即时编译器
  
C#中的注释符
//单行注释
/**/多行注释
///
///文档注释
///

用户存储正在运行的程序数据(不准备)
RAM:内存有个特点,断电后里面的数据丢失。
变量:变量代表着一块内存空间,我们可以通过变量名称向内存存/取数据,有变量就不需要我们记忆复杂的内存地数据类型
整数字在C#中的数据类型叫做INT
int  number
a=1000   //把1000放进去
赋值: 变量名=值
PS:number加引号显示number,不加引号显示值

数据类型


数值:
1.整型:int
        ......
   非整型:double   (小数)
                decimal  (金钱)
2.非数值
char
String

 
变量的使用和命名规则

int 所包含的值前后20万
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 ,命名规范:
每个单词的第一个字母都大写
如果使用到英文单词的缩写,全部使用大写

 
输出变量的值连_赋值符_连接符_占位符
赋值运算符:=
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元
Console.WriteLine("我叫" + newname + ",今年" + newage + "岁了,我的工资是"+newmoney+"元");
Console.WriteLine("我叫{0},今年{1}岁了,我的工资是{2}元",newname,newage,newmoney);

Console.Wroteline();有多个参数时,输出都是第一个参数中的内容,从第二个参数开始,都是用来替换第一个参数中的占位符的值,所以从第二个参数开始,要不要输出,就看第一个参数中有没有想过的占位符。

今天28岁了,我的工资是7800.33元我叫张三,今天28岁了,我的工资是7800.33元
Console.WriteLine("{0}我叫"+newname,"今年"+newage+"岁了,我的工资是"+newmoney+"元");

 

变量交换_输入
 
长数字用string
            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();

数据类型的自动转换
练习一
            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
            //int a = 10, b = 3;
            //int mod = a % 3;       【%取余数,输出1】
            //double quo = a / b;    【/取模,输出3,将int转化为double类型】
            //Console.WriteLine("mod={0}   quo={1}", mod, quo);
一个表达式,如果其中一个操作数为double类型,那么整个数为double类型(double的精度为15)
            int a = 10, b = 3;
            int mod = a % 3;     
            double quo = 1.0*a / b;
            Console.WriteLine("mod={0}   quo={1}", mod, quo);
这里quo输出的值为3.333333333333333,为double类型,这是double除以double,如果为int除以double则显示3

 
 

字符串无法强制转换成数字类型

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());

 

c#中异常捕获如何来完成ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值