黑马程序员_变量, 数据类型与表达式

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

1.变量1

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

内存存储正在运行的程序数据,RAM:内存断电,数据丢失

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

变量:代表一块内存空间,可以通过变量名称向内存存取数据。

2.变量2

2.1 在计算机中存一个这数字1000需要二句话

2.2 int a//开一个能放数字的空间

2.3 a=1000//1000放进去

2.4 声明变量的语法格式:

数据类型 变量名;

2.5 赋值:变量名=值;

2.6 可以a=3.14;吗?



3.计算机中的数据

3 3.14 100 the quick brown fox jumps over the lazy dog 张三 李四 True 2012-5-7




int : 3 5 100 -10

double : 3.15 5.12 3.2 -2.3 带有小数点

double pi;

pi = 3.14;

char : 'a' 'A' 'c'

字符型:只能存储一个字符,要在单引号内

char = sex;

sex = '';

string : zhangsan”“李四”

字符串:把0个或者1个或者多个字符连接起来,要在双引号内

string name;

name = "kate";

decimal : 存储金钱5.62

decimal d = 5.55m; m/M:指定5.55decimal类型

4.变量的声明方法

A) 先声明:数据类型 变量名称;

int age;

再赋值: age = 18;

B)  定义时赋值:数据类型 变量名称=值;

int age = 18;

C) 声明多个相同类型的变量,用逗号分隔。

string zsName, lsname, wwname;

变量一定要先声明,再赋值。

练习:

1.定义一个变量pi, 并把3.14存进去,然后显示在屏幕上。

double pi = 3.14;

            Console.WriteLine(pi);

            Console.ReadKey();

2.想想下面代码的输出结果。

int i = 10; Console.WriteLine("i");  i

5.变量的命名规则

5.1 必须以字母 @符号开头 字母包括中文,各国语种

5.2 后面可以跟任意数字,字母,下划线

5.3注意:

5.3.1 变量名不可与C#中关键字重复

5.3.2 C#中,大小写是敏感的

5.3.3 同一函数体内,同一变量名不允许重复定义,可以重复赋值

5.4 变量名要有意义

5.5 C# 变量命名编码规范--Camel 命名法:

首个单词的首字母小写,其余单词首字母大写 string studentNamezsAge

5.6 Pascal命名规范:第一个单词第一个字母都大写 SoftwareName SystemVersion

5.7 如果使用英文单词的缩写,全部用大写

6.赋值运算符与赋值表达式

赋值运算符:=

a=a+1

变量可以重复赋值,一旦赋新的值,老值会被覆盖

int age = 10;

age = 20;

Console.WriteLine(age);

输出20

7.+”在C#中二种意义:

1)做加法运算 参与数据是数字类型

2)连接的意思 参与数据有一个是字符类型



练习:

1.定义三个变量,分别存储一个人的姓名(张三),年龄(28),和工资(7600.33),在屏幕上显示:我叫XX,今天XX岁了,我的工资是XX元。

2.定义一个变量存储一个人的年龄18,然后发现此人不是18,要改成20,最后把这个人的年龄输出到屏幕上。



Console.Writeline("")中,第一个变量/字符串中可以使用占位符

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

1个占位符:{0

2个占位符:{1

3个占位符:{2

。。。

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


3.定义四个变量,分别存储一个人的姓名,性别,年龄,电话。 然后打印在屏幕上。


4.在屏幕上输出:我的手机是philips 型号:998 价格:1500元 重量:0.3kg


5.定义二个变量:如a b分别赋值为10 写程序交换二个参数的值。



8.字符串类型

8.1 再学一句程序:Console.ReadLine(); 用于接收用户输入

要用string 类型变量接收用户输入!

练习1.问用户喜欢吃什么水果,假如用户输入苹果,则显示:哈哈,这么巧呀,我也喜欢吃苹果。


练习2.请用户输入姓名,然后在屏幕上显示:你好,XXX


9.字符串中的转义字符 (属于一个字符)

由 \字符 组成

\n 换行

\b 退格

\t Tab 制表符 同多个空格组成的一个字符,具有行与行之间的对齐功能


\\ 输出一个\

@:在字符串前面

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


2)使字符串可以换行

如果字符串前面加了@,在字符串中用二个双引号代表一个双引号。

10.算术运算符及算术表达式

10.1 算术运算符:+ - * / %(求余,取模)二元运算符

参与运算的操作数必须类型相同!结果与操作数类型相同!

10.2 算术表达式:由算术运算符连接起来的式子,如:1+1 a-b(变量已经提前声明并赋值)

10.3 演示:某学生三门课成绩为:语文:90 数:80 英语:91 编程求总分,平均分


10.4 优先级:先乘除后加减,有括号先算括号里面的,相同级别从左向右算

10.5 小括号可以无限制 套用,但一定要成对出现。

练习:

练习1. 定义二个数分别为1020,打印出二个数的和。



练习2. 计算机半径为5的圆的面积,并打印。注意类型相同


练习3. 恤的价格为35/件,裤子的价格为120/条,小明买了3T恤,2条裤子,计算并显示小明应该付多少钱。

练习4. 假如商店为小明打8.8折,小明应该付多少钱。


11.算术运算符-自动类型转换

a) 下面代码输出的结果是什么

int a = 10, b = 3;

int mod = a %b;

double quo = a / b;

Console.WriteLine(mod);

Console.WriteLine(quo);


12.类型自动转换规则

12.1 参与运算(算术运算和赋值运算)的操作数和结果类型必须一致。

当不一致时,满足下面条件时,系统自动完成类型转换

A)二种类型兼容 如:int double 兼容

