标签:团队 %x ima 除了 精确 int 菜单栏 console 类型
今天接着给大家讲讲web前端的基础知识。
数据运算案例分析:变量值的复制——讲数据复制到另一个变量中去
变量的自增或自减——在原有的基础上进行增加或减少
eg:int a=1;
a=a+5------自增
a=a-4-------自减
多个数据的运算——至少2个及以上的数据进行运算
(注意每一步运算的返回类型)
eg:1、int x=1,y=2;
x=x+y
x=x-1
其中:x=x+y与x=x-1可以合并写为——x=x+y-1
下面再来看几个例子:
2、int x=1+1.3+2;
int x=1+"1"+2;
你觉得上面写的代码正确吗?为什么?
答案是不正确。 因为int类型是一个整数,他的返回结果肯定也是int类型的,但是1.3是一个小数,double无法赋值给int,因此不能转换为int类型。同理,"1"是string类型的,也无法直接转换为int类型,所以下面一个代码也是错误的。那么怎么改才正确呢?要么就是把1.3和"1"换成整数,要么就把前面的int分别改为double和string类型的就正确了。
变量值交换——需要第三个量来实现
先来看这一个代码:int x=1,y=2;
x=y;
y=x;你觉得上面这个代码能实现吗?
这肯定是不能实现的,因为上面这个代码它所表达的意思就是把2赋值给x,那么现在的x就不再是1,而是2了,再把x=2赋值给y,此时y就是2了,这明显已经改变了原值,是不能实现它想要的效果。如果给上面这个代码新添加一个量z来实现中间过渡,从而达到想要的效果,如下:
int x=1,y=2;
z=x;
x=y;
y=z;这样写就正确了。
输入语句:在控制台中获取用户输入的内容
作用:程序暂停执行,等待用户输入(闪烁光标处)
代码书写:console.Readline();——string类型
返回类型:string类型
eg:string s=Console.Readline();
——将程序暂停,等待输入
——输入完成后按回车,获取输入的字符串
——将该字符串保留到变量S中
类型转换:把某个类型数据通过转换得到另一个类型的数据
A、任意类型→string
转换代码:待转换的数据.Tostring();————————[待转换的数据:需要转换的数据或变量;.Tostring();是固定写法]
返回类型:string
eg: int a=10;
string b=a;这是一个错误的代码。为什么呢?
因为在这个代码中int无法赋值给string。把下面一个代码改为:string b=a.Tostring();就正确了
B、int与double的相互转换
原则:取值范围小的数字类型————取值范围大的数字类型(隐式转换:不需要额外代码)
取值范围大的数字类型————取值范围小的数字类型(显式转换:需要额外的代码)
隐式转换:double取值范围>int取值范围
显式转换:eg:double a=3.14;
int b=a 错误。
应该是int b=(int)a {问题来了,这里的double是小数,而int是整数,难道int b=3.14? 当然不是,因为int类型只能取整,所以在这里int b只能等于3,小数部分的数字要舍弃掉,不能对其进行四舍五入。因此,显式转换有可能会造成数据丢失。}
C、string→数字类型
string——int:int.parse(待转换的字符串); 返回类型:int
string——double:double.parse(待转换的字符串); 返回类型:double
eg:string str1="1",str2="数字1";
int a=int.parse(str1);——————string→int
double b=double.parse(str2);————string→double
a=int.parse(str2);——————string→int X 无法将"数字1"转换成int
b=double.parse(str2);————string→double X 无法将"数字1"转换成double
a=double.parse(str1);————string→double X 无法将double类型数据赋值给int类型
转义符:在代码中书写一个斜杠(\),用于改变斜杠后出现字符的意义
常见有:\"→双引号 \‘→单引号 \n→换行符 \t→制表符 \\→斜杠\
eg:string pth="c\windows\iis.log"; X
string pth="c\\windows\\iis.log";或string pth=@"c\windows\iis.log"; 【@:表示在接下来的字符串中不会出现转义符】
console.write("你\n好");→你
好
console.writeline("\t你\t好")→ 你 好
数字类型使用原则:1、对于计算精确度要求很高的实数,使用decimal
2、对于内存使用要求苛刻的软件,尽量在保证取值范围的前提下使用占位较少的类型
3、如果没有上述的要求,整数用int,实数用double
代码注释:即使用一些描述语句,让你的代码便于阅读和理解
注释内容,没有任何实质功能,不参与编译,只存在于源代码中
书写代码:单行注释——//注释内容
多行注释——/*注释内容 注释内容*/
文档注释
什么时候使用注释?
代码不易理解、代码非常复杂、代码量大、在团队开发中,会有其他人阅读你的代码
软件中的错误及调试:
A、编译错误(导致源代码无法通过编译): 发现错误——查看VS中的错误列表——菜单栏视图→选中错误列表
解决错误——根据错误提示,做出相应修改
错误特点——易发现,易修改
B、运行错误(在运行中报错):发现错误——在调试模式下运行,并运行到报错的语句
解决错误——根据错误提示,做出相应修改
错误特点——难发现,难修改
C、逻辑错误(运行结果和预期不同):发现错误——仔细核对运行结果,看与预期是否一致
解决错误——使用VS的断点调试,检查每一步的执行结果
错误特点——极难发现,极难修改
运算符的表达式
运算符:即操作符,一个用于运算的符号,作用于一个或多个操作符(操作符:参与运算的数据)
eg:string a="$"+Z*b/c //主函数中的某条语句
分类:数量:一元运算符、二元运算符、三元运算符
功能:算术运算符、逻辑运算符、位运算符、其他
常见小括号():功能:类型转换、改变运算顺序、函数调用
算术运算符:+、-、*、/、%、++、--
++:a、变量名++——1、计算返回结果与变量相同;2、将变量值自增1
b、++变量名——1、计算返回结果,为变量值+1;2、将变量值自增1
--:a、变量名-- ——1、计算返回结果与变量相同;2、将变量值自减1
b、--变量名——1、计算返回结果,为变量值-1;2、将变量值自减1
运算顺序:++、--、→*/%→+-
eg:int x=1
计算x=x+x++-x--*++x/--x%x
得:x=1+1-2*2/1%1=2-0=2
赋值运算符:=、+=、-=、*=、/=、%=
eg:x+=运算代码等效于x=x+(运算代码)
返回结果:与变量值相同
逻辑运算符:==、!=、>、>=、<、<=、&&、||、!、
返回结果:bool类型→true或false (bool表示真和假两种状态 取值范围:true或false)
eg:== int a=1,b=2;
boolc=a==b →a等于b?→false(同理!=、>、>=、<、<=)
&& 两个bool类型进行运算,运算结果:真真为真,其他为假
int a=1,b=2;
bool c=a!=b; →1不等于2
bool d=a>b
bool e=c&&d
false
|| 两个bool类型进行运算,运算结果:假假为假,其他为真
int a=1,b=2;
bool c=a!=b; →1不等于2
bool d=a>b
bool e=c||d
true
! 对一个bool类型数据求反,数据为真,结果为假;数据为假,结果为真
int a=1,b=2;
bool c=a!=b;
bool d=!c →c为真
false
三目运算符:
书写:操作数1?操作数2:操作数3 (操作数1为bool类型;符号为英文状态下模式;操作数2、操作数3为任意类型,但必须相同)
返回结果:若操作数1为真,操作数2则作为返回结果;若操作数为假,操作数3则作为返回结果
eg:int a=3;
int b=a%2; →b=1
bool c=b==0; →c false
string d=c?"偶数":"奇数";
console.writeline(d); →d为奇数
位运算符:用于对数字进行二进制运算
表达式:一条有意义的语句,并且该语句中至少包含一个操作数和操作符
每一个表达式,都有一个返回类型
每个表达式都可以与其他表达式(除了viod-无类型,没有返回结果)进行运算,只要类型符合要求
运算符优先级
使用多个运算符的常见场景
赋值运算:永远最后运行
数学运算:按照数学中的顺序进行(先运行括号,有嵌套则从里到外;再运行乘除求余;最后加减)
标签:团队 %x ima 除了 精确 int 菜单栏 console 类型
原文地址:http://www.cnblogs.com/yuqiuju/p/7636188.html