技术博文1---C#编程基础学习笔记(苏坤老师教学)

本文介绍了C#编程的基础知识,涵盖了.NET Framework的概念、Visual Studio的使用方法、基本的编程语法及数据类型等内容。

C#编程基础

  • .net的一些基本概念

IDE Integrated development enviroment

c/s

B/S

Net4.X

Visual studio 是.net使用的开发工具(2010旗舰版 或者2008 Team system版本,不要下载免费版,因为功能有限制)

MSDN:microsoft development network  是visual studio的帮助文件,可以查到所有资料

 

 

  • C#编程工具的操作

Visual C# 控制台应用程序

新建项目

名称

位置

解决方案名称(全部解决方案可能包括多个项目,这些新项目共同完成形成一个解决方案)

 

新建批program的两种方法:

解决方案管理器

快捷键新建项目 Ctril+shift+N(选择加入project)

菜单栏-工具栏(与菜单中的某些项重复,只是放在一起便于操作)

 

解决方案管理器

解决方案--多个项目--多个文件--包含程序

cw+tab键=输入Console.Writeline();

 

解决方案中可以包含多个项目---多个文件---多个程序

引用命名空间

namespace:定义了一个命名空间叫:我的第一个项目

命名空间的名城不许以数字开头

class Program:类,名称是Program

static:方法,叫Main

 

解决方案-项目-文件-命名空间-类-方法-程序statement

 

重置开发环境:让开发工具恢复默认状态

工具_>导入和导出设置

 

一般的窗口不小心关闭了,在视图中寻找

一般的类文件,以.cs结尾

 

  • Main方法的重要性:

是程序的入口方法,即要执一个程序,会首先找到Main方法,从Main方法的第一句程序开始执行,当Main方法执行完成后(即执行完Main方法的所有内容),程序就结束了。

所以初学者写程序,就先写在Main方法中。

 

一般情况下,一个程序只能有一个Main方法。没有Main,或者有多个Main多无法启动。

 

 

.sln是解决方案的文件,记录了解决方案包含的项目

.csproj是项目文件

每天交作业时,压缩解决方案文件夹,重命名为:姓名+日期 如 小斌422.rar

ftp://198.168.1.100

 

  • 程序

C#区分大小写

