爱收集资源网

抓住异常,轻松应对(2015年4月14日)

网络整理 2023-10-29 03:05

异常捕获

使用异常捕获可以捕获出现异常的代码块,避免由于异常抛出引起的程序卡死的情况发生。

try{}catch{}finally{}结构

//异常捕获

try

stringstr=Console.ReadLine();

inti=int.Parse(str);

Console.WriteLine("输入的字符串数值转为int的数值"+i);

}catch

Console.WriteLine("请输入合法数字");

}finally

//无论正常执行还是是否进行异常捕获就会执行

Console.WriteLine("执行完毕");

运算符

算术运算符

算术运算符是英文数值类型变量运算的运算符,运算结果依然为数值。

形参运算符:=

注意:形参运算符理解将右侧数值形参给右侧变量。

算术运算符:

//算术数运算符

//加+

inti1=5;

intsum=1+2+3+i1*2;

//减-

intj1=6;

intsub=15-j1-2;

//乘*

intc=5;

intc1=5*c;

//除/

intd=28;

intd1=d/4;

//取模(取余)%

inte=12;

e=e%5;

Console.WriteLine(e);

算术运算符的优先级

乘除取余>加减

inta=1+2*3/2+1+2*3;//=11

Console.WriteLine(a);

a=1+4%2*3/2+1;//2

Console.WriteLine(a);

//括弧可以改变优先级优先估算括弧内内容

a=1+4%(2*3/2)+1;//3

Console.WriteLine(a);

//多组括弧先算最里层括弧依次往外算

a=1+(4%(2*(3/2)))+1;//2

Console.WriteLine(a);

复合运算符

+=-=*=/=%=相当于对自身进行某项算术操作以后的结果重新赋给自己

//符合运算符

inti3=1;

i3=i3+2;

Console.WriteLine(i3);

i3=1;

i3+=2;//i3=i3+2;

Console.WriteLine(i3);

i3=2;

i3+=2;//4

i3-=2;//2

i3/=2;//1

i3*=2;//2

i3%=2;//0

Console.WriteLine(i3);

inti4=10;

//i4+=4

i4+=20*2/10;

Console.WriteLine(i4);

//注意:复合运算符只能进行一种运算不能混和运算

//i4*/-=2;

自增/减运算符

注意理解后置还是前置的运算符,区别先用后自增/减还是先自增/减再使用。

可以理解为电击小子打怪物,小光先化身成电击小子打怪兽还是打完怪兽再化身。

//自增运算符

//自增运算符让自己+1

a2=1;

a2++;//先用再加

Console.WriteLine(a2);

++a2;//先加再用

Console.WriteLine(a2);

a2=1;

Console.WriteLine(a2++);//1

//2

Console.WriteLine(++a2);//3

//自减运算符让自己-1

a2=1;

a2--;//先用再减

--a2;//先减再用

a2=1;

Console.WriteLine(a2--);//1

//0

Console.WriteLine(--a2);//-1

//思索?这个

inta=10,b=20;

//11+20

intnumber1=++a+b;

Console.WriteLine(number1);//31

a=10;

b=20;

//10+20

intnumber2=a+b++;

Console.WriteLine(number2);//30

a=10;

b=20;

//10+21+11

intnumber3=a+++++b+a++;

Console.WriteLine(number3);//42

Console.WriteLine(a);//12

字符串的拼接

使用+拼接

stringstr="123";

//用+号进行字符串拼接

str=str+"456";

Console.WriteLine(str);

str=str+1;

Console.WriteLine(str);

//使用+=

str="123";

str+="1"+4+true;

Console.WriteLine(str);

//注意:只要碰到字符串,就是转为字符串

stringstr="畅知";

str+=1+2+3+4;

Console.WriteLine(str);//畅知10

str="";

str+=""+1+2+3+4;//开头就变为字符串

Console.WriteLine(str);//1234

str="";

str+=1+2+""+(3+4);//先算括弧,从首到尾估算

Console.WriteLine(str);//37

str="123";

str=str+(1+2+3);

Console.WriteLine(str);//1236

使用占位符替换方法拼接(占位符从0开始,用{}括上去)

stringstr2=string.Format("我是{0},我去年{1}岁,爱好:{2}","畅知",21,"我爱写博客!!");

Console.WriteLine(str2);

str2=string.Format("asdf{0},{1},sdfasdf{2}",1,true,false);

Console.WriteLine(str2);

条件运算符

条件运算符均为双目运算符,返回结果为bool类型的,使用其运算结果来做个别情况的判别。

条件运算符的优先级要高于算术运算符

//条件运算符

inta=5;

intb=10;

//小于

boolresult=a>b;

Console.WriteLine(result);

//大于

result=a

