黑马程序员java培训就业班笔记:day03总结.doc_第1页
黑马程序员java培训就业班笔记:day03总结.doc_第2页
黑马程序员java培训就业班笔记:day03总结.doc_第3页
黑马程序员java培训就业班笔记:day03总结.doc_第4页
黑马程序员java培训就业班笔记:day03总结.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Day03知识总结:上午:1、 逻辑运算符:就是指的是一种关系,作用:用于连接两个布尔类型的表达式包括以下几种:&:与,特点:两边为真才为真,一边为假则为假| 或,特点:一边为真则为真,两边为假才为假! 非,特点:非真为假,非假为真 异或 特点:同为假,异为真 规律:一个数同时异或这个数两次结果还是这个数。用于加密& 双与 特点:与&一样,但是有点小区别,在下面单独讨论。| 双或 特点:与|一样,但是有点小区别,在下面单独讨论。:右移:规律:右移几位就是除以2的几次方注意对于左移和右移中高位的问题,总结为一句话:简单一句话:最高是什么就拿什么补,高位为0就拿0补,高位为1就拿1补;:无符号右移:区别于就是高位出现的空位,无论高位原来是什么都用0补;2、 &与&的区别:共同点:二者都可以作为逻辑与的运算符,表示逻辑与,不同点:&有短路的功能,如果第一个表达式为false时,不需要进行第二个表达式的运算,当&操作符两边的表达式不是boolean类型时,表示按位与操作。Eg:我们通常使用0x0f来与一个整数进行&运算,获取低四位;3、 |和|的区别: |:无论左边的运算结果是什么,右边都参与运算。 |:当左边为真时,右边不参与运算的。4、 练习题:1、 最有效率的方式算出2乘以8等于几?2*8:在内存中的运算 0010 * 1000 - 0000 0000 00000010-0010000=16;想要运算变的高效首先2进制位;00000000000000000000000000000010 2-左移三位2、 对两个整数变量进行互换;不定义三方变量;(用三种方式)int a=3,b=5;a=a+b;/a=3+5; a=8b=a-b;/b=3+5-5;b=3a=a-b;/a=3+5-3;a=5这种方法不建议用,如果两个整数的数值过大,会超出Int范围,会强制转换,数据会变化a=ab;/a=35b=ab;/b=(35)5;b=3a=ab;/a=(35)3;a=5以上方式用于面试第三方变量:int cc=a;a=b;b=c;实际开发中用此种方式; 3、对于一个整数的最后一个字节,高四位和低四位进行换位;(画出图)思路:1、首先用该数与1进行与保证唯一的有效位;0000-0000 0000-0000 0000-0000 1011-01100000-0000 0000-0000 0000-0000 1111-1111-0000-0000 0000-0000 0000-0000 1011-0110再用得到的与&15进行与运算0101 1100& 1111 - 低位b: 0000 1100用位运算&15取出低四位; 0101 1100&1111 0000 0x0f4;高位左移4位b4;最后或运算保留有效位c|b;int a,b(低位),c(高位);a=a&0xFF;b=a&0x0f;c=a&(0xof4);b=b4;a=b|c;用在加密解密当中;5、 三元运算符:特点:只要是运算符就得有结果。三元运算符就是if else的简单格式,好处就是简单,但是有局限性:Eg:b=a1?sop(100):sop(200);三元运算符就是一个运算符,必须要有结果,像上面没有结果是不行的,然而if else是可以没有结果的,当if else运算后,有一个具体的结果时,可以简化为三元运算符。这也是三元运算符和if esle的区别;6、 流程控制语句:1、 if的三种格式:if(条件表达式)执行语句;if(条件表达式)执行语句Else执行语句 If(条件表达式)执行语句Else if(条件表达式)执行语句Else执行语句此处要注意的一些细节:if else和三元运算符的转换,以及大括号的取舍。7、 局部代码块:可以定义局部变量的生命周期,决定它什么时候存在;作用:优化内存,当此代码块作用完之后释放,不占内存空间。扩展:局部变量和成员变量: 在一个函数或者代码块中里定义的变量为局部变量,局部变量在函数或者代码块被执行时创建,在函数或者代码块结束时被销毁,局部变量在进行取值操作前必须被初始化或者进行赋值操作,Java中局部变量和成员变量的区别:成员变量:作为类的成员而存在,直接存在于类中;可以被public protect private、static等修饰,而局部变量不可以,两者都可以定义成final型。存在于堆中,局部变量:作为方法或者代码块里面的成员存在,存在方法的参数列表和方法定义中,在使用前必须被程序员主动初始化,成员变量则会被系统提供一个默认的初始值,所以在语法上,类的成员变量可以定义后直接使用,局部变量定义后先要赋值,然后才能使用,存在于栈中存储时间不同,局部变量只存在于代码块或者方法内,而全局变量则存在于这个类中。8、 switch语句:格式:switch(表达式)case取值1:/case备选执行语句;break;/跳出case取值2:执行语句;break;.default:/缺省或者默认;执行语句;break;特点:、1、选择的数据类型有限;byte、 short 、int、char;2、里面的是无序的,case和defaualt都可以,但是执行顺序是先读第一个case;3、结束switch语句的两种情况:遇到break,执行到switch语句结束。4、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。9、if与switch的应用:If:1、对具体的值进行判断。2、 对区间进行判断。3、 对运算结果是boolean类型表达式进行判断。Switch:1、 对具体的值进行判断。2、 值得个数通常是固定的。对于几个固定的值进行判断,建议使用swtich语句,因为Switch语句将具体的答案加载进内存中,效率会高些;10、 循环语句:While:While(条件表达式)执行语句;控制循环次数;说特点:先判断条件,只有条件满足才执行循环体。与if控制语句的区别:int x=1; if(x3) System.out.println(x=+x); int x=1; while(x3) System.out.println(x=+x); 上面两者的区别:if控制的语句,首先在内存中开辟异空间,变量为X ,赋值为1,if控制语句判断,X3.d正确,打印X只判断一次,当条件满足就打印释放内存,while控制语句,为循环,会无限循环下去.。与do while的区别:do while:先执行循环体,再判断条件,条件满足再继续执行循环体;简单一句话:do while条件是否满足,循环体至少执行一次。语句结束:要么是大括号,要么是分号,注意do while的while后面的分号。与for的区别:for(int x=0;x3;x+)System.out.println(x=+x);System.out.println(x=+x);/编译出错int y=0;while(y3)System.out.println(y=+y);y+;System.out.println(y=+y);上面两者的区别:变量的作用域的问题,for循环当中编译不能通过,因为变量的作用于只能在相对应的区域起作用,超出了代码块就不行,下面的可以,因为变量定义在while的外面;当while结束后变量还存在内存当中,如果变量仅仅作为控制循环增量存在就用for循环,因为循环结束后变量在内存中释放;相对优化内存特点:1、for与while是可以互换的;2、格式上的不同,在使用上有点小区别。如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就出来了。总结:1、变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有限for语句执行完毕,该变量在内存中被释放2、for和while可以进行互换,如果需要定义循环增量,用for更为合适什么时候使用循环结构?当要对某些语句执行很多次时,就使用循环结构;当对一个条件进行一次判断时,可以使用if语句。当对一个条件进行多次判断时。可以使用while语句。11、 转义字符:通过来转变后面字母或者符号的含义。n:换行。在linux中只有n.b:退格 相当于backspacer:按下回车键;window系统中,回车符是有两个字符来表示的,rn.不操作系统对应的符号是不一样的。t:制表符 相当于tab键。eg:hello 结果是带双引号的hellohello 结果为带斜线的hellochar c=你;char类型中能否装中文,因为一个中文两个字节,而char类型也是两个字节;作用:总的说来,今天从运算符到循环控制语句,课程内容较多,较杂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论