•Net(DotNet):
–一般指.Net Framework、一种平台、一种技术
•C#(sharp):
–一种编程语言,可以开发基于.Net平台的应用
•Java:
–既是一种技术也是一种语言
.Net都能做什么
桌面应用程序 WinForm
Internet应用程序 ASP.Net
手机开发 WP7
C/S:客户机(Client)/服务器(Server)
B/S:浏览器(Browser)/服务器(Server)
.Net开发学习路线
程序是什么?
就是“记事本”
控制预先写好的东西
三个状态
模仿:照代码写和分析
模拟:按照步骤自己写
创造:有需求自己设计
Visual Studio介绍
安装、创建解决方案、项目
使用VS的各个窗体,字体行号
C#源文件(类)一般以cs结尾
C#的入口函数是Main函数
基本的输入输出语句(演示一个例子)
多个项目与启动项
项目的加载与卸载
C#中的注释
当行注释
// 注释内容
多行注释
/* 注释内容,不允许嵌套 */
文档注释
/// 注释内容
在方法与类等数据前键入///自动生成
常用的基本操作
常用键(移动光标)
复制、粘贴与撤销
插入、覆盖模式
标点问题
常用F键:F5、F6、F11、F1
折叠代码
快捷键
变量与常用数据类型
程序就是在不断的存储数据、处理数据
常见的数据类型有
int、double、decimal、char、string、bool
声明变量 类型名 变量名;
存入数据
下面的做法对吗?
int a = 3.14;
变量的声明
语法
类型名 变量名;
变量名 = 字面值;
变量要
先声明、再赋值、后使用
如果一次要声明多个变量,使用逗号隔开
可以赋初值
部分赋初值
变量的命名
命名规则:
1 必须以“字母”_或@符号开头.
2 后面可以跟任意“字母”、数字、下划线.
注意:
1)你起的变量名不要与c#系统中的关键字重复.
2)在c#中,大小写是敏感的.
3)同一个变量名不允许重复定义(先这么认为,不严谨)
定义变量时,变量名要有意义
C# 变量命名编码规范——Camel (骆驼、驼峰)命名法:
首个单词的首字母小写,其余单词的首字母大写。
Pascal命名规范:每一个单词第一字母都大写
如果使用到英文单词的缩写,全部用大写!
赋值运算符:=
带有赋值运算符的式子叫做赋值表达式
切记不是数学意义上的“等于”含义
赋值以前里面没有数据,默认为0(不能使用)
可以多次赋值,如果赋值了原来的就没了
int num = 2;
num = 10;
Console.WriteLine(num);
- 字符与字符串
string strVal = 字面值;
可以使用“+”实现字符串的拼接
那么怎么输出:”C#入门经典”好简单啊
常见的转义字符:
\n \r \b \t \\ \”
@字在字符串前面表示不转译
-
演示:
定义一个变量存储客户的姓名,然后在屏幕上显示:”你好,某某”.
某某代表客户的姓名
- +号可以连接两个字符串,这里的“+”号表示连接的意思
-
演示多次赋值操作
定义一个变量存储一个人的年龄(18),然后发现这个人的年龄不是18岁,要把这个人的年龄修改成20岁(本题体会变量可以被重复多次赋值),最后把这个人的年龄输出到屏幕上?
- 变量练习
1. 定义3个变量,分别存储一个人的姓名(张三),年龄(28),和工资(7600.33).然后在屏幕上显示,我叫XX,今天X岁了,我的工资是XX元.
2.定义四个变量,分别存储一个人的姓名、性别、年龄、电话。然后打印在屏幕上
3.在屏幕上输出:我的手机是philips 型号:998 价格:1500元 重量:0.3kg
请定义变量存存储上面的值,并显示在屏幕上.
4.定义两个变量如:a b分别赋值为10和5,写程序交换两个变量的值
- 字符串练习
1.练习:问用户喜欢吃什么水果,假如用户输入”苹果”,则显示”哈哈,这么巧呀,我也喜欢吃苹果”
2.练习:请用户输入姓名,然后在屏幕上显示“你好,XXX". XXX为用户刚刚输入的姓名.
-
接收用户输入的方法:
Console.ReadLine();
-
算术运算符及算术表达式
算术运算符: + - * / %(取余数 取模)
算术表达式:由算术运算符连接起来的式子.如:1+1 a-b(变量ab前面已声明并赋初值)
优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算
小括号可以无限制的套用,但一定要成对出现.
C#运算符优先级 类型 运算符 说明 基本 x, y, f(x), a[x], x++, x--, new, typeof, checked, unchecked new运算符用于创建一个新对象 一元 +, -, !, ~, ++x, --x, (T)x (T)x为强制类型转换 乘除 *, /, % 加减 +, - 位移 <<, >> 关系和类型检测 <, >, <=, >=, is, as 相等 ==, != 逻辑与 & 逻辑异或 ^ 逻辑或 | 条件与 && 逻辑或 || 条件 ?: 赋值 =, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, |=
演示:计算半径为5的圆的面积并打印出来
-
练习
某商店T恤的价格为35元/件,裤子的价格为120元/条.小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
-
假如商店为小明打8.8折,那么小明应该付多少钱呢?
购物总计为:XX元,打折后应付为:XX元.
整 数 类 型 类 型 别 名 允 许 的 值 sbye System.SBye 在 -128 ~ 127 之间 byte System.Byte 在 0 ~ 255 之间 short System.Int16 在 -32 768 ~ 32 767 之间 ushort System.UInt16 在 0 ~ 65535 之间 int System.Int32 在 -2 147 483 648 ~ 2 147 483 647 之间 uint System.UInt32 在 0 ~ 4 294 967 295 之间 long System.Int64 在 -9 223 372 036 854 ~ 9 223 372 036 853 之间 ulong System.UInt64 在 0 ~ 18 446 744 073 709 551 615 之间
浮 点 类 型 类 型 别 名 m的最小值 m的最大值 e的最小值 e的最大值 近似的最小值 近似的最大值 float System.Single 0 224 -149 104 1.5×10-45 3.4×1038 double System.Double 0 253 -1075 970 5.0×10-324 1.7×10308 decimal System.Decimal 0 296 -26 0 1.0×10-28 7.9×1028
其 它 类 型 类 型 类 别 允 许 的 值 char System.Char 一个 Unicode 字符,存储 0 ~ 65 535 之间的整数 bool System.Boolean 布尔值:true或false string System.String 一组字符
- 算术运算符-自动类型转换
下面代码的输出结果是什么?
int a = 10, b = 3;
int mod = a % b;
double quo = a / b;
Console.WriteLine(mod);
Console.WriteLine(quo);
类型自动转换规则
参与运算(算术运算和赋值运算)的操作数和结果类型必须一致. 当不一致时,满足下面条件时,系统自动完成类型转换
两种类型兼容
例如:int 和 double 兼容
目标类型大于源类型
例如:double > int
对于表达式
若一个操作数为double型,则整个表达式可提升为double型
比如前面打8.8折的练习题.
求10/3求余数要想得到3.333的处理.
强制类型转换
如上题中打完8.8折后出现小数,商店为了结算方便,只收用户整数部分的钱,如本应收用户166.78,现在只收用户166元,应该如何做?
语法:
(数据类型名)待转换的值;
如:
int b = (int)3.14;
强制类型转换,数据类型一定要相兼容
类型转换
问题:让用户输入他的语文和数学成绩,计算他的总成绩并显示出来?
Convert不再仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程
Convert.ToInt32(待转字符串);、Convert.ToString、每种类型都还有.ToString()方法.
一切类型都可以转换成string类型
总结:
1.ctrl+k+s region 折叠代码
ctrl+k+f 是代码对齐
2.变量命名 “_ 、小写字母 、@ ”开头
3.转义字符: \
\n 换行 \r 回车 \b backspace \t tab \r\n相当于回车
@写在字符串前表示不转义
/* @还可以用于折行处理字符串 */
/* @"""C#""好简单" 输出是"C#"好简单*/
4.类型转换
int num = int.parse("字符串");
5.常量 :const
枚举 (类型) :enum
//enum Sex{男,女}
//主函数中, 定义枚举变量, Sex s = Sex.男;
//枚举是int类型,输出整形时要注意(int)s 强转
//如果把枚举类型转化成一个字符串:
(自己定义的枚举)(Enum.Parse(typeof(自枚),"待转换字符串"));
即:
string str;
s = (Sex)(Enum.Parse(typeof(Sex),str));
输出时:记住 s.ToString();