A2第8节枚举类型第二章第8节 1、有一些数据是开放性范围的,比如int、float、String。有些数据可选值是有限取值范围的,比如星座、月份名、方向,如果用1/2/3/4代表东南西北,那万一设置了8怎么办?
2、枚举是一种定义确定取值范围的特殊类型语法:
enum Dir
{
East,West,North,South;
}
3、使用Dir d = Dir.East;
A2第9节基本运算符(余、自增自减、字符串)
第二章第9节 1、运算符就是加 (+) 减( -)乘(*)除(/)等符号,英文键盘输入×÷很麻烦,所以用* /表示乘除。
2、求余数运算符“%”:3%4为3、5%5为0、22%7为1。
3、自增:++是对一个变量进行自增运算
int x=3;
x++; Console.WriteLine(x); --------------------------------------------------结果x==4 自减:--
4、+还可以用来对字符串进行拼接:"abc"+"cde"--------------------------结果abccde
5、+还可以与其他类型拼接:"hello"+5----------------------------------------结果hello5
6、(1)"hello"+5+5、(2)"hello"+(5+5)、(3)5+5+"hello"的区别。 结果(1)hello55
(2)hello10 (3)10hello
7、表达式 从左向右 扫描进行扫描运算,一旦遇上一个字符串,之后的运算就变成字符串了。--------------方法。
8、提问:3+5+"hello"+5+3 结果是---------------------------------------------------8hello53 9、Console.WriteLine("i1="+i1+";i2="+i2); 这里主要是字符串相加的问题,首先输出字符串 i1= 再输出 Convert.ToString(i1) 再输出 ;i2 再输出Convert.ToString(i2) 最后结果------------------------------------------------------------------------- i1=5 ; i2=6
A2第10节赋值运算符和实现加法计算器
第二章第10节 1、左边只能有一个变量,而且左边必须是变量 2、计算器WinForm 1,拖控件(一个button 、两个label、两个textbox) 2,对button双击写事件 3,result 4,获得输入的文本信息 5,选中button按钮,切换到闪电标志选中click 6,对click事件写方法 7, { string s1=txtNum1.Text; string s2=txtNum2.Text; string s=s1+s2; labelResult.Text=s; }
8,将输入的字符串转化为整数相加 { string s1=txtNum1.Text; string s2=txtNum2.Text; int i1=Convert.ToInt32(s1); int i2=Convert.ToInt32(s2); int result=i1+i2; labelResult.Text=Convert.ToString(result) / /result.ToString(); / /result整型值转化为字符串类型 }
A2第11节作业变量的复制传递和交换两个变量的值
第二章第11节 作业: int i=3; int j=5; i=i+j; j=i-j; i=i-j; 分析为什么??
解: int i=3; int j=5; i=i+j; // i=8,j=5 j=i-j; // j=3,i=8 i=i-j; // i=5,j=3
-----over!!
A2第12节关系运算符和运算符优先级
第12节 =是赋值,==是判断
==,!=,>=,<= 运算符优先级 可读性高的是重要的 代码不仅要自己看得懂,被人也要看的懂才行
A2第13节赋值表达式也有值
第二章第13节 例1: int a=3; int b=4; console.writeline(a==b);//--------------------------------结果false console.writeline(a=b);//----------------------------------结果4(赋值的结果) 方法:赋值运算本省也是一个值,这个值就是赋值之后左边的值。
例2: int a=3; int b=4; int i=(a=b)+3; console.writeline(i);//-----------------------------------------结果7
例3: bool b1=true; bool b2=false; bool b3=(b1=b2); console.writeline(b3); console.readkey();//------------------------------------------结果False 自增与自减
例4: int i=10; i++; console.writeline(i)//-----------------------------------------结果11
int i=10; ++i; console.writeline(i)//-----------------------------------------结果11
int i=10; console.writeline(++i);//-------------------------------------结果11 分析:i是先自增,再赋值,该结果显示的是自增后的值
console.writeline(i++);//-------------------------------------结果10 分析:i是先赋值,再自增,该结果显示的是赋值前的值
A2第15节逻辑运算符(与或非)
第15节 &&:一真则真 (二元运算) ||:全假为假 (二元运算) !:一元运算符,取反,真的变假,假的变真。
A2第二章第16节逻辑运算符的短路问题
第二章第16节 例子:int i=8; bool b=(i>10)&&((i=i+5)>10); console.writeline(b);//-------------------------------------结果False console.writeline(i);//--------------------------------------结果8 ()短路运算() 结论:&&当第一个为false的时候,整个运算结果一定是false,就没必要算第二个了
例子 int i=8; bool b=(i<10)||((i=i+5)>10); console.writeline(b);//-------------------------------------结果True console.writeline(i);//--------------------------------------结果8 ()也是短路运算() &&当第一个为true的时候,整个运算结果一定是true,就没必要算第二个了
A2第17节三元运算符
第17节 条件表达式?表达式1:表达式2 真则是表达式1,假则是表达式2
练习:输出i是否为偶数 解:console,writeline((i%2)==0?"i是偶数":"i不是偶数")
例子:判断性别为男或者是女 解:bool gender=true; console.writeline(gender?"男":"女");
例子:判断w是否为8 解:int w=8; bool b=(w=8); console.writeline(b); //--------------------------------------------------------------结果True
A2第18节if简介
第18节 if(表达式为真) { 语句; }
A2第19节if易错点
第19节 1、使用if没有用{},则第一个“ ;”的语句就是if执行的语句、 切记:if语句的大括号中只有一句话,那么可以省略大括号(--------------------最好不要这样写--------------) ((面试看重这个)) 2、任何代码都可以加入大括号{},只是当做一个作用域来使用 该作用域内的变量,在大括号外边不可以使用。 大括号括起来的代码可以称作为代码块 3、if(条件表达式) ; //此时的--------- ; ---------相当于加入了一个空代码{}。 { 语句; } 4、int i=10; if(i==10) /* //这里注意是两个等号,否则会报错,因为在c#中if表达式只能是bool,不能是int等。 //if(i=10)此时报错,因为条件语句不是bool类型,i=10.其实就是一个赋值语句,它只不过是取用的左边的数值,整体上来说,还是一个int类型 */ { 语句; }
5、 bool i=true; if(i=false) /* 但是并不是说这里就是只能用两个等号了,一个等号还是会用到 */ { 语句; }
A2第20节else子句
第20节 1、if(条件表达式) { 语句1;//条件表达式为真时候执行 };//切记这里不可以加入分号,否则if语句将会终止,不在进行else 语句了 else { 语句2;//条件表达式为假时候执行 }
A2第21节elseif及练习
第21节 else if if(条件表达式1) { } else if(条件表达式2) { } else if(条件表达式3) { } else if(条件表达式4) { } ....... else//可以不用最后的else建议加上,更加严谨 { }
A2第25节switchcase
第25节 1、case中没有代码,则可以不写break,执行时会直接执行下边的语句 switch(表达式) { case取值1; case取值2; case取值3; //语句; break; case取值4; case取值5; case取值6; //语句; break; ....... default: //语句; break } 2、 switch(表达式) { case取值1; //语句; break; case取值2; //语句; break; case取值3; //语句; break; case取值4; //语句; break; ....... efault: //语句; break } 4、表达式可以是byte ,short、int、char、string、枚举类型。 5、break意味着switch的结束,default相当于if的else,,当所有的case都不匹配时候,执行default 6、多个switch条件合并的问题;当多个case条件的代码一样的情况下,可以合并,最后加上一个break; 7、当进行单个离散值判断的时候,switch可以用来替代if。 switch能做的if都能做,反之不一定。