A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔晓聪 中级黑马   /  2012-11-18 16:45  /  1495 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用户存储正在运行的程序数据(不准备); RAM:内存

变量:变量代表着一块内存空间,我们可以通过变量名称向内存"存"或者"取"数据,有了
变量就不需要我们记忆复杂内存地址。

向内存申请一块内存空间的语法:
数据类型 变量名;[ int i;]

赋值:变量名=值//把值放进变量名里面

整数在c#中用 int -2147483648到2147483647
浮点类型: float  双 double【精确到15到16位】  decimal(财务)
字符串:string 把0个或1个或多个字符连接起来
字符:char 只能存储一个字符,并且这个字符要用单引号来引用【如:char sex='男'】

整数类型范围:
8-Bit(sbyte,byte)
16-Bit(short,ushort)
32-Bit(int,uint)
64-Bit(long,ulong)


1.234567890123456E+28
E为乘以10的28次方

decimal 【精度28位到29位有效不会丢失】(如102.21m)

注意:在C#开发环境中直接写一个小数(例如52.12)是double类型的
在一个小数后面加一个m/M,就是告诉编译器这是decimal类型

变量声明的3种方法:
1)先声明,再赋值。int a; a=3;
2)定义变量时,直接赋值。 int a=3;
3)一次声明多个同类型变量,多个变量名称之间要用逗号分隔最后以分号结束。 int a,b,c;

【变量一定要先声明,后赋值,最后使用(取值/调用或写这个变量名)】

string name="张三"; int age=18;char sex='男';


变量的命名规则:
1 必须以“字母”_或者@符合开头(不能以数字开头)。【$ban 这个命名也不行】
2 后面可以跟任意"字母"、数字、下划线。
注意:不能与C#关键字同名,大小写敏感,同一变量不能在同个方法内重复定义, 命名不能以特殊符合【如 name$】
Gamel命名法:string studentName;【一般用在于局部变量和方法中定义】
Pascal命名法:string StudentName;【一般用在于全局变量】
如果用的是英文的缩写就全部大写;

变量赋值(=):
int number=10;
number=number+1;
Console.WriteLine(number);

"+"加号在C#中有两种意义:
1、在数学中的加法运算符:两边参加加法运算的数据库类型为数字类型,则在"+"表示数字上的加法的意义。
2、是连接的意思:两边参与加号运算的数据,有一个是字符类型,那么这个"+"号就是连接的意义。

string name="张三";
int age=28;
decimal maney=7600.33m;
Console.WriteLine("我叫"+name+",今天"+age+"我工资是"+maney);
Console.WriteLine("我叫{0},今年{1}岁了,我的工资是{2}",name,age,maney);

int age=18;
age=20;
Console.WriteLine(age);


在Console.WriteLine(""),第一个变量/字符串中科院使用占位符。
占位符有{数字}组成,数字由0开始编号
第1个占位符:{0};
第2个占位符:{1};
第3个占位符:{2};
     ...
Console.WriteLine("我叫{0},今年{1}岁了,我的工资是{2}",name,age,maney);
【占位符可以重复使用】

Console.WriteLine("我叫"+name,"今年"+age+"岁了");-----这句只输出了我叫name;逗号后面没输出;

Console.WriteLine();有多个参数时,输出都是第一个参数中的内容,从第二个参数开始,都是用来替换第一个参数的占位符所以从第二个参数开始,要不要输出,就要看第一个参数有没有相
电话号码用string类型

string name=""
char sex=''
int age=144
sting phone="12121212"

a=10;b=5;
a=a-b;
b=b+a;
a=b-a;


Console.ReadLine();用于上用户从键盘上输入一句话,当程序执行到下面这句话就会暂停,然后等待用户输入一句话,按回车程序将继续执行。如果想得到用户输入内容,就需要定义一个string类型的变量,写在Console.ReadLine();下面,接受用户输入的内容。

string ss=Console.ReadLine();
int sss=int.Parse(Console.ReadLine());


转义字符:
什么时候用?
当我们需要在字符串中输入一些特殊字符时,比如:半角引号,换行,退格.就需要使用转义字符。
转义字符是一个字符,他由一个"\"加一个字母来组成具有特殊意义的一个字符。
输出"" 可以写成:【\"\"】Console.WriteLine("特殊字符\"\"")
常用的转义字符:
\n 换行
\b backspace 退格
\t tab键【有多个空格组成的字符,具有行与行之间对齐功能】Console.WriteLine("1\t2\t3");
\\ 表示"\"
在字符串前面加一个@符号有两种意义:
1)字符串中如果有"\",则不再理解为转义符。
2)使字符串可以换行
Console.Write(@"E:\boycui\收索引擎\txiaoyu\style");直接输出:E:\boycui\收索引擎\txiaoyu\style 没有转义。

如果字符串前面加了@,在字符串上用两个双引号代表一个双引号。
Console.WriteLine(@"E:\boycui\收索引擎""\txiaoyu\style");输出:@"E:\boycui\收索引擎\"txiaoyu\style"


算术运算符及算术表达式
算术运算符:+ - * / %(取余 取模)都是二元运算符。要求:参与运算的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。
再算术表达式中,如果要改变计算的优先级,用小括号可以无限制

double pai=3.14;
double r=5;
double sum =pai*r*r;

参与运算(算术运算和赋值运算)的操作数和结果类型必须一致,当不一致时,满足下面条件时,系统自动完成类型转换【隐式转换】
发生自动转换条件:
参与运算的两种类型兼容:
例如:int 和double兼容(例如数字和数字)
目标类型大于源类型
例如:double>int【必须一边的数据类型表示范围小,一边的示范围大,并且把小的转换向大的不丢失精度】
对于表达式:如果一个操作数位double型,则整个表达式可提升为double型

如果一个表达式有double类型这整个值都是double类型


int a=10;b=3;
double quo=0.1*a/b;
不加0.1的话就直接输出3
【quo 可以显示3.333333..】


在自动转换中,转换时不会丢失精度的。如果丢出精度,那么这个转换肯定不会自动完成

经常见到的就是,参与运算的两个操作数,一个是int,一个是double,那么int类型会自动转换成double类型。


强制类型转换:
当需要丢失精度转换(如从double 3.14到int 3的转换。会丢失0.14的精度)时,系统是不会帮我们自动转换的。需要我们程序员来写代码完成转换,转换的语法为:

(数据类型名)待转换的值;
int i=(int)3.14
转换之后i=3
Math.Round();四舍五入


【注意】:强制类型转换要求待转换的类型和目标类型必须都为数字。
int i=(int)"33" 这样是不行的

字符串转换为数字类型:
语法:int 变量=Convert.ToInt32(待转换字符串);
int i =Convert.ToInt32(Console.ReadLine());
或者:int i=int.Parse(Console.ReadLine());

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马