Console.WriteLine(result);

//小于等于

result=a>=b;

Console.WriteLine(result);

//大于等于

result=a5;

js中运算符的优先级_js中运算符的优先级_js中运算符的优先级

//优先级

//先估算再比较

result=a+3>a-2+3;//true

result=3+3<5-1;//false

//不同类型之间的比较

//不同数值类型之间可以随便进行条件运算符比较

inti=5;

floatf=1.2f;

doubled=12.4;

shorts=2;

byteby=20;

uintui=666;

//只要是数值就才能进行条件运算符比较比较小于大于等于等等

inti=5;

floatf=1.2f;

doubled=12.4;

shorts=2;

byteby=20;

uintui=666;

boolresult;

//只要是数值就才能进行条件运算符比较比较小于大于等于等等

result=i>f;//true

Console.WriteLine(result);

result=f

Console.WriteLine(result);

result=i>by;//false

Console.WriteLine(result);

result=f>ui;//false

Console.WriteLine(result);

result=ui>d;//true

Console.WriteLine(result);

//特殊类型charstringbool只能同类型进行==和!=比较

stringstr="123";

charc='A';

boolbo=true;

result=str=="234";//false

result=str=="123";//true

result=str!="123";//false

result=c=='B';//false

//除了可以和自己类型进行==!=还可以和数值类型进行比较

//字符参与比较大小时侯将自身作为ASCII码比较

//还可以和字符类型进行大小比较

result=c>123;

result=c>'B';

result=bo==true;//true;

逻辑运算符

逻辑与&逻辑或||逻辑非!

逻辑运算符优先级<条件运算符算术运算

条件运算符均为双目运算符,返回结果为bool类型的js中运算符的优先级,使用其运算结果来做个别情况的判别。

条件运算符的优先级要高于算术运算符

//条件运算符

inta=5;

intb=10;

//小于

boolresult=a>b;

Console.WriteLine(result);

//大于

result=a

Console.WriteLine(result);

//小于等于

result=a>=b;

Console.WriteLine(result);

//大于等于

result=a5;

//优先级

//先估算再比较

result=a+3>a-2+3;//true

result=3+3<5-1;//false

//不同类型之间的比较

//不同数值类型之间可以随便进行条件运算符比较

inti=5;

floatf=1.2f;

doubled=12.4;

shorts=2;

byteby=20;

uintui=666;

//只要是数值就才能进行条件运算符比较比较小于大于等于等等

inti=5;

floatf=1.2f;

doubled=12.4;

shorts=2;

byteby=20;

uintui=666;

boolresult;

//只要是数值就才能进行条件运算符比较比较小于大于等于等等

result=i>f;//true

Console.WriteLine(result);

result=f

Console.WriteLine(result);

result=i>by;//false

Console.WriteLine(result);

result=f>ui;//false

Console.WriteLine(result);

result=ui>d;//true

Console.WriteLine(result);

//特殊类型charstringbool只能同类型进行==和!=比较

stringstr="123";

charc='A';

boolbo=true;

result=str=="234";//false

result=str=="123";//true

result=str!="123";//false

result=c=='B';//false

//除了可以和自己类型进行==!=还可以和数值类型进行比较

//字符参与比较大小时侯将自身作为ASCII码比较

//还可以和字符类型进行大小比较

result=c>123;

result=c>'B';

result=bo==true;//true;

逻辑运算符

逻辑与&逻辑或||逻辑非!

逻辑运算符优先级<条件运算符算术运算

逻辑运算符中:!(逻辑非)优先级最高&&(逻辑与)优先级低于||(逻辑或)

//逻辑运算符

//逻辑与&&而且

//规则:对两个bool值进行逻辑运算有假则假同真为真

boolresult=true&&false;

Console.WriteLine(result);

result=true&&true;

Console.WriteLine(result);

result=false&&true;

Console.WriteLine(result);

//bool相关的类型bool变量条件运算符

//逻辑运算符优先级高于条件运算符算术运算

//true&&true

result=3>1&&1<2;

Console.WriteLine(result);

inti=3;

//1

//true&&true

result=i>1&&i<5;

Console.WriteLine(result);

//多个逻辑与组合运用

inti2=5;

//true&&false&&true&&true

//在没有括弧的情况下从左到右依次看即可

//有括弧先看括弧内

result=i2>1&&i2<5&&i>1&&i<5;

Console.WriteLine(result);

//符号||或则

//规则对两个bool值进行逻辑运算有真则真同假为假

result=true||false;

Console.WriteLine(result);

result=true||true;

Console.WriteLine(result);

result=false||true;

Console.WriteLine(result);

result=false||false;

Console.WriteLine(result);

//false||true

result=3>10||3<5;

