8.6学习总结

1、进制转换:十进制转二进制。使用取整求余法


2、计算机语言分为
机器语言:全部由1和0组成,可以直接解释为二极管的导通和截止,能被硬件直接执行。
汇编语言:利用助记符编写源文件,执行时将助记符转化为1和0的二进制码。
高级语言:面向操作系统编程,不用用户管理内存和磁盘,所编写的代码由操作系统转化为机器可以执行的二进制码


3、高级语言翻译程序的方式有:编译和解释。java属于解释性语言,由虚拟机解释执行。


4、算法:解决问题的具体方法和步骤。
特征:有穷性(程序在有限步骤内结束)、确定性(执行的每一步含义确切)、有效性(执行的每一步都是可以执行的)、零个或多个输入、一个或多个输出
流程图:以图形化的方式描述算法。掌握流程图图形的含义。


5、结构化程序设计结构有:顺序结构、选择结构、循环结构。掌握三种结构的流程图绘制。


6、程序设计的五个步骤:需求分析、设计、编码实现、调试、维护。


7、程序中常见的错误:语法错误、逻辑错误、运行时错误。


8、java技术平台体系分为:JavaSE(标准版)、javaEE(企业版)、javaME(微型版)。其中javaSE是javaEE和javaME的基础。


9、java语言的特点:简单、面向对象、跨平台、健壮性和安全性、多线程、垃圾回收机制。


10、虚拟机工作流程:编写源文件(*.java)----->编译成字节码文件(*.class)---->类加载----->字节码校验----->解释器------>操作系统


11、JDK叫做java开发工具集。包括java的编译环境、运行环境、调试环境,以及基础类库。
JRE叫做java运行环境。包括虚拟机、核心类库,以及链接文件。JDK包含JRE。


12、java基本语法结构:
class MyTest{
public static void main(String[] args){
……
}
}
程序从main方法开始执行,是程序的入口点。
通过javac 文件名 将*.java编译成*.class。
通过java 类名 执行主类(带main方法的类)
如果类声明为public,要求文件名和类名必须一致。


13、通过import导入类,java.lang.*中的类无需导入。
先加载启动类库、再加载扩展类库最后加载用户自定义类库。
正常的类加载顺序可以避免一些非法代码的执行,并可以提高代码执行的安全性


14、java中的注释://单行注释、/*    */多行注释     /**   */文档注释(可以用javadoc导出帮助文档)


15、凡是可以取名字的地方都叫做标识符。标识符定义变量、符号常量、方法等名称。
标识符是由字母、数字、下划线和$组成,不能以数字开始。
标识符分为系统标识符(有特殊含义的)和用户标识符(用户自定义的)
标识符命名规范:
1、类名大写字母开始,采用驼峰命名。
2、方法名、变量名小写字母开始,采用驼峰命名。
3、常量全部大写。
4、见名知意。


16、java的数据类型分为:
整型:byte(1字节,-128~127)、short(2字节)、int(4字节)、long(8字节)
实型(浮点型):float(4字节)、double(8字节)
字符型:char(2字节)
布尔型:boolean(1字节,值为true和false)


17、char类型采用unicode编码,占两个字节。在内存中是以整数存放的,可以参与运算。运算时将字符型的asc码进行运算。其中'A'是65,'a'是97,'A'+2-->67 
浮点常量默认为double类型,所以给float类型赋值需要加f。float f = 3.10f;


18、常量:在程序运行过程中,其值不能被改变的称为常量。常量的好处:可以引入业务上的名称,需要修改时可以做到一改全改。
final double PI=3.14;


19、变量是内存中一块命了名的内存空间,空间的内容会发生变化。通过由新数据替换老数据达到内存重用的效果。
变量三要素:变量数据类型、变量名、变量值。
注意:变量只有初始化以后才能使用,否则编译出错。另外需要注意变量的作用域,变量只能在定义变量的{}中使用。




20、类型转换
自动类型转换:当小类型和大类型运算时,先将小类型自动转换为大类型再运算。
强制类型转换:将大类型强制转化为小类型,会损失精度。(int)3.2
float类型大于long类型。因为浮点数在内存中,由两部分组成,即整数部分和小数部分。而long只有整数部分。