快捷键:F5 (程序启动;

 

第一句编程语言

在屏幕上向用户显示一句话

Console.WriteLine("你想显示的内容);

 

第二句话

Console.Readkey();

当程序执行到Console.ReadKey();程序会停在这里等待用户在键盘上键入一个键,等用户键入这个键后,程序才会继续执行

 

 

Ctrl+F5 运行不调试

在C#中没一句话都必须以;结束,有几个;就有几句话。

 

必须点击: 生成_>生成解决方案  才能修改程序

 

或者点击  运行    会先生成再运行

 

快捷键  F6 (生成),可以帮助检测是否有语法错误

 

Write和WriteLine的区别: Write之后不自动换行,WriteLine自动换行

 

如何设置字体和颜色

 

工具->选项->字体和颜色

 

 

 

  • C#中的注释: 对我们写的程序进行解释

有三种:

单行注释:以//开始,到本行结束

多行注释:,以/*开始,*/结束,之间的都为注释

文档注释:用于对class和method进行注释,在Class和Method连续敲三个///,在中间写Class是做什么的

 

注释是程序员的一个好习惯,没有的话会扣分,因为你的 程序需要给别人看

 

 

 

  • 计算机使用的基本技巧

Home

End

PageUp

PageDown

Shift

 

Ctrl+Home使光标移动到文档的最前

Ctrl+End使光标移动到文档的最后

 

删除文字的操作

Backspace删除光标前面的字符

Del删除光标后面

Ctrl+Z:撤销上一次操作

 

编程时使用的任何符号,都是半角的

 

 

下面的一对指令可以折叠一段代码

#Region 和#endregion

 

.net的开发工具: Visual Studio

.net Framework 提供函数库,类库

 

 

 

.net的开发语言: C# /VB.Net/F#

.net是一种多语言的平台,开发.net的程序可以用多大十几种语言进行开发

Java是一种单语言平台,优势是可以跨平台使用

 

 

软件与系统的依赖关系

电脑--windows的操作系统--装.net Framework(CLR公共语言运行库+类库FCL)---应用程序

CLR是翻译应用程序,成为操作系统能够理解的代码 Common Language R

 

C#---C#编译器--MSIL--CLR--代码被执行

MSIL:微软中间语言

CLR翻译成不同平台能够理解的语言

 

.Net Framework类库

ASP.Net: Web窗体

Web Service

WinFroms

 

ADO.NET

XML类

 

 

CLR

CLS:公共语言规范(语法规则)Common Language Specification

CTS:通用类型系统(有的词)Common Type System

 

我们程序要想进行不同的机器的移植,需要确定对方安装了.Net Framework

微软出的操作系统,都默认了装了.net Framework

 

 

复制对话框提示内容:

[Window Title]

记事本

 

[Main Instruction]

是否将更改保存到 F:\技术\编程\Java.txt?

 

[保存(S)] [不保存(N)] [取消]

 

 

 

  • 变量1.(Variables)

计算机--使用"内存"来存储数据

我们在计算机中存储数据和客人住旅店类似

/*

内存:用于存储正在运行的程序数据(不准确.)

RAM(随机存储器):内存有个特点,断电后数据丢失

硬盘:存储资料(点击保存后,从RAM转移到硬盘/磁盘上)*/

 

住旅馆的程序

1.开房间---Consider:开什么样的房间--单间,双间,套间

2.入住--当房间开好后要考虑入住

 

Variables:其实代表了一块儿内存空间,我们可以通过Variable名称向内存空间存取储数据。有了变量就不需要我们记忆复杂的内存地址了。

 

1.向计算机申请一个内存空间

2.

 

向内存申请申请一块儿内存空间的语法:

数据类型 变量名称;

赋值: 变量名 = 值

 

 

整数: 在C#的数据类型为 int

 

int Number;//开放一个能放数字的内存空间,名字为Number

a=1000;// =为赋值运算符(Assignment Operators),将数据1000放入Number这个房间中

Equals Operators:(==)

 

 

向屏幕显示一个Variable时,不需要加"",是取变量值

 

 

 

 

 

数据类型

数值

int

整数,(正负10位以下可存储)

 

double

小数

 

decimal

财务上的大型数据运算

 

Long

 

 

short

 

 

byte

 

非数值

string

字符串

 

 

Char

‘a’

 

计算机中常用的各式各样的数据

数值:

整数型:int

非整数型:double;decimal//decimal 一般用于财务上的大型数据运算

 

非数值:char;String

 

其他数据类型:

非数值:

如果加""则表示将""内的内容原封不动的显示出去

 

MSDN:Visual Studio的帮助

 

int:整数 3 5 100 -10(正负10位以下可以存储)

double:  2.13, 10.5, -3.14, -5.0(小数),精度只有15-16位,如果123456789123456789123456789111,double运行后16位后的数字都变成0,精度丢失。

 

char:‘A’, ‘B’(中文称为:字符型,只能存储一个字符,并且存储的字符要求的字符要求用单引号引起来‘’),

char类型也可以包含空格

 

string:字符串,就是把0个或多个字符链接起来,就叫做字符串,要求用双引号"".赋富时,赋予空或者 单个字符都可以

string:"张三"."Lisi",."计算机"

 

decimal:一般用于存储财务上的数字,与double类型的区别。精度有28-29度。与double的区别,一是范围不一样,二是精度不一样。但在10位以下,与double没有区别。

在一个小数后加m,就告诉编译器,这个小数是decimal类型

 

 

在c#开发环境中,直接写一个有小数点的数字,这个数字是double类型的。

decimal money;

money = 1000.25m

 

  • 变量的命名

命名规则

1.必须以“字母”,_或者@符号开头。//C#的编码支持多国语言,可以使用汉字,英语,法语等都可以。建议Programmer使用英文,这样节省时间,方便copy到英文操作系统。中文有可能到其他系统上乱码。

2.后面可以跟任意“字母”,数字,下划线//说明第一个字符不可以是数字开头

 

 

变量声明方法的三种方法:

1.先声明,后赋值.

int X;

X = 1;

 

2.定义变量时直接赋值.

int a =3;

 

3.一次声明多个同类的变量,这些变量用逗号,分隔,最后以;结束.

string zsName,lsName,wwName;//一次声明了三个string类型的变量

int zsAge=18, lsAge = 20, wwAge = 22;//一次声明三个同类型的变量,并且都赋值了

 

警告:

说明代码Code有可能有错误,或者运行时有错误。以后写代码要求没有错误,没有警告。

 

例如:警告

变量“jpName”已赋值,但其值从未使用过    

//不使用会造成一种浪费

 

Variables:

1.先声明

2.再赋值

3.最后使用(调用变量/取值/或者写这个变量)

 

练习

三个变量:姓名,性别,年龄(张三,男,18)

 

 

 

注意:

1.你起的变量名不要与C#中的关键字重合

关键字字库

关键字在编程时会变成蓝色,发现颜色变成蓝色就要换名字

2.在C#中,大小写是敏感的

3.同一个变量名不允许重复定义,只能重复赋值(在特殊情况下可以重复赋值,目前暂且认为不可重复赋值)

 

定义变量时,变量要有意义

  • C# 命名编码规范

 

Camel命名法: 首个单词的首字母小写,其余单词的首字母大写//在方法定义变量,要用camel命名法

studentName,zsAge, lsName,name,age

 

Pascal命名法:

每一个单词的第一个字母都大写,如果涉及到单词的缩写,全用大写//一般用全局的变量

SoftwareName,SystemVersion

 

匈牙利命名法:

前面用变量类型小写,后面大写的单词是变量的名字

strName,iAge

 

 

在Main method中命名变量都要用Camel命名法//不同公司会有不同的命名法

 

 

 

 

赋值运算符和赋值表达式

Assignment Operators: = //把右边的值赋给左边的变量

赋值表达式:以=链接的式子

a=a+1;这里的=是赋值运算符,不是数学意义上的相等

赋值运算符的优先级是最低的。

a=a+1;//表示把a中的值取出来,与1相加,再把这个结果值赋给a

变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的原有的值就会被覆盖掉。

 

举例:

第一个变量存储客户的姓名,然后输出“你好,某某”

System using

{

namespace_01练习

{

  Static void main

   {

     String name;

     name = “张三”;

     Console.WriteLine(“您好,{0}”,name);

Console.Readkey();

    }

}

}

Output为 您好,张三

"+"加号运算符,在C#中两种意义

1.数学中的加法运算;//运算符两侧的数据类型为数字类型,则表示数学上的加法意义

 int a = 1;

 int b = 2;

 Console.WriteLine(a+b);

 Console.ReadKey();

output 为3;

 

2.链接的意思;//如果两侧的运算数据有一个数字符或者字符串类型,就是连接的意义

 

判断要看"+"左右的数据类型

 

占位符

在Console.WriteLine("")中,第一个变量or字符串中可以使用占位符。

占位符由{数字}组成,数字由0开始编号

第1个占位符:{0}

第2个占位符:{1}

第3个占位符:{2}

……

 

占位符是否可以重复使用?YES.占位符可以重复的使用

 

 

Error类型:

运行时错误

语法错误

 

参数

用逗号“,”分隔的东西叫做参数

Console.WriteLine();有多个参数是时, 进行对外输出时,输出的永远是第一个参数的内容,从第二个参数开始,都是用来替换第一个占位的变量。所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符。

 

电话要存储string类型;

int只能存储10位;

long和string的区别

long是一个数字类型,是一个长整数;因为是个数字类型,要进行数学上的运算,如果定义为long,电话号码没有运算;

 

算法1:

交换两个变量值的算法

int a = 10;

int b = 5;

int temp;

temp = a;

a = b;

b = temp;

Console.WriteLine("a ={0}  b ={1}",b,a);

 

算法2:

用于让用户从键盘上输入一句话,当程序执行到下面这句话,就会暂停,然后等待用户从键盘上输入一句话,按回车,程序将继续进行。

Console.ReadLine();

如果想得到用户输入的东西(字符串),就需要定义一个String类型的变量,写在下面这句话前面,接收用户输入的内容;

接收用户输入的内容必须定义一个String类型来接收。用户输入的任何内容都是string类型,全部以字符串处理

string input = Console.ReadLine();

 

练习:

问:你喜欢吃什么水果?

用户输入:苹果

回答:哈哈,太巧了我也喜欢吃苹果

 

Console.WriteLine(“你喜欢吃什么水果?”);

Console WriteLine(“请在下面一行输入你喜欢吃的水果”);

string input = Console.ReadLine();

Console.WriteLine(“哈哈,太巧了我也喜欢吃{0}”,input);

Console.ReadKey();

 

能不能在字符串中输出双引号吗?

在屏幕上显示:C#用半角引号""包含起来

 

转义字符:

当我们需要在字符串中输入一些特殊字符时,就需要转义字符,比如半角引号,换行,推格,就需要转义字符。

转义字符是一个字符,也可以用于字符串,他由一个\+一个字母来组成具有特殊意义的一个字符。

 

常用的一些转义符:

\n表示换行

\b (=backspace) 退格=删除字符

\t  (=tab) 由多个空格组成的一个字符,具有行与行之间的对齐功能

Console.WriteLine("1\t2\t3\t4\t5");

Console.WriteLine("11\t111\t1234\t12345\t7");

Console.ReadKey();

 

\\ (=\) 表示要输出一个\,要输出两个\\,要用四个\(\\\\)

@,在字符串前面加@符号,有两种意义

1.字符串中如果有\,则不再理解为转义符

2.使字符串可以换行定义

 

/*Console.WriteLine(@"D:\jdssoftware\wab

世界你好!

dc9\bdclib");

Console.ReadKey();*/

为什么运行的时候没有内容出现呢?

后期等待几分钟,程序才开始有内容显示了

@后面的字符串中的\已经不再转义了,因此如果需要在字符串中键入"",这个时候需要两个双引号代表一个双引号要

 

 

算数运算符以及算数表达式

 

算术运算符: +-*/%(取余数,取模)

算数表达式:由算数运算符连接起来的狮子,如1+1, a-b(变量a与b已经声明,并且赋初值)

 

凡是进行运算,要求进行运算两边的数据类型都相同

 

发生自动转换的条件

1.参与运算的两个数据类型相兼容

2.必须一边的数据类型,表示范围小,一边的表示范围大,并且把小的转向大的不丢失精度(即值与原来保持一样)

例如:double的范围广于int,从而double包含int

int是整数,是数轴上的点。而double是数轴上的一段。所有的int类型都可用double表示。

 

隐式转换

为什么double默认转换成decimal?

因为double比decimal范围更大,比如decimal=3.14是错误的,正确的是decimal d =3.14m;

decimal d = 3.14m;

double d = d;

这个程序错误的,因为decimal精度更大,将decimal转为double会丢失精度,这样的转换是不可以的。

decimal d = 3; 是可以的,因为int类型是可以转换decimal;

以后用的最多的是int类型自动转为double类型

 

表达式

1.如果一个表达式为double类型,则整个运算都将转为double类型;

 

 

 

 

 

 

转载于:https://www.cnblogs.com/samatha1986/p/3688125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值