B)目标类型大于源类型 如:double >int  小的转向大的不丢失精度

12.2 对于表达式

A)如果一个操作数为double类型,整个表达式可以提升为double类型

B)比如前面打8.8折的习题

C)求10/3求余数想得到3.333的处理 转换一个操作数为double  int*1.0


13.强制类型转换

13.1 如上题中打完8.8折后出现小数,为了结算方便,只收整数部分,如应该收166.78,现在只收用户166,怎么做?


13.2 语法:

(数据类型名)待转换的值;

13.3 如:

int b = (int)3.14;

强制类型转换,数据类型一定要相兼容

需要丢失精度的转换时,系统不会自动转换。

14.类型转换

Convert不再仅是内存级别的转换,而是考虑数据意义的转换,Convert是一个加工改造的过程。

字符串转换成int 类型

int 变量名=Convert.ToInt32(待转换的字符串)

Convert.ToString  每种类型都还有.ToString()的方法.

一切类型都可以转换成string类型。




简化:


15.try-catch的使用 异常捕获

try

{

有可能出现错误的代码;

}

catch

{

如果try 中的代码出现异常,则进去catch 中,无异常则不执行catch中代码

}





16.算术运算符加强

a)++ 自加一 有前加和后加

int age = 18

int sum = age++ - 10

相当于:

int age = 18;

int sum = age - 10;

age = age +1;

int age = 18;

int sum = ++age - 10;

相当于:

int age = 18;

age = age + 1;

int sum = age - 10;

后加时取原值运算,运算后自加1

前加时先自加1,然后运算

运算后,都自加了

b)-- 自减一  有前减和后减

注意:一元运算符++/ -- 比二元+-优先级高

复合赋值运算符:

c) += 自加一个数:age += 3; 相当于age = age + 3;

d) -=

e) *=

f) /=

g) %=

+-*/ 只能运算

改变变量的值的:

=

++/--

+=

-=

*=

/=

%=

17.关系运算符:6个 用于比较二个事物之间的关系

<

==

!=

>=

<=

关系表达式:由关系运算符连接的式子。

大象的重量1500 > 老鼠的重量1

兔子的寿命3 > 乌龟的寿命1000  假命题

39 > 20

我的年龄 20 == 你的年龄20

比大比小的结果是什么?

18.bool类型

abool值只有二个:

真:true

假:false

b)关系表达式的结果是bool类型

c)在计算机中描述张三20岁比李四18岁小,这句话的结果


19.逻辑运算符:&& || 

&& 

|| 

! 非

a)表达式&& 表达式2

&&连接的二个表达式要能够求解成bool类型,一般为关系表达式

整个&&运算的结果也是bool类型

表达式1

表达式2

&&

True

True

True

True

False

False

False

True

False

False

False

False

全为True时结果为True


b)表达式|| 表达式2

表达式1

表达式2

||

True

True

True

True

False

True

False

True

True

False

False

False

只要有一个为True 结果为True


c) 逻辑非:!  一元运算符  取反

(bool类型表达式)

关系运算符 优先级大于 && || 



判别闰年:符合条件之一:

1.年份能够被400整除

2.年份能够被4整除,但是不能被100整除



---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值