您好,欢迎来到钮旅网。
搜索
您的当前位置:首页JAVA基础知识点及每个知识点所解决的问题

JAVA基础知识点及每个知识点所解决的问题

来源:钮旅网
一、Java语法1、变量及常量变量名的命名规则必须以字符开头必须是一串不间断的unicode字符,也就是说变量名中不能出现空格,也不能出现减号(否则会和减法相混淆)变量名不能是java关键字,逻辑值(true和false)以及保留字null。变量名中可以包含关键字,但不能包含关键字在这个作用域里它的名字必须是惟一的,不然及会造成混乱。不同作用域里的变量可以起相同的名字。非强制要求的java命名规范:变量名以小写字母开头,类的名称以大写字母开头,如果一个变量名包括几个单词,就将几个单词写在一起,每个单词首字母大写。常量名全部有大写字母组成,如有多个单词那就把每个单词用下划线连接。注:中文也可以用做变量名,因为java语言字符都是16位的Unicode字符,一个汉字一个字母无分别。目前不鼓励用中文变量名,特别是在不同操作系统,不同语言下,编程,使用时,源程序中的中文变量名可能会变得无法阅读正确的变量命名如:cesalkworkstr变量的类型Java里的变量其实是一小块内存的区域变量的分类分为A、按被声明的位置划分1)、方法内部的称为局部变量2)、方法外部类内部的称作成员变量B、按所属的数据类型分类1)、基本数据类型变量整数类型Byte字节类型对于byte型变量,内存分配给1个字节,占8位,因此byte型变量的取值范围是:-2^7~2^7-1。Short短整型对于short型变量,内存分配给2个字节,占16位,因此short型变量的取值范围是-2^15~2^15-1。Int整型int型变量的取值范围是-2^31~2^31-1。char长整型对于long型变量,内存分配给8个字节,占位,因此long型变量的取值范围是-2^63~2^63-1。char字符类型内存分配给2个字节,占16位,最高位不用来表示符号,没有负数的char.char型变量的取值范围是0~65535.实型Float单精度浮点数对于float型变量,内存分配给4个字节,占32位,float型变量的取值范围大约是10^-38~10^38,-10^38~10^-38。Double双精度浮点数double型变量,内存分配给8个字节,占位,double型变量的取值范围大约是10^-308~10^308。2)、引用数据类型变量变量的定义变量的作用是保存数据,如下DoubleresbValues;resbValues=12.65;resbValues就是一个变量,他的作用就是保存数据12.65;在java语言中,必须首先给每个变量提供一个名字和类型,然后才能使用,这就是变量的定义。方法:typename;“Type”表示变量类型;“name”表示变量名;字符串类的操作及方法String不是简单类型,而是一个类,它被用来表示字符序列,String的特点是一旦赋值,便不能更改其指向的字符对象,如果更改,则会指向一个新的字符对象创建字符串的方法:1、使用new关键字创建字符串,如:Stringstr=newString(”da”);2、直接指定。比如Stringstr=”ddd”;3、使用串联生成新的字符串,比如Stringstr=”ab”+”c”;字符串的操作方法有哪些,功能是什么:Substring();提取字符串中介于两个指定下标之间的字符。语法:str.sunbstring(intstartIndex);Str.substring(intstartIndex,intendIndex);返回值:一个新的字符串,该字符串值包含str的一个子字符串,其内容是从startIndex处到endIndex-1处的所有字符,其长度为endIndex减startIndex。说明:startIndex是必需。一个非负的整数,规定要提取的子串的第一个字符在str中的位置。endIndex是可选的,一个非负整数,比要提取的子串的最后一个字符在str中的位置多1。如果省略该参数,那么返回的子串会一直到字符串的结尾。substring方法返回的子串包括startIndex处的字符,但不包括endIndex处的字符。如果startIndex与endIndex相等,那么该方法返回的就是一个空串(即长度为0的字符串)。如果startIndex比endIndex大,那么该方法在提取子串之前会先交换这两个参数。如果startIndex或endIndex为负数,那么它将被替换为0。Concat();连接指定的连个字符串;语法:str.concat(String1,String2……);返回值:返回连接好的一串字符串(有str和string1组成)说明:str为必须项,要和所有其他指定的字符串进行连接的String对象或文字String1,String1……为可选项,要连接到string1尾部的String对象或文字。注:concat方法的结果等于:result=string1+string2+string3+…+stringN。不论源字符串或结果字符串哪一个中的值改变了都不会影响另一个字符串中的值。假如有不是字符串的参数,在被连接到string1之前将先被转换为字符串。Replace();替换指定的字符或字符串;方法:str.replace(charoriginal,charreplacement);用一个字符在调用字符串中所有出现某个字符的地方进行替换Str.replace(CharSequenceoriginal,CharSequencereplacement);用一个字符序列替换另一个字符序列(CharSequence即字符串序列的意思,说白了也就是字符串)返回值:返回根据指定的字符或字符串进行文字替换后字符串的复制。说明:str为必选项,要执行该替换的String对象或字符串文字。该字符串不会被replace方法修改。Original为必选项。为需要替换的String对象或文字。Replacement为必选项,是一个String对象或字符串文字,对于str中每个匹配Original的位置都用该对象所包含的文字加以替换注:replace方法的结果是一个完成了指定替换的str对象的复制。Original也用正则表达式来匹配需要替换的字符或字符串。trim();去掉起始和结尾的空格。方法:str.trim();返回值:返回去掉空格后的字符串说明:str为必选项,要执行该方法的String对象或字符串文字。注:如要去掉字符串中的所有空格可以写成:str.replace(\"\\"\");去掉所有空格,包括首尾、中间valueOf();可以将Object参数或基本类型参数转换成转换成字符串。方法:Stringstr=String.ValueOF(obj);Stringstr=Object.toString();返回值:返回的是obj对象的值转换成的字符串。说明:前者是String这个类的valueOf()方法后者是Object的方法,如果Object为null,那更本就没有方法Obj可以为Object参数对象或基本类型参数。toLowerCase();可以将String对象或字符串文字转换成小写方法:strVariable.toLowerCase()\"String\".toLowerCase()返回值:返回一个字符串,该字符串中的字母被转换为小写字母说明:strVariable为必需的,指定要转换的String对象或者字符串。注:toLowerCase方法对非字母字符不会产生影响。toUpperCase();可以将String对象或字符串文字转换成大写方法:strVariable.toUpperCase()\"String\".toUpperCase()返回值:返回一个字符串,该字符串中的字母被转换为大写字母说明:strVariable为必需的,指定要转换的String对象或者字符串。targetStart)注:toUpperCase方法对非字母字符不会产生影响。length();获取字符串的长度方法:Stringstr=””//字符串inti=str.length();//获取长度返回值:返回String对象或者字符串文字的长度,整数型。说明:str为所要求长度的String对象或字符串文字I为所求的String对象str的长度,为整数型(int)注:charchars[]={'a','b'.'c'};Strings=newString(chars);intlen=s.length();charAt();截取一个字符方式:str.charAt(inti);返回值:返回所指定索引处的字符,返回的是char类型说明:str所要截取的字符所在的String对象或字符串文字I为所要截取的索引,从0开始算起注:索引范围为从0到length()-1。序列的第一个char值位于索引0处,第二个位于索引1处,依此类推,这类似于数组索引。如果索引指定的char值是代理项,则返回代理项值。getChars();截取多个字符方法:voidgetChars(intsourceStart,intsourceEnd,chartarget[],int说明:sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。注:Strings=\"thisisademoofthegetCharsmethod.\";charbuf[]=newchar[20];s.getChars(10,14,buf,0);getBytes();替代getChars()的一种方法,是将字符存储在字节数组中,该方法既getBytes()。方法:voidgetBytes(intsourceStart,intsourceEnd,bytetarget[],inttargetStart)说明:sourceStart指定了子串开始字符的下标,sourceEnd指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。接收字符的数组由target指定,target中开始复制子串的下标值是targetStart。注:Strings=\"thisisademoofthegetBytesmethod.\";Bytebuf[]=newByte[20];s.getBytes(10,14,buf,0);toCharArray();将字符串对象中的字符转换为一个字符数组方法:Stringstr=\"ThisisaString.\";char[]arr=str.toCharArray();说明:str为要转换的String对象或字符串。equals();与指定的String对象或字符串进行比较,区分大小写方法:str.equals(Stringstr1);返回值:返回的是逻辑值(boolean),true和false说明:str所要比较的String对象或字符串。Str1将要和str进行比较的String对象或字符串注:返回的是boolean值(true和flase)equalsIgnoreCase();与指定的String对象或字符串进行比较,不区分大小写方法:str.equalsIgnoreCase(Stringstr1);返回值:返回的是逻辑值(boolean),true和false说明:str所要比较的String对象或字符串。Str1将要和str进行比较的String对象或字符串注:返回的是boolean值(true和flase)regionMatches();用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。方法:regionMatches(booleanignoreCase,inttoffset,Stringother,intooffset,intlen);regionMatches(inttoffset,Stringother,intooffset,intlen);说明:上述两个方法用来比较两个字符串中指定区域的子串。入口参数中,用toffset和ooffset分别指出当前字符串中的子串起始位置和要与之比较的字符串中的子串起始地址;len指出比较长度。前一种方法可区分大写字母和小写字母,如果在booleanignoreCase处写true,表示将不区分大小写,写false则表示将区分大小写。而后一个方法认为大小写字母有区别。由此可见,实际上前一个方法隐含了后一个方法的功能。注:Strings1=“tsinghua”Strings2=“itisTsingHua”;s1.regionMatches(0,s2,6,7);最后一个语句表示将s1字符串从第0个字符“t”开始和s2字符串的第6个字符“T”开始逐个比较,共比较7对字符,由于区分大小写,所以结果为false。但如果最后一个语句改为:s1.regionMatches(true,0,s2,6,7);则结果为true,因为入口参数中true表示忽略大小写区别。startsWith()和endsWith();startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束方法:str.startsWith(str1starts)和str.endsWith(strend)返回值:返回的是boolean值说明:Str为原有的String对象或者字符串str1starts表示需要在str中从str1starts对象开始strend表示需要在str中到strend对象结束equals()和==说明:equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。注:Strings1=\"Hello\";Strings2=newString(s1);s1.eauals(s2);//trues1==s2;//falseindexOf();查找字符串中的字符串从第index个开始查找,返回所查找字符的索引;方法:str.indexOf(charc,inti);返回值:返回的整型数,索引值,c所出现的第一个位置的索引值说明:str为所要查找的字符所在的字符串或String对象;C为要查找的字符i为要从哪个索引位置开始查找lastIndexOf();查找字符串中的字符串从第index个开始查找,返回符合所查找字符最后一个字符的索引;方法:str.lastIndexOf(charc);返回值:返回的整型数,索引值,c所出现的最后一个索引值说明:str为所要查找的字符所在的字符串或String对象;C为要查找的字符StringBuffer是一个具有对象引用传递特点的字符串对象;StringBuffer对象可以调用其方法动态的进行增加、插入、修改和删除操作,且不用像数组那样事先指定大小,从而实现多次插入字符,一次整体取出的额效果,因而操作字符串非常灵活方便。StringBuffer定义了三个构造函数:StringBuffer(intsize)StringBuffer(Stringstr)StringBuffer(CharSequencechars)(1)、length()和capacity()一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。(2)、ensureCapacity()设置缓冲区的大小voidensureCapacity(intcapacity)(3)、setLength()设置缓冲区的长度voidsetLength(intlen)(4)、charAt()和setCharAt()charcharAt(intwhere)voidsetCharAt(intwhere,charch)(5)、getChars()voidgetChars(intsourceStart,intsourceEnd,chartarget[],inttargetStart)(6)、append()可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。例:inta=42;StringBuffersb=newStringBuffer(40);Strings=sb.append(\"a=\").append(a).append(\"!\").toString();(7)、insert()插入字符串StringBufferinsert(intindex,Stringstr)StringBufferinsert(intindex,charch)StringBufferinsert(intindex,Objectobj)index指定将字符串插入到StringBuffer对象中的位置的下标。(8)、reverse()颠倒StringBuffer对象中的字符StringBufferreverse()(9)、delete()和deleteCharAt()删除字符StringBufferdelete(intstartIndex,intendIndex)StringBufferdeleteCharAt(intloc)(10)、replace()替换StringBufferreplace(intstartIndex,intendIndex,Stringstr)(11)、substring()截取子串Stringsubstring(intstartIndex)Stringsubstring(intstartIndex,intendIndex)字面量与常量的区别及定义方式:字面量是指双引号引住的一系列字符,双引号可以没有字符,可以只有一个字符,也可以有多个字符。在java中字面量定义方式:Strings=”Hello”.其中Hello为字面量。在java中常量的定义一般是:finalinti=5;//常量字面量和常量的区别在与:常量:final(不可改变的);字面量:可以改变值类型转换,哪些类型可转换,哪些类型不可转换Java的数据类型分为三大类,既布尔型,字符型和数值型;(1)、数据类型转换的种类:1、简单数据类型之间的转换2、字符串与其它数据类型的转换3、其它实用数据类型转换(2)、简单数据类型之间的转换在java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte,short,char)—int—long—float—double简单数据类型之间的转换又可以分为:1.低级到高级的自动类型转换2.高级到低级强类型转换3.包装类过度类型能够转换2.1、低级到高级的自动类型转换如:byteb;inti=b;longl=b;Floatf=b;doubled=b;如果低级类型为char型,向高级类型(整型)转换是,会转换为相应的ASCII码值,如:Cahrc=’c’;inti=c;System.out.println(“output:”+i);结果为:output:99;对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用强制类型转换:如:shorti=99;charc=(char)I;System.out.println(“output:”+i);结果为:output:c2.2、强制类型转换将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换,如:inti=99;byteb=(byte)i;cahrc=(char)i;floatf=(float)i;这样的转换可能会导致溢出或精度下降。2.3、包装类过度类型转换要了解包装类过度类型转换,我们需要先链接下java的包装类,所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,会大量使用到包装类。Java共有留个包装类,分别是Boolean,Character,Integer,Long,Float和Double,从字面上可以看出它们分别对应与boolean,character,integer,long,float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。在进行简单数据类型之间的转换时,可以利用包装类进行中间过度。过程:声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了,如:float转换成double时floatf1=100.00f;FloatF1=newfloat(f1);Doubled1=F1.doubleValue();为float类返回double值类型的方法。简单类型的变量转换为相应的包装类,可以利益能够包装类的构造函数,既:Boolean(booleanvalue)、Character(charvalue)、Integer(intvalue)、Long(longvalue)、Float(floatvalue)、Double(doublevalue)而在各个包装类中,总有形为**value的方法,来得到其对应的简单类型数据,利用这种方法,也可以实现不同数据型变量间的转换,如,对于一个双精度实型类,intvalue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。字符串与其它数据类型的转换通过查阅类库中各个类提供的成员方法可以看到,几乎从java.lang.Object类派生了toString()方法;即将该类转换为字符串。例如:Characrer,integer,Float,Double,Boolean,Short等类的toString()方法,tostring方法用于将字符、整数、浮点数、双精度数、逻辑数、短整型等类转换为字符串Inti1=10;floatf1=3.14f;doubled1=3.145926;IntegerI1=newInteger(i1);//生成Integer类FloatF1=newFloat(f1);//生成Float类Doubled1=newDouble(d1);//生成Double类分别调用包装类的tostring()方法转换为字符串Stringstr=I1.tostring();Stringsd1=D1.tostring();StringsF1=F1.tostring();字符型直接为数据转换为其它数据类型将字符型变量转换为数值型变量实际上有两种对应关系,在我们在第一部分所说的那种转换中,实际上是将其转换成对应的ASCII码,但是我们有事还需要另一种转换关系,例如,‘1’就是指的数值1,而不是其Ascii码,对于这种转换,我们可以使用Character的getNumericValue(charc)方法;Date类与其它数据类型的相互转换整型和Date类之间并不存在直接的对应关系,知识你可以使用int型为分别表示年、月、日、时、分、秒,这样就在两者之间建立一个对应关系,在作这种转换时,你可以使用Date类构造函数的三种形式:Date(inttear,intmonth,intdate):以int型表示年、月、日Date(inttear,intmonth,intdate,inthrs,intmin):以int型表示年、月、日、时、分Date(inttear,intmonth,intdate,inthrs,intmin,intsec):以int型表示年、月、日、时、分、秒获取Date类中的年、月、日、时、分、秒以及星期,可以使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,可以将其理解为将Date类转换成int。而Date类的getTime()方法可以得到我们前面所说的一个时间爱你对应的长整型数,与包装类一样,Date类也有一个tostring()方法可以将其转换成String类。数组的应用数组是一种可以容纳和多相同类型的数据的结构,数组中存在的每个数据称为数组的一个元素,数据的数量称为数组的长度。与定义变量一样,定义数组也是有定义、初始化两部分组成。如:Int[]array1;Double[]array2;StringBuffer[]array3;boardGame[]array4;数组也是有“new”关键字来初始化的,如:Intlen=8;Array1=newint[10];array2=newdouble[len-1];array3=newStringBuffer[len*2];array4=newboardGame[15];简单变量,和引用变量数组的初始化形式。简单变量的初始化,如上面的array1和array2;初始化后就分别形成一个可容纳10个整数和7个浮点数的数组,并且每个数组的初始值都设为0,因此不需要再手动的给每个元素赋值。引用变量数组,如array3,初始化后仅仅形成一个包括16个空的StringBuffer变量的数组,每个元素并未指向真正的StringBuffer对象,因此在使用之前都要将每个元素指向真正的对象,然后才能使用。结构分支控制语句,if语句就是最基本的分支控制语句,它让你的程序能根据某些条件有选择的执行语句。形式如下:if(关系表达式){语句}含义:如果关系表达式为真,则执行后面大括号里的语句,否则就不执行。有时,程序需要控制当条件满足或者不满足时分别执行不同的语句,这时可以使用if的else子句,意思是:“否则”,形式如下if(关系表达式){语句}else{语句}含义:当if后面的关系表达式不为真时,则执行else后面的语句。if-else语句是最基本的分支控制语句,但有时需要将多个if-else语句组合起来,以满足复杂的分支要求。形式如下:if(关系表达式1){语句}elseif(关系表达式2){语句}else{语句}这种结构可以让程序有多种选择。除此之外,java还提供了一种更加方便的switch语句来处理多种问题:形式如下switch(intwar){case1:语句break;case2:语句break;……casen:语句Break;default:语句}说明:intwar是一个整型变量,或者是一个返回整数值的表达式,switch将变量或表达式返回的整数值与每个case语句的整数值比较,如果符合就执行这个case后面的语句。如果算出的结果不能和任何一个case对上,就执行default后面的语句。对比:switch中case1……只是一个个的标签,它们提示switch语句,如果值一样就跳到标签处执行,但标签不管后面会执行多少语句,因此要手动的加一个break用来跳出。Break跳出switch结构。If-else语句,它后面的大括号包含了一个程序快,从控制结构上说,一个程序快相当于一条指令,因此,if-else没有标签,也不需要break语句跳出。特点:switch结构简单,易于理解,因此应用广泛。不足:switch的变量只能是整数,case中也只能去一个固定子,对于浮点数,取值在一定范围的情况也不能处理,。不能处理字符串,对于复杂的分支判断问题也为力。这些情况只能用if-else来实现。循环语句:让一部分代码反复执行循环结构有三种:while(){}do{……}while()for(表达式){}1.While循环结构while(条件表达式){语句}含义:当条件表达式为真时,反复的执行大括号中的语句。有一种类似的循环结构是2.Do{语句}while(条件表达式);两者的差别在于,前者需先判断,再执行;后者,先执行,后判断。可见采用while循环时,如果一开始条件就不满足的话,则循环中的语句就不会执行,如果采用do……while循环,则不管条件满足与否都会至少执行一次循环体中的内容。3.还有一种循环结构是for循环,它一般用于已知循环次数的程序中。形式如下:for(初值;终值;增量){语句}其中:初值部分用来初始化循环变量,终值部分设定循环的结束条件,增量部分用于在每次循环中改变循环变量的值。运行过程分析:首先,在初始值部分设定循环变量的初值,再与终值部分的循环条件相比较,如果循环条件满足,则继续执行循环内的程序,否则跳出循环。当循环内的程序执行一遍之后,程序返回for语句,首先,根据增量部分的表达式给循环变量增值或减值,再判断终值部分的循环条件,如果循环条件满足,则继续执行循环内的程序。中断控制:java支持三种中断语句break;continue,return其中break用于强行退出循环,不执行循环中剩余的语句,而continue则停止继续执行下面的语句,直接跳回循环起始额izhi;return用于跳出只能个子程序。1.break在已经在switch见过了。它用于退出整个switch结构。还可以用于while,do……while,for循环中,立即前行退出循环。2.continue它的作用是中断当前的语句执行,重新返回循环起点,形式如下:inti;for(i=0;i<=n;i++){语句Continue;语句2}当程序运行执行完语句1时,遇到Continue语句,它就不再继续执行下面的语句2,直接返回for循环,i+1,再次进行循环。break和continue的差别在于前者是中断整个循环的执行,后者仅仅中断下面的语句的执行。3.return语句的作用是退出当前的子程序,回到原先调用它的程序处,return有两种形式,带返回值得形式:如return100.0;不带返回值得,那么只需要它本身:如return;异常机制异常时指编译时没有发现,只有在运行程序的时候,在某种特定的情况下,程序执行出现错误,这时发生的异常。如:程序有一条指令是”y=a/b+c”;其中y,a,b,c都是整型变量。如果在执行这条语句时b恰好等于0,就会出像被0除,此时程序就会停止运行,而抛出一个算术异常。这些异常都是编译时发现不了的,有些异常非常隐蔽,很难被发现,可一旦出现异常,程序就无法执行下去,被迫中断退出。当然这也总比程序死在那里或者导致系统奔溃要好。总之,异常处理的目的,不是要避免异常,而是在异常发生时,设法将损失降低到最小。异常捕获:Try……catch……Try将一段可能发生异常的代码包起来,在执行这段代码时。一旦出像异常就跳出try快,而进去catch部分,比较异常类型是否与catch中的异常类型相符。如果符合,则进入catch快中的异常处理程序。最后跳出整个try……catch快。形式如下:Try{……//可能发生异常的程序快}catch(Type1id1){……//处理类型1的异常}catch(Type2id2){……//处理类型2的异常}异常类型通过异常类来描述,异常类是一种特殊的类,它们平时不出现,在发生异常时,java会自动产生一个异常对象,并抛出try快外,让catch去匹配。原则:如果抛出的异常对象属于莫个catch快给出的异常类型,或者属于该异常类的子类,则认为异常对象与catch快匹配。异常类:所有的异常都继承子Exception,而Exception类继承子Throwable类,Throwable类是java语言中所有错误和异常的父类。只有重这个类或它的子类继承而来的类才能被java虚拟机或者被“throw”关键字抛出。类似只有从这个类或它的子类继承而来的类才能被catch子句捕获。Throwable类有两个直接的子类:Error和Exception,error类包括了严重的错误,一般的应用程序不应当试图捕获它。Exception是所有异常类的父类下面是Java中几个基本异常,是我们调试程序时经常会遇到的,有必要熟记于心:ArithmeticException当出现异常算术条件时产生;NullPointerException当应用程序企图使用需要的对象处为空时产生;ArrayIndexOutOfBoundsException数组下标越界时产生;ArrayStoreException当程序试图存储数组中错误的类型数据时产生;FileNotFoundException试图访问的文件不存在时产生;IOException由于一般I/O故障而引起的,如读文件故障;NumberFormatException当把字符串转换为数值型数据失败时产生;OutOfMemoryException内存不足时产生;SecurityException当小应用程序(Applet)试图执行由于浏览器的安全设置而不允许的动作时产生;StackOverflowException当系统的堆栈空间用完时产生;StringIndexOutOfBoundsException当程序试图访问串中不存在的字符位置时产生;二、面向对象特性/java实现类的定义方法:public//表示这个类不但能被一个包中的其他类访问也能被其他包中的类访问Abstract//表示这个类是抽象类是不能被实例化的Final//表示这个类是最终类Class类名//类名Extends父类名//如果这个类继承某个类Implements接口名//表示这个类要实现的接口{类的主体}成员函数的定义及应用成员函数在英文文档中将类的成员函数称为方法,但在汉语中方法的词语意义太广泛了,因此把它译为“成员函数”。而java里没有全局函数,因此简称为”函数”.成员函数的定义与类类似,是有函数定义和函数主体构成的/形式如下:public//表示这个函数时公有的double//表示这个函数的返回类型,可以指定,如果是void表示没有返回值ADD()//函数名,必不可少的。括号里面的是参数列表。{函数主体Return}Java中没有区分函数和子程序,差别是前者有返回值,后者没有返回值。封装继承多态

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务