Java编程知识.doc_第1页
Java编程知识.doc_第2页
Java编程知识.doc_第3页
Java编程知识.doc_第4页
Java编程知识.doc_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

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

文档简介

Java编程基础Java语言由语法规则和类库两部分组成,其中语法规则确定了Java程序的书写规范,学习好语法规则是Java语言,也是所有编程语言的基本功。本文主要向大家简单介绍一下Java的语法规则。 Java语言与C/C+语言有着紧密的联系,Java中的许多术语来自于C+,起语法也来自于C+。因此Java的语法和c+的语法计划一模一样。下面简单介绍一下Java的具体语法。 一、Java的词法1、标识符标识符是类、变量和方法等的名字,作用是让编译器能够识别它们。在Java语言中,标识符可以包含数字、字母、下划线(_)和美圆符号($),但是不能以数字作为开头。与C/C+语言不同的是,Java语言还可以将一些非拉丁字母包含在标识符中,这是因为Java语言使用的是Unicode字符,所有的十六进制00C0以上的Unicode字符都可以用在标识符中。但是Java语言的关键字是不能用来作为标识符的。我们在使用标识符的时候应该尽量表达所要表示的类、变量、方法等的含义。另外,标识符中可以使用下划线,我们应该充分利用这一点以提高程序的可读性。2、关键字以下是Java的全部关键字:abstract double int strictfp* boolean else interface superbreak extends long switch byte final native synchronizedcase finally new this catch float package throw char for private throwsclass goto* protected transient const* if public try continue implements return void default import short volatile do instanceof static while* 尚未使用的关键字* 为Java 2增加的关键字3、注释Java有三种形式的注释:第一种是C语言的传统注释方式,即将“/*”和“*/”之间的文本都视为注释,这种注释可以跨越多行。第二种是C+风格的注释,即将“/”之后直到行尾的文本都视为注释,这种注释只能包含一行。第三种是Java新增加的注释方式,即将“/*”和“*/”之间的文本都视为注释,这种注释也可以夸耀多行。注意,这种注释方式生成的注释将作为Javadoc文档保存。二、操作符1、算术操作符操作符 用途 优先级 结合性 +,- 自动递增,自动递减 2(仅次于括号) 从右到左 +,- 一元加,一元减 2 从右到左 *,/ 乘,除 3 从左到右 % 取余(求模) 3 从左到右 +,- 加,减 4 从左到右 2、布尔运算与关系运算符操作符 用途 优先级 结合性 ,=,= 测试相对大小 6 从左到右 = 测试相等性 7 从左到右 != 测试不等性 7 从左到右 ?: 根据第一个操作数返回后两个操作数之一 13 从左到右 ! 非 2 从右到左 & 布尔与 8 从左到右 异或 9 从左到右 | 布尔或 10 从左到右 & 条件与 11 从左到右 | 条件或 12 从左到右 3、位操作符操作符 用途 优先级 结合性 非(位求补) 2 从右到左 左移,右移 5 从左到右 当作无符号右移 5 从左到右 & 位和 8 从左到右 位异或 9 从左到右 | 位或 10 从左到右 4、赋值操作符操作符 用途 优先级 结合性 = 赋值 14 从右到左 *= 操作同时赋值 14 从右到左 /= 操作同时赋值 14 从右到左 %= 操作同时赋值 14 从右到左 += 操作同时赋值 14 从右到左 -= 操作同时赋值 14 从右到左 = 操作同时赋值 14 从右到左 = 操作同时赋值 14 从右到左 = 操作同时赋值 14 从右到左 |= 操作同时赋值 14 从右到左 &= 操作同时赋值 14 从右到左 5、特殊操作符cast操作符将一种数据类型转换成为另一种数据类型,cast应写成把要校正操作数的类型名放在括号中。例如: int i; long l; l=7876547; i=(int)l; 如果给高精度的变量赋予一个低精度值,则不需校正。类型校正操作符的优先级为2,结合性为从右到左结合。将以上讲到的操作符的优先级总结如下:优先级 运算符 结合顺序 1 数组运算 .点运算符 ()调用方法 从左到右 2 ! + - +(一元加) -(一元减) ()强制类型转换 new 从右到左 3 * / % 从左到右 4 +(二元加) -(二元减) 从左到右 5 从左到右 6 = instanceof 从左到右 7 = != 从左到右 8 & 从左到右 9 从左到右 10 | 从左到右 11 & 从左到右 12 | 从左到右 13 ?: 从左到右 14 = += -= *= /= %= &= |= = = = 从右到左 三、常量1、整型常量在Java语言中,整型常量有三种形式,它们分别是:十进制、八进制、十六进制。需要注意的是十进制数不能以0开头,这是因为八进制的数是以0开头的,而十六进制数以0x或0X开头。2、浮点型常量浮点数只能表示十进制数。浮点数有两种表示方法,即标准表示法和科学记数法。浮点数又分为单精度数和双精度数。3、布尔型常量布尔型常量有两个值:ture(或TURE)和false(或FALSE)它们分别表示真和假,这两个值用来表示事物的状态,它们必居其一。通过测量布尔值可以判断是否执行某个步骤。4、字符型常量字符型常量是一个单一的字符,其形式是由两个单引号引起来的一个字符。但是两个单引号引起来的不能是单引号和反斜杠,即和是不正确的写法。大家一定要记住,Java语言中的字符是16位的Unicode字符,这与C/C+等语言是不一样的。同C/C+语言一样,Java语言也有转意序列。Java中的转意序列的功能见下表:转义序列 标准形式 功能描述 继续 n NL 回车换行 t HT 水平制表符 b BS 后退一格 r CR 回车不换行 f FF 换页 单引号 反斜杠 双引号 ddd 0ddd 八进制模式 xddd 0xddd 十六进制模式 udddd 0xdddd Unicode双字节字符 字符串常量字符串常量是由双引号引起来的一系列字符,与C/C+语言中不同的是,Java语言中的字符串不是通过字符数组来实现的,而是通过字符串类(即String类)来实现的。四、变量和数据类型在Java中,数据的类型可以分为四种:基本数据类型、数组类型、类和接口类型。任何数据都一定是上述数据类型的一种。其中基本数据类型可以分为四大类:布尔型、字符型、整数型和浮点型。这些类型的数据与前面介绍的常量的类型基本相同,在此不再多说。下面将整数型和浮点型变量的取值范围列出:表一、类型 宽度 取值范围 byte 8位 -256到256 short 16位 -32768到32767 int 32位 -2147483648到2147483647 long 64位 -9223372036854775808到9223372036854775807 表二、进制 整数 长整数 十进制 最大正整数 2147483647(2的31次方减1) 923372036854775807L(2的63次方减1) 八进制 最大正整数 077777777777(2的31次方减1) 07777777777777777777L(2的63次方减1) 最小负整数 020000000000(-2的31次方) 04000000000000000000L(-2的63次方) 十六进制 最大正整数 0x7fffffff(2的31次方减1) 0x7fffffffffffffffL(2的63次方减1) 最小负整数 0x80000000(-2的31次方) 0x8000000000000000L(-2的63次方) 浮点数能表示的数值从小到大分别是:负无穷大、负有限值、负零、正零、正有限值及正无穷大。其中正零和负零在进行数值比较的时候是相等的,但仍有办法分辨这两个值,例如在进行1.0/0.0的时候会得到正无穷大的结果。其它非零非无穷大的有限值是以s*m*(2e)来表示的,s和m的取值范围见下表:表三、类型 s m e float +1或-1 小于2的24次方的正整数 149到104的整数 double +1或-1 小于2的53次方的正整数 1045到1000的整数 表四、float 最大值 3640282347e+38f 非零最小值 1.40239846e-45f double 最大值 1.79769313486231570e+308 非零最小值 4.940656458412465334e-324 另外浮点数还有一些特殊值,见下表:float 最大值 Float.MAX_VALUE 最小值 Float.MIN_VALUE 正无穷大 Float.POSITIVE_INFINITY 负无穷大 Float.NEGATIVE_INFINITY NaN Float.NaN double 最大值 Double.MAX_VALUE 最小值 Double.MIN_VALUE 正无穷大 Double.POSITIVE_INFINITY 负无穷大 Double.NEGATIVE_INFINITY NaN Double.NaN 与C/C+语言中不同的是,在Java语言中,所有的基本数据类型都有预设值,就是说当我们声明一个变量时,即使我们没有对它赋值,它的值也是一定的,而不像在C/C+中那样是不可预测的。具体个类型的预设值见下表:基本数据类型 预设值 Boolean false Char u000 Byte (byte)0 Short (short)0 Int 0 Long 0L Float 0.0L Double 0.0d 五、Java与C/C+的比较由于Java的语法直接来源于C/C+,所以Java的程序控制语句与C/C+一模一样,在此不再多说。以下重点介绍一下Java与C/C+的不同。指针大家在使用C语言编程的时候想必都曾经因为指针的复杂计算而烦恼,在C/C+语言编程过程中,指针可能引起许多错误,这些复杂的指针算法所产生的错误常常让人迷惑不解,导致C/C+程序员在此浪费了大量的时间。考虑到这种原因,Java中取消了指针。指针的功能由参考(reference)所取代,这使得Java中对复杂数据结构的实现更加容易,因为用对象和对象数组实现复杂的数据结构更可靠。函数在Java中没有C/C+中应用广泛的函数,C/C+中通过函数实现的功能在Java中都是通过类和方法来实现的。继承C+支持多重继承,这是一个从多个父类中派生一个类的有效办法,但这种派生很复杂,也很容易产生问题。因此,Java中没有采用多重继承,但Java的Objective C协议接口能完成C+中多重继承的所有功能。goto语句大家知道,在使用高级语言编程时过多的使用goto语句会使程序变得十分混乱,因此Java中也没有使用goto语句。但是不可否认,当程序比较容易控制的时候,适当使用goto语句能使程序的运行更快捷,因此Java中使用了多重break和continue语句(允许break和continue语句使用标签)实现C+种goto语句的功能。联合和结构在C+中有三种数据结构:联合、结构和类;Java中只有类,它可以实现上述三者的功能。字符串在C/C+中,字符串是通过字符数组实现的,但是由于数组的空间不是动态分配的,这容易出现越界错误,例如:常有预先设定的字符数组不能容纳后输入的字符串。在Java中,字符串是一类特定的对象,这使得字符串更具有一致性和可预见性。Typedef、Define和预处理器Java中不需要#define语句、预处理器或者typedef,但需要头文件。在Java中一个类的信息必须包含在一个文件中,而C/C+中有关类的信息可能分散在多个文件中。数据类型的自动强制转换在Java中强制一种类型的数据元素变成一种不太精确的数据类型需要编程人员采用预测方法。Java语言基础知识21简单数据类型211 标识符和保留字1标识符程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。例如,identifier,userName,User_Name,_sys_val, $change为合法的标识符,而2mail room#,class 为非法的标识符。2保留字具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word),也称为关键字,下面列出了java语言中的所有保留字:bstract,break,byte,boolean,catch,case,class,char,continue,default,double,do,else,extends,false,final,float,for,finally,if,import,implements,int,interface,instanceof,long,length,native,new,null,package,private,protected,public,return,switch,synchronized,short,static,super,try,true,this,throw,throws,threadsafe,transient,void,while 。java语言中的保留字均用小写字母表示。212 数据类型概 1 java中的数据类型划分java语言的数据类型有简单类型和复合类型:简单数据类型包括:整数类型(Integer):byte, short, int, long浮点类型(Floating):float,double字符类型(Textual):char布尔类型(Logical):boolean复合数据类型包括:classinterface数组2常量和变量常量:用保留字final来实现final typeSpecifier varName=value,varName=value; 如:final int NUM=100;变量:是java 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其定义格式如下:typeSpecifier varName=value,varName=value; 如:int count; char c=a;变量的作用域指明可访问该变量的一段代码,声明一个变量的同时也就指明了变量的作用域。按作用域来分,变量可以有下面几种:局部变量、类变量、方法参数和例外处理参数。在一个确定的域中,变量名应该是唯一的。局部变量在方法或方法的一个块代码中声明,它的作用域为它所在的代码块(整个方法或方法中的某块代码)。类变量在类中声明,而不是在类的某个方法中声明,它的作用域是整个类。方法参数传递给方法,它的作用域就是这个方法。例外处理参数传递给例外处理代码,它的作用域就是例外处理部分。213 简单数据类型1布尔类型-boolean布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:boolean b=true; 2字符类型-char字符常量:字符常量是用单引号括起来的一个字符,如a,A;字符型变量:类型为char,它在机器中占16位,其范围为065535。字符型变量的定义如:char c=a; /*指定变量c为char型,且赋初值为a*/3整型数据整型常量: 十进制整数 如123,456,0 八进制整数 以0开头,如0123表示十进制数83,011表示十进制数9。 十六进制整数 以0x或0X开头,如0x123表示十进制数291,0X12表示十进制数18。整型变量:数据类型所占位数数的范围byte8-2727-1bhort16-215215-1int32-231231-1long64-263263-14浮点型(实型)数据实型常量: 十进制数形式 由数字和小数点组成,且必须有小数点,如0.123, 1.23, 123.0 科学计数法形式 如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。 float型的值,必须在数字后加f或F,如1.23f。实型变量:数据类型所占位数数的范围float 323.4e-0383.4e+038double641.7e-0381.7e+0385简单数据类型的例子:【例21】public class Assign public static void main (String args ) int x , y ; /定义x,y两个整型变量float z = 1.234f ; /指定变量z为float型,且赋初值为1.234double w = 1.234 ; /指定变量w为double型,且赋初值为1.234boolean flag = true ; /指定变量flag为boolean型,且赋初值为truechar c ; /定义字符型变量cString str ; /定义字符串变量strString str1 = Hi ; /指定变量str1为String型,且赋初值为Hic = A ; /给字符型变量c赋值Astr = bye ; /给字符串变量str赋值byex = 12 ; /给整型变量x赋值为12y = 300; /给整型变量y赋值为300214 简单数据类型中各类型数据间的优先关系和相互转换1不同类型数据间的优先关系如下:低-高byte,short,char- int - long - float - double2自动类型转换规则整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级;操作数1类型操作数2类型转换后的类型 byte、short、charintint byte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyte、short、char、int、long、floatdoubledouble3强制类型转换高级数据要转换成低级数据,需用到强制类型转换,如:int i;byte b=(byte)i; /*把int型变量i强制转换为byte型*/22 运算符和表达式221 运算符 对各种类型的数据进行加工的过程成为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数,按操作数的数目来分,可有: 一元运算符:, 二元运算符:, 三元运算符:?:基本的运算符按功能划分,有下面几类:1算术运算符: +,*,/,%,+,。 例如:3+2;a-b;i+;-i;2关系运算符: ,=,3; I=0; n!=-1;3布尔逻辑运算符: !,&,| 。 例如:flag=true; !(flag);flag&false; 4位运算符: ,&,|,。 例如:a=10011101; b=00111001;则有如下结果:a3 =11110011 a3=00010011;a&b=00011001; a|b=10111101;a=01100010; ab=10100100; 5赋值运算符 =,及其扩展赋值运算符如+=,=,*=,/=等。 例如:i=3; i+=3; /等效于i=i+3;6条件运算符 ? :例如:result=(sum= =0 ? 1 : num/sum); 7其它:包括分量运算符 ,下标运算符 ,实例运算符instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等。例如:System.out.println(hello world);int array1=new int4;222 表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。1表达式的类型表达式的类型由运算以及参与运算的操作数的类型决定,可以是简单类型,也可以是复合类型:布尔型表达式: x&y|z;整型表达式: num1+num2;2运算符的优先次序 表达式的运算按照运算符的优先顺序从高到低进行,同级运算符从左到右进行:优先次序运算符1. () 2+ - ! instanceof3new (type)4* / % 5+ - 6 = = 8= = != 9&1011| 12&13|14?:15= += -= *= /= %= =16&= |= = = 例如,下述条件语句分四步完成:Result=sum=0?1:num/sum;第1步:result=sum=0?1:(num/sum)第2步:result=(sum=0)?1:(num/sum)第3步:result=(sum=0)?1:(num/sum)第4步:result=23控制语句Java程序通过控制语句来执行程序流,完成一定的任务。程序流是由若干个语句组成的,语句可以是单一的一条语句,如c=a+b,也可以是用大括号括起来的一个复合语句。Java中的控制语句有以下几类: 分支语句:if-else, switch 循环语句:while, do-while, for 与程序转移有关的跳转语句:break, continue, return 例外处理语句:try-catch-finally, throw 注释语句:/,/* */, /* */ 231 分支语句分支语句提供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句。1条件语句 if-elseif(boolean-expression)statement1;else statement2;2多分支语句 switchswitch (expression)case value1 : statement1;break;case value2 : statement2;break;case valueN : statemendN;break;default : defaultStatement; 表达式expression的返回值类型必须是这几种类型之一:int,byte,char,short。 case子句中的值valueN必须是常量,而且所有case子句中的值应是不同的。 default子句是可选的。break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break)。232 循环语句循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。Java语言中提供的循环语句有: while语句 do-while语句 for语句1 while语句initializationwhile (termination)body;iteration;2do-while语句initializationdo body;iteration; while (termination);3for语句for (initialization; termination; iteration)body; for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。 初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。 在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。for( i=0, j=10; ij; i+, j)233 跳转语句 break语句 continue语句 返回语句return 1break语句 在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。 在Java中,可以为每个代码块加一个括号,一个代码块通常是用大括号括起来的一段代码。加标号的格式如下:BlockLabel: codeBlock break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。例如:break BlockLabel;break语句a: /标记代码块ab: /标记代码块bc: /标记代码块cbreak b; /此处的语句块不被执行 /此处的语句块不被执行 /从此处开始执行2continue语句continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。它的格式为:continue;也可以用continue跳转到括号指明的外层循环中,这时的格式为continue outerLable;例如:outer: for( int i=0; i10; i+ ) /外层循环inner: for( int j=0; j10; j+ ) /内层循环if( ij )continue outer;3返回语句returnreturn语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:return expression ;return;return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中234 例外处理语句包括try,catch,finally,throw语24 数组java语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。241 一维数组1 一维数组的定义type arrayName ;类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。例如:int intArray ;Date dateArray;2一维数组的初始化 静态初始化int intArray=1,2,3,4;String stringArray=abc, How, you; 动态初始化 1)简单类型的数组int intArray; intArray = new int5;2)复合类型的数组String stringArray ;String stringArray = new String3;/*为数组中每个元素开辟引用 空间(32位) */stringArray0= new String(How);/为第一个数组元素开辟空间 stringArray1= new String(are);/为第二个数组元素开辟空间stringArray2= new String(you);/ 为第三个数组元素开辟空间3一维数组元素的引用数组元素的引用方式为:arrayNameindexindex为数组下标,它可以为整型常数或表达式,下标从0开始。每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。242 多维数组Java语言中,多维数组被看作数组的数组。1二维数组的定义type arrayName ;type arrayName;2二维数组的初始化 静态初始化int intArray =1,2,2,3,3,4,5;Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。 动态初始化1) 直接为每一维分配空间,格式如下:arrayName = new typearrayLength1arrayLength2;int a = new int23;2) 从最高维开始,分别为每一维分配空间:arrayName = new typearrayLength1 ;arrayName0 = new typearrayLength20;arrayName1 = new typearrayLength21;arrayNamearrayLength1-1 = new typearrayLength2n;3) 例:二维简单数据类型数组的动态初始化如下,int a = new int2 ;a0 = new int3;a1 = new int5;对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。而且,必须为每个数组元素单独分配空间。例如:String s = new String2 ;s0= new String2;/为最高维分配引用空间s1= new String2; /为最高维分配引用空间s00= new String(Good);/ 为每个数组元素单独分配空间s01= new String(Luck);/ 为每个数组元素单独分配空间s10= new String(to);/ 为每个数组元素单独分配空间s11= new String(You);/ 为每个数组元素单独分配空间3二维数组元素的引用对二维数组中的每个元素,引用方式为:arrayNameindex1index2例如: num10;4二维数组举例:【例22】两个矩阵相乘public class MatrixMultiplypublic static void main(String args)int i,j,k;int a=new int 23; /动态初始化一个二维数组int b=1,5,2,8,5,9,10,-3,2,7,-5,-18;/静态初始化 一个二维数组int c=new int24; /动态初始化一个二维数组for (i=0;i2;i+)for (j=0; j3 ;j+)aij=(i+1)*(j+2);for (i=0;i2;i+)for (j=0;j4;j+)cij=0;for(k=0;k3;k+)cij+=aik*bkj;System.out.println(*Matrix C*);/打印Matrix C标记for(i=0;i2;i+)for (j=0;j4;j+)System.out.println(cij+ );System.out.println();25 字符串的处理251 字符串的表示Java语言中,把字符串作为对象来处理,类String和StringBuffer都可以用来表示一个字符串。(类名都是大写字母打头)1字符串常量字符串常量是用双引号括住的一串字符。Hello World!2String表示字符串常量用String表示字符串:String( char chars );String( char chars , int startIndex, int numChars );String( byte ascii , int hiByte );String( byte ascii , int hiByte, int startIndex, int numChars );String使用示例:String s=new String() ; 生成一个空串下面用不同方法生成字符串abc:char chars1=a,b,c;char chars2=a,b,c,d,e;String s1=new String(chars1);String s2=new String(chars2,0,3);byte ascii1=97,98,99;byte ascii2=97,98,99,100,101;String s3=new String(ascii1,0);String s4=new String(ascii2,0,0,3);3用StringBuffer表示字符串StringBuffer( ); /*分配16个字符的缓冲区*/StringBuffer( int len ); /*分配len个字符的缓冲区*/StringBuffer( String s ); /*除了按照s的大小分配空间外,再分配16个字符的缓冲区*/252 访问字符串 1类String中提供了length( )、charAt( )、indexOf( )、lastIndexOf( )、getChars( )、getBytes( )、toCharArray( )等方法。 public int length() 此方法返回字符串的字符个数 public char charAt(int index) 此方法返回字符串中index位置上的字符,其中index 值的 范围是0length-1 public int indexOf(int ch) public lastIndexOf(in ch)返回字符ch在字符串中出现的第一个和最后一个的位置 public int indexOf(String str) public int lastIndexOf(String str)返回子串str中第一个字符在字符串中出现的第一个和最后一个的位置 public int indexOf(int ch,int fromIndex) public lastIndexOf(in ch ,int fromIndex)返回字符ch在字符串中位置fromIndex以后出现的第一个和最后一个的位置 public int indexOf(String str,int fromIndex) public int lastIndexOf(String str,int fromIndex)返回子串str中的第一个字符在字符串中位置fromIndex后出现的第一个和最后一个的位置。 public void getchars(int srcbegin,int end ,char buf,int dstbegin) srcbegin 为要提取的第一个字符在源串中的位置, end为要提取的最后一个字符在源串中的位置,字符数组buf存放目的字符串, dstbegin 为提取的字符串在目的串中的起始位置。 public void getBytes(int srcBegin, int srcEnd,byte dst, int dstBegin)参数及用法同上,只是串中的字符均用8位表示。2类StringBuffer提供了 length( )、charAt( )、getChars( )、capacity()等方法。方法capacity()用来得到字符串缓冲区的容量,它与方法length()所返回的值通常是不同的。253 修改字符串修改字符串的目的是为了得到新的字符串,类String和类StringBuffer都提供了相应的方法。有关各个方法的使用,参考java 2 API。1String类提供的方法:concat( )replace( )substring( )toLowerCase( )toUpperCase( ) public String contat(String str);用来将当前字符串对象与给定字符串str连接起来。 public String replace(char oldChar,char newChar);用来把串中出现的所有特定字符替换成指定字符以生成新串。 public String substring(int beginIndex);public String subst

温馨提示

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

评论

0/150

提交评论