Console.WriteLine(result);//true

inta=5;

intb=11;

//true||true||false

js中运算符的优先级_js中运算符的优先级_js中运算符的优先级

result=a>1||b<20||a>5;

Console.WriteLine(result);

//?可以是写死的bool变量或则bool值

//还可以是条件运算符相关

//----------逻辑非!

//符号!

//规则对一个bool值进行取反真变假假变真

result=!true;

Console.WriteLine(result);

result=!false;

Console.WriteLine(result);

result=!!true;

Console.WriteLine(result);

//逻辑非的优先级较高

result=!(3>2);

Console.WriteLine(result);

a=5;

result=!(a>5);

Console.WriteLine(result);

//混和使用逻辑运算符的优先级问题

//规则!(逻辑非)优先级最高&&(逻辑与)优先级低于||(逻辑或)

//逻辑运算符优先级高于算数运算符条件运算符(逻辑非除外)

boolgameOver=false;

inthp=100;

boolisDead=false;

boolisMustOver=true;

//false||false&&true||true;

//false||false||true;

result=gameOver||hp<0&&!isDead||isMustOver;

Console.WriteLine(result);

逻辑运算符的漏电原则(聪明的运算符)

//漏电原则

//||判定原则为有真则真所以第一个条件判定为真,则直接可以得出运算结果为真便不会检测第二个

//个运算条件的真伪

//同理,&&若右侧条件为假,则不会判定一侧条件,直接可以得出运算结果为假

//逻辑或有真则真那一侧只要为真了左边就不重要

inti3=1;

boolresult=i3>0||++i3>=1;

Console.WriteLine(i3);//1

Console.WriteLine(result);

//false&&i3++>1;抛弃前面不去估算

//逻辑与有假则假那一侧只要为假了左边就不重要

result=i3<0&&i3++>1;

Console.WriteLine(i3);//1

Console.WriteLine(result);

//思索?

//求复印结果是哪些?

//注意运算符的优先级

boolgameOver;

boolisWin;

inthealth=100;

gameOver=true;

isWin=false;

//true||false&&true

Console.Write(gameOver||isWin&&health>0);

位运算符

位运算是基于二补码编码的运算js中运算符的优先级,首先将值转换为二补码数值,之后对于位进行操作运算。

运算符:位与&位或|异或^位或|位取反!左移>

//位运算符

//位与&有0则0全1才1

//对位运算有0则0

inta=1;//001

intb=5;//101

//001

//&101

//001=1

intc=a&b;

Console.WriteLine(c);

//多个数值进行位运算没有括弧时从左到右依次估算

a=1;//001

b=5;//101

c=19;//10011

//00001

//&00101

//00001

//&10011

//00001

intd=a&b&c;

Console.WriteLine(d);

//位或|有1则1,全0则0

a=1;//001

b=3;//011

c=a|b;

//001

//|011

//011

Console.WriteLine(c);

a=5;//101

b=10;//1010

c=20;//10100

//00101

//|01010

//01111

//|10100

//11111=>1+2+4+8+16=31

Console.WriteLine(a|b|c);

//异或^=======

//不同为1相同为0

//对位运算相同为0不同为1

a=1;//001

b=5;//101

//001

//^101

//100

c=a^b;

Console.WriteLine(c);

a=10;//1010

b=11;//1011

c=4;//100

//1010

//^1011

//0001

//^0100

//0101=5

Console.WriteLine(a^b^c);

//位取反~取反

//对位运算0变11变0

a=5;

//00000000000000000000000000000101

//11111111111111111111111111111010

//原码进制知识

//计算机中的二补码是以进制方式储存的

//进制:负数的反码是本身正数的进制是绝对值取反加一

c=~a;

Console.WriteLine(c);

//左移右移

//规则让一个数的2补码数进行左移和右移

//左移几位左侧加几个0

a=5;//101

c=a>2;

//1位10

//2位1

Console.WriteLine(c);

//练习----

//99^33和76|85的结果为?

//1100011^100001

//1100011

//^0100001

//1000010

Console.WriteLine(99^33);

//1001100|1010101

//1001100

//|1010101

//1011101=>64+29=93

Console.WriteLine(76|85);

三目运算符

条件?A:B条件为真则走A逻辑否则走B

//三目运算符

inta=5;

str=a<1?"a小于1":"a不满条件";

Console.WriteLine(str);

inti=a>1?123:234;

//第一个空位仍然是结果为bool类型的表达式bool变量条件表达式逻辑运算符表达式

//第二三个空位哪些表达式都可以只要保证她们的结果类型是一致的

boolb=a>1?a>6:!false;

======

js中运算符的优先级
上一篇:逼真到令人难以分辨的app 下一篇:没有了