您好,欢迎访问三七文档
1第一章java相关大公司面试重要:数据结构的知识-------------------------------*掌握原理-------------------------------有价值的认证:oracledba认证CCIE认证。。。含金量好的认证一百来说考试费很多-------------------------------ERP行业ERP企业资源计划或称企业资源规划简称ERP(EnterpriseResourcePlanning),由美国著名管理咨询公司GartnerGroupInc.于1990年提出来的共享软件行业共享软件如:魔法兔子迅雷。。。-------------------------------*不经常使用,使用的时候能够查到的知识:了解有这么回事,用的时候再去查-------------------------------*难得一用的知识:不必太专,用的时候再查-------------------------------*掌握业务逻辑-------------------------------查看共享目录:在IE浏览器地址栏上输入\\ip地址,如:\\192.168.0.1-------------------------------*************第一章正式讲*************--------------------------------1、JAVA历史,了解即可,面试不会考2、JAVA学习过程j2se-javaweb-j2ee3、JDK1.5比1.4多了范式4、内存很重要,要弄透5、JAVA是解释型语言26、一个JAVA文件中可以有多个类,但只能有一个public类,此类与文件名同名。7、path存放的是系统调用的可执行程序的目录classpath存放的是调用类的时候,相关联的类的目录总结中:1、JAVA的垃圾收理机制,免除了内存管理的麻烦。需要开辟内存的时候可以直接开辟,不需要程序员来释放。************递归************1,递归就是在方法内调用自己2,println打印东西的时候先转换成字符串再打印3,内存中有代码区,方法只有在执行的时候才会占用内存4,分析程序从main方法开始分析5,递归中,当执行一个递归函数时,每层递归都必须等待下一层递归返回具体值后,才能继续运行,向上层返回值。(不懂的话,可以参看第二章_递归_2)--------------------------3第二章基础知识************标识符************1,可以自己取名字的,都是标识符2,对大小写敏感,长度无限制3,中间不可以有空格4,java标识符要见名知意************关键字************************java常量************************java变量************1,变量本质:内存里的一块区域2,不同的变量类型,在内存中分配的长度不一样3,局部变量必须要有初值~~~~~~~~~~~~~~~~~~~~~~~~程序执行过程中的内存管理~~~~~~~~~~~~~~~~~~~~~~~~1,codesegment存放代码2,datasegment存放静态变量,字符串常量3,stack(栈)存放局部变量4,heap(堆)存放new出来的东西;动态申请内存~~~~~~~~局部变量~~~~~~~~1,在方法体内部定义的变量2,函数的参数~~~~~~~~成员变量~~~~~~~~在方法体外,类内~~~~~~~~~~~~变量的作用域4~~~~~~~~~~~~凡在{}内定义的变量,出了{}就不起作用了************java数据类型************1,逻辑型Boolean只允许取true或falseBooleanbl;bl=true;2,字符型charchareChar='a';chareChar='中';采用Unicode编码,每个字符占两个字节,十六进制编码转义字符'\'来将其后的字符转变为其他的含义charc2='\n';//'\n'代表换行3,整数类型byte(1字节)short(2字节)int(4字节)long(8字节)*longl=8888L(L必须加,不然会被认为是int类型)4,浮点类型float(4字节)double(8字节)*floatf=12.3f(当所赋的值是小数的时候f必须加,不然会被认为是double类型)浮点说在计算机中是离散的,是有一定误差的。float精确到小数点后7位,double精确到小数点后15位************数据类型转换************1,byteshortchar之间不会互相转换,他们在计算的时候首先转换成int类型2,容量(所能表示的数的多少)大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成数据溢出或者精度降低*将doubled=10.1;将d转换为int类型:inti=(int)d;在一个数据类型转换为比他位数少的类型时,会将多的部分去掉,余下的数是多少就是多少。比如,int类型为4位,byte类型为1位,当int类型转换为byte类型时,会去掉3位,余下的4个0/1表示什么,那么转换后的值就是什么。但对float不能如此的转换为double类型,因为在内存中对于浮点数的存储不同于整数类型的存储。这也是声明float类型时,给变量赋值为小数时时必须加f。否则会默认为double类型,然而double类型无法转换为float类型,所以会出错************程序格式************1,大括号对齐。即左右两个大括号所在的行的左部要一齐,而不是指括号对齐52,程序块之间要加空行3,运算符两侧加空格*原则:让别人看的更清楚************运算符************1,++放在后面,先取值后计算inti=(i2++);//先把i2的值赋值给i,然后i2再++++放在前面,先计算后取值--同理2,逻辑运算符中&|比如a&ba|b需要计算ab真值然后给出表达式a&ba|b的真值而&&||比如a&&ba||b叫做短路与,短路或。如对于a&&b若a=false则不计算b给出表达式的真值。a||b也一样,如果a确定为true则,无需计算b直接给出表达式为true3,+可以做字符串连接如:Strings=hello+world;4,+运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将一个操作数转换为字符串然后再进行连接。intc=12;System.out.println(c=+c);//由于c=为字符串,所以系统会先将后面的c先转换成字符串再连接,12转换成字符串还是12*当使用println()进行打印的时候,无论任何类型,都在自动转化为字符串,再打印。(已经是第二次说明此问题)println(c);时,会先将c转化成字符串再打印************语句************1,for循环中for(语句1;语句2;语句3){语句4}执行顺序:语句1-〉语句2(若语句2为真)-〉语句4-〉语句3-〉语句2(若语句2为真)-〉语句4-〉语句3-〉语句2(若语句2为假)-〉结束for语句2,如何分析程序:分析内存:每遇到一个变量就在内存中画出来当变量的值有改动的时候,在内存中显示出来3,do{}while();记住后面要有个;4,continue终止本次循环,continue下的语句不运行,而是直接进行下一次循环语法与break一样如:if(i==5)continue;************方法************1,方法的作用:6增强代码的复用性2,形参:数据类型实参:数据7面向对象的思想**************面向对象的思想**************1,将与问题有关的对象和他们之间的联系抽象出来而不是考虑第一步要做什么,第二步要做什么。2,用面向对象的思想来思考问题的步骤第一步:考虑这个问题域里有哪些类,哪些对象第二步:这些类,这些对象有哪些属性第三步:考虑他们之间的关系,他们应该有哪些方法3,合适的方法应该出现在合适的类里4,跟业务逻辑无关的方法不需要出现在类中5,Java中“外事万物皆对象”******************面向对象的基本概念******************1,对象的属性,即成员变量,在声明的时候可以初始化,如果不初始化java默认初始化Boolean类型为false引用类型为null其他为0或0.02,引用类型(8种基本类型之外的类型)占两块内存3,java中的对象是通过引用对其操作的比如:Dogd=newDog(Tom);Dogd时,d要在内存中开辟一个空间,初始为null当new后,会在堆中动态的开辟一个内存来存放Tom,此时d的值为Tom但不能直接访问Tom,需要通过d来访问,类似C++语言中的指针4,引用:一小块内存指向一大块内存使用方法:对象.成员变量对象.方法这里的.相当于C++里的-5,同一个类的不同对象在内存中有不同的空间,但共用方法和属性6,构造方法:名字与类名一样,无返回值。与new一起使用创建一个新对象publicclassPerson{intid;intage=20;//类Person的构造方法Person(int_id,int_age){id=_id;age=_age;}8}Personp=newPerson(1,40);//此处的Person(1,40)是类Person的构造方法当不写构造方法的时候,系统默认创建一个形如:类名(){}这样的构造方法。但当自己写了构造方法后,当创建类的时候,就必须使用自己创建的构造方法了。7,约定俗成的命名规则:类名,首字母大写方法名、变量名,小写运用驼峰标示9第三章java学习之类的学习************方法************1,重载:方法名一样参数不一样在调用的时候会根据参数的不同调用不同的方法2,构造方法也可以重载3,确定方法的步骤第一步:确定方法的名字第二步:确定方法的参数第三步:确定方法的返回值************this关键字************1,this可以看作是一个变量,值是当前对象的引用2,用来处理方法中,成员变量和参数重名的情************static关键字************1,static声明的成员变量为静态成员变量,它为该类的公用变量2,不需要new对象即可使用如:类名.静态成员变量=100;即可对象也可以使用如:对象.静态成员变量=200;3,可以用来计数4,在static方法中不能访问非static成员变量**************package,import**************1,包名:公司域名倒过来写2,package语句必须位于java代码的第一行3,package中用.来说明目录的层次如:packagecom.sxt则该文件中所有的类位于.\com\sxt目录下.为当前目录104,使用import引用一个包里的类如:importcom.sxt.MyClass;//引入com.sxt里的MyClass类importjava.util.*;//引入java.util包里所有的类5,访问位于同一个包中的类不需要import引用包,可以直接使用6,执行一个类,必须包括其所在的包名(使用命令提示符执行class文件时)7,java.lang使用时可以不引用,其他的包使用时需要引用8,如何打jar包:cd到要打包的类的目录jar-cvfxx.jar(jar包的名字)xx.xx(要打包的类的名字和后缀*.*代表所有的类)可以把其所在的路径放到classpath里便于调用里面的类**************继承和权限控制**************1,使用extends关键字实现类的继承通过继承,自类自动拥有了基类(父类)的所有属性和方法私有的属性也会被继承,但是无法访问,即无法修改和使用其属性写法:p
本文标题:java笔记
链接地址:https://www.777doc.com/doc-4526427 .html