A2第8节枚举类型
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都能做,反之不一定。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号