21、表达式:表达式由操作数和运算符组成。表达式中的操作数可以是变量、常量或者子表达式。
整型和整型运算,结果至少是int。 byte b1 = 1;byte b2 = 2; byte b3 = b1+b2;是错误的。b1+b2结果是int,占四个字节不能赋值给byte。
扩展赋值运算符(+=、-=、*=、/=)带有类型强转功能。int x = 9; x+=3.4;是合法的。


22、=和==的区别:=是赋值运算符,将右边的值赋给左边的变量。 == 是比较运算符,判断==两边表达式的值是否相等。


23、前置++和后置++的区别。
前置++是先运算,再赋值
int x = ++y; 等价于 y = y+1;  x = y;
后置++是先赋值,再运算
int x = y++; 等价于 x = y;  y = y+1;


24、位运算符:先将数字转为二进制码,再运算。
&:对位二进制码都为1,结果为1。有一个为0,结果都为0
|:对位二进制码有一个为1,结果为1。只有两个都为0,结果才为0
^:对位二制码不相等为1,相等为0


25、移位运算符:先将数字转为二进制码,再运算。
<<:相当于乘2操作。 2<<1----->4
>>:相当于除2操作。 4>>1----->2




26、逻辑运算符:
&&表示并且,当&&两边的表达式都为真,结果才为真,有一个为假,结果都为假。
||表示或者,当||两边的表达式有一个为真,结果都为真。只有都为假,结果才为假。
!表示非。也就是把真变成假,把假变成真   


&&是短路运算符。当第一个条件为假,第二个条件不会执行。
||也是短路运算符。当第一个条件为真,第二个条件也不会执行。


27、三目运算符。
当?前面的表达式为真,则把1赋值给y;为假,把0赋值给y 
int y = x>0?1:0;
//等价于 
if(x > 0 ){
y = 1;
}
else{
y = 0;
}


28、运算符优先级
括号》一元运算符(++,--,!,(type)类型强转) 》算术运算符(+、-、*、/、%)》关系运算符(>、<、>=、<=、==、!=)》逻辑运算符(&&、||)》赋值运算符(=、+=、-=)


29、if……else if和多个if的区别
if……else if是一条语句,只会执行其中一句,当一个条件满足后,后面的条件不做执行。
多个if是多条语句,每个条件都会执行。


30、switch执行顺序:
先计算表达式的结果,找到第一个和表达式匹配的case块,顺序执行,遇到break结束。
如果表达的结果和case都不匹配,执行default内容。


31、循环是不断的执行某一个操作,直到条件不满足为止。
for循环和while循环,都是先判断再执行,循环有可能一次都不执行。
do……while循环是先执行再判断,循环至少执行一次,注意do……while循环必须加分号。


32、break是提前结束当前循环,continue是结束本次循环,进入下次循环。


33、数组的特点:
数组的特点:
1、数组是一个连续的内存空间。
2、数组中的元素都是变量。
3、数组变量中存放的是连续空间第一个元素的地址。数组元素下标从0开始,最大下标是长度-1
4、数组中元素的类型就是申明数组时定义的类型。
5、数组创建之后,长度不可以变化。数组长度为a.length
6、数组创建后,每个元素都会做初始化。int--->0   double--->0.0 引用类型-->null


数组变量中存放的是数组的首地址。而数组元素的下标是数组元素距离数组第一个元素的距离。所以数组下标从0开始。
注意数组下标不能越界。否则会抛出下标越界异常。


34、方法的作用:
1、分而治之。将复杂的功能作分解,每个部分都实现简单的业务。达到功能明确,逻辑清晰的效果。
2、重用。函数定义了之后,通过多次调用达到代码重复使用的效果。




35、形参:形参的是本质是变量,作用是接收实参的值,以便在当前函数中进行使用和处理。


实参:在调用方传递给函数的值。也就是给形参赋值为什么内容。实参可以是变量也可以是常量。


形参和实参之间,必须类型、顺序、个数都要一致。


36、如果一个方法有返回类型,那么必须在任何时候都有值的返回。


37、break和return的区别
break只能用switch和循环语句。表示提前结束循环和switch,结束后,继续执行后面的代码。
return表示中止当前方法的执行。 在return之后不会再执行方法中的任何代码。


38、重载:重载发生在同一个类中,两个方法的方法名相同,参数列表不同(参数类型、个数、顺序),和返回类型无关

你可能感兴趣的:(java学习)