技术博文1---C#编程基础学习笔记(苏坤老师教学)
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
技术博文1---C#编程基础学习笔记(苏坤老师教学)相关推荐
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
- 自学python入门-自学Python编程基础学习笔记 PDF 完整超清版
一. Why. 为什么学习Python.Python这门语言用处比较广泛: 1.写测试脚本,因为PY是解释性语言,天生就有作为测试脚本语言的优势,语法简单,通俗易懂,可移植性好(底层使用C语言来编写 ...
- 计算机编程基础学习笔记之-1.计算机组成原理
文章目录 思维导图 1.计算机组成原理 总览 1.计算机体系与结构 1.1 冯诺依曼体系 1.2 冯诺依曼瓶颈 1.3 现代计算机结构体系 2.计算机的层次与编程语言 2.1 程序翻译VS解释 程序翻 ...
- [python]网络编程基础学习笔记(一)客户/服务器网络介绍
1.1 理解TCP基础 每个TCP链接的寻址需要一个IP地址和一个端口号来唯一标识的. TCP是可靠的协议,除非整个网络出现问题,否则数据将完整的从网络一端传送到另一端. TCP的可靠性是通过下面的途 ...
- _int64_在Linux对应对文件,LInux 编程基础学习笔记 持续ing 文件读写
一.文件读写 1.创建文件: 头文件: 函数:creat(char *path,int mode) mode:S_I(R|W|X)(USR|GRP|OTH) 对不同用户组的不同读写执行 2.打开 ...
- Python网络编程基础学习笔记-ip地址的介绍
ip地址的介绍 1.ip地址的概念 IP地址就是标识网络中设备的一个地址,好比现实生活中的家庭地址. 2.ip地址的表现形式 通常分为ipv4 ipv6 说明: ip地址分为两类: ipv4 和 ip ...
- 学习Python编程基础学习笔记(5.模块和包)
目录 一:概述 1.1标准模块 二:模块详解 2.1以脚本方式执行模块 6.1.2. 模块搜索路径 6.1.3. "已编译的" Python 文件 三:dir() 函数 和 包 3 ...
- Java中大数据数组,Java基础学习笔记之数组详解
摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...
最新文章
- 【问题解决】老外ESP32TTS语音合成库AquesTalk ESP32测试成功
- 项目中遇到的Integer问题--转
- UDO compare ABAP代码的实现
- 学习笔记【2010/09/20-2010/11/27】
- Java:如何在不到5分钟的时间内通过Hazelcast提高生产力
- oracle查询用户下所有表名称
- limit mongodb 聚合_mongodb-$type、limit、skip、sort方法、索引、聚合
- Hadoop学习笔记(一):MapReduce工作机制
- 手机黑屏时闪屏怎么回事_手机屏幕碎了,先别着急换!维修师傅告诉你,如何不被忽悠多花钱...
- Trimble天宝水准仪维修DINI03全站仪/电子水准仪维修特点
- catia 快捷键 激活零件_CATIA常用快捷键
- PPT文件怎么转换成图片
- 电源篇-集成三端稳压器
- Python青少年学编程之秦九韶算法(初三、高中信息技术)
- visual foxpro
- [转] 心态是最大的本钱;人无完人,重要的是怎么做人
- 阿里云客服机器人人工服务配置文档
- c语言打印一个字母圣诞树,C语言打印圣诞树
- 服务器被打了之后怎么办?
- css3 搜索栏 圆角,CSS3 圆角