1、变量
用来在计算机当中存储数据。
张三 开房
张三 26小时 去旅馆睡觉
张三 一个人 单人房 308
张三 and girl 双人间 一张床 521
张三 and boy 双人间 两张床 520
存储整数100
数据类型:整数
在内存中开辟的空间应该是整数类型 int
存储变量的语法:
变量类型 变量名;
变量名=值;
"="号:在这并不表示等于的意思,而是赋值的意思,表示把等号右边的值赋值给等号左边的变量。
声明并且给变量赋值的简写形式:
变量类型 变量名=值;
2、数据类型
1)、整数类型:int 只能存储整数,不能存储小数。
2)、小数类型:double 既能存储整数,也能存储小数,小数点后面的位数 15~16位。
3)、金钱类型:decimal:用来存储金钱(小数),值后面需要加上一个m.
4)、字符串类型:string,用来存储多个文本,也可以存储空,字符串类型的值需要被 双引号引来,可以空
这个双引号必须是英文半角状态下的双引号
5)、字符类型:char,用来存储单个字符,最多、最少只能有一个字符,不能存储空。
字符类型的值需要用 单引号因起来。英文半角状态下的单引号。
3、波浪线
1)、如果你的代码中出现了红色的波浪线,意味着你的代码中出现了
语法错误。
2)、如果你的代码中出现了绿色的波浪线,说明你的代码语法并没有错误,
只不过提示你有可能会出现错误,但是不一定会出现错误。警告线
4、变量的使用规则
如果你要是用变量的话,应该要先声明再赋值再使用。
5、命名规则:
****首先要保证的就是这个变量的名字要有意义。
1 现阶段给变量起名字的时候都以字母开头
2 后面可以跟任意“字母”、数字、下划线.
注意:
1)你起的变量名不要与c#系统中的关键字重复.
2)在c#中,大小写是敏感的. HTML不区分
3)同一个变量名不允许重复定义(先这么认为,不严谨)
给变量起名字的时候要满足两个命名规范:
1、Camel 骆驼命名规范。要求变量名首单词的首字母要小写,其余每个单词的首字母要大写。
HighSchoolStudent
多用于给变量命名。
2、Pascal 命名规范:要求每个单词的首字母都要大写,其余字母小写。
highSchoolStudent
多用于给类或者方法命名。
总结
变量中唯一可以出现的是下划线
不能有空格
不能以数字开头
不能是关键字
6、赋值运算符
=:表示赋值的意思,表示把等号右边的值,赋值给等号左边的变量。
由等号连接的表达式称之为赋值表达式。
注意:每个表达式我们都可以求解除一个定值,对于赋值表达式而言,等号左边的变量的值,
就是整个赋值表达式的值。
1 1 int number=10;
7、+号的作用
1)、连接:当+号两边有一边是字符串的时候,+号就起到连接的作用。
2)、相加:两边是数字的时候
8、练习
1、
string name = "卡卡西";
int age = 30;
string email = "kakaxi@qqcom";
string address = "火影村";
decimal money = 5000m;
Console.WriteLine("我叫" + name + ",我住在" + address + ",我今年" + age + "了,我的邮箱是" + email + ",我的工资" + money);
Console.ReadKey();
2、
1 int age = 18; 2 3 age = 81; 4 Console.WriteLine("你原来" + age + "岁了吗!"); 5 Console.ReadKey(); |
9、占位符
使用方法:先挖个坑,再填个坑。
使用占位符需要注意的地方:
1、你挖了几个坑,就应该填几个坑,如果你多填了,没效果。
如果你少填了,抛异常。
2、输出顺序:按照挖坑的顺序输出。
也就是说如果是{0} {2} {1}输出就是10 30 20
1 int n1 = 10; 2 int n2 = 20; 3 int n3 = 30; 4 5 Console.WriteLine("第一个数字是{0},第二个数字是{1},第三个数字是{2}", n1, n2, n3); |
10、异常
异常是指:语法上并没有任何错误,只不过在程序运行的期间,由于某些原因出现了问题,
使程序不能再正常的运行。
练习
- 3.定义四个变量,分别存储一个人的姓名、性别(Gender)、年龄、电话(TelephoneNumber)。然后打印在屏幕上 (我叫X,我今年 X岁了,我是X生,我的电话是XX)(电话号用什么类型,如:010-12345)
- 4.在屏幕上显示我家在…今年..岁了,我的姓名是..
- 请定义变量存储上面的值,并显示在屏幕上.
- 5.定义两个变量如:number1,number2分别赋值为10和5,写程序交换两个变量的值(两种方法都掌握)
1 方法一 2 int n1 = 10; 3 int n2 = 5; 4 5 int temp = n1; 6 7 n1 = n2; 8 n2 = temp; 9 10 方法二 不使用第三方变量 11 int n1 = 50; 12 int n2 = 30; 13 ni = 50 n2 = 30 14 15 n1 = n1 - n2;//n1=20 n2=30 16 n2 = n1 + n2;//n1=20 n2=50 17 n1 = n2 - n1; 18 19 Console.WriteLine("第一个数是{0},第二个数是{1}", n1, n2); 20 Console.ReadKey(); |
用户输入命令
Console.ReadLine()
注意:输入的只能存在string里边
练习:请用户输入姓名性别年龄,当用户按下某个键子后在屏幕上显示:您好:XX您的年龄是XX是个X生
1 Console.WriteLine("请输入你的姓名"); 2 string name = Console.ReadLine(); 3 4 Console.WriteLine("请输入你的性别"); 5 string gender = Console.ReadLine(); 6 7 Console.WriteLine("请输入你的年龄"); 8 string age = Console.ReadLine(); 9 10 Console.WriteLine("您好:{0}您的年龄是{1}是个{2}生", name, age, gender); 11 Console.ReadKey(); |
11、转义符
转义符指的就是一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符。
\n:表示换行
\":表示一个英文半角的双引号
\t:表示一个tab键的空格
\b:表示一个退格键,放到字符串的两边没有效果。
\r\n:windows操作系统不认识\n,只认识\r\n
\\:表示一个\ 通常在存地址的时候使用
也可以在之前添加一个@来取消\的转义作用
@符号
1、取消\在字符串中的转义作用,使其单纯的表示为一个'\'
1 string path = @"G:\文档\团\文件\16机制2“校园之星”\学习之星王晶"; |
2、将字符串按照编辑的原格式输出
1 Console.WriteLine(@"孤帆远影碧空尽 2 唯见长江天际流"); |
13、算数运算符 算式表达式四
+
-
*
/
%取余
两个int类型取余还是int类型
14、类型转换
隐式类型转换:
我们要求等号两遍参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生
自动类型转换,或者称之为隐式类型转换。
两种类型兼容
例如:int 和 double 兼容(都是数字类型)
目标类型大于源类型
例如:double > int 小的转大的
1 int number = 10; 2 double d = number; //自动类型转换 隐式类型转换 |
显示类型转换:
1、两种类型相兼容 int--double
2、大的转成小的 double----int
语法:
(待转换的类型)要转换的值;
1 double d = 303.6; 2 int n = (int)d; |
大类型是相同得类型 数值型
总结:
自动类型转换:int---->double
显示类型转换:double--->int
15、类型转换
如果一个操作数为double型,则整个表达式可提升为double型
1 int n1 = 10; 2 int n2 = 3; 3 //double d = n1 / n2; //此时输出还是3 4 double d = n1 * 1.0 / n2; //这样就是3.3333333 此时将一个整数类型提升为d类型 5 Console.WriteLine(d); |
1 double n1 = 5; 2 int n2 = 2; 3 double d = n1 / n2;
4 Console.WriteLine(d); //输出是2 |
1 int n1 = 10; 2 int n2 = 3; 3 double d = n1 * 1.0 / n2; 4 Console.WriteLine("{0:0.00}", d); //保留两位小数 |
20平
20平 4 5平
两道练习
练习,编程实现计算几天(如46天)是几周零几 天.
练习:编程实现107653秒是几天几小时几分钟几秒?
修改上面的题目,让用户输入.
1 //练习,编程实现计算几天(如46天)是几周零几 天. 3 int Week = Day / 7; 4 int Day = 46 - Week * 7; 5 Console.WriteLine("46天是{0}周零{1}天", Week, Day); |
改进方法
Days % 7
1 int Seconds = 107653; 2 int Day = Seconds / 86400; 3 int Hour = (107653 - Day * 86400) / 3600; 4 int Minute = (107653 - Day * 86400 - Hour * 3600) / 60; 5 int Seconds1 = (107653 - Day * 86400 - Hour * 3600 - Minute * 60); 6 7 Console.WriteLine("107653是{0}天{1}小时{2}分{3}秒", Day, Hour, Minute, Seconds1); |
改进 要灵活运用取余
1 int seconds = 107653; 2 int days = seconds / 86400; //天数 3 int secs = seconds % 86400; //剩余天数 4 int hours = secs / 3600; //小时数 5 secs = secs % 3600; //取小时之后剩余的秒数 6 int mins = secs / 60; //分钟数 7 secs = secs % 60; 8 Console.WriteLine("107653是{0}天{1}小时{2}分{3}秒", days, hours, mins, secs); |