1、第四章 JSP语法(续)西南科技大学网络教育系列课程西南科技大学网络教育系列课程动态网页设计(动态网页设计(JSP)动态网页设计(动态网页设计(JSP)http:/String类字符串的表示字符串的表示字符串常量 字符串常量使用双引号括住的一串字符,比如:Hello world!Java编译器自动为每一个字符串常量生成一个String类 的实例,因此可以用字符串常量直接初始化一个String对 象,如:String s=Hello world!;动态网页设计(动态网页设计(JSP)http:/String类1.构造函数 要创建类String的一个对象并进行初始化,需要调用类String的构造方
2、法。类String中提供了下面的一些构造方法:String(),无参数的缺省的构造方法用来创建一个空串。String s=new String();String s=new String();String(String value):利用已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。String s=new String(“helloString s=new String(“hello”);”);String(char value ):通过给构造方法传递一个字符数组可以创建一个非空串。char chars =a,b,c;char chars =a,b,c
3、;String s=new String(chars);String s=new String(chars);动态网页设计(动态网页设计(JSP)http:/String类1.构造函数String(char ,int startIndex,int numChars):这种方法用来创建一个非空串,并且指明所创建的字符串在字符数组中的起始地址以及所包含的字符个数。char chars=a,b,c,d,e,f;String s=new String(chars,2,3);该方法生成的串s为“cde”。(注意数组的下标从0开始)动态网页设计(动态网页设计(JSP)http:/String类2.2.求字
4、符串长度求字符串长度 public int length()此方法返回字符串的字符个数,如:String s=abc;System.out.println(s.length();则将显示字符个数为3。动态网页设计(动态网页设计(JSP)http:/String类3.3.字符串连接字符串连接 在Java中,运算符“”可以用来实现字符串的连接,如:String s=“He is”+age+”years old.”假设整数型变量age的值为15,那么,s的值为“He is 15 yearsOld”。动态网页设计(动态网页设计(JSP)http:/String类4.4.字符截取字符截取 public
5、char charAt(int index)该方法返回字符串中index位置上的字符,其中index值的范围是0length-1。如果要从字符串中提取一个以上的字符,则可以下面方法:public void getchars(int srcbegin,int end,char buf,int dstbegin)其中,srcbegin为要提取的第一个字符在源串中的位置,end为要提取的最后一个字符在源串中的位置,字符数组buf存放目的字符串,dstbegin为提取的字符串在目的串中的起始位置。(实例:StringgetChars.jsp)动态网页设计(动态网页设计(JSP)http:/String
6、类4.4.字符截取字符截取 getBytespublic void getBytes(int srcbegin,int end,byte buf,int dstbegin)类似于上一个方法,只是串中的字符均用8位表示,参数及用法同上。在将字符串输出到一个不支持Unicode的环境时,getBytes极为有用,现今大多数基于Internet的文本交换以ASCII码为主,getBytes方法就可以派上用场,如做中文处理,在后面还专门介绍Java中的中文字符处理的问题。动态网页设计(动态网页设计(JSP)http:/String类5.5.字符串比较字符串比较 equals和equalsIgnoreC
7、ase public boolean equals(object str)public boolean equalsIgnoreCase(object str)1)用法 2)区别 3)equals与=的区别public int compareTo(String str)该方法按字典次序比较两个字符串的大小,如果源串较小,则返回一个小于0的值,如相等则返回0,否则返回一个大于0的值。动态网页设计(动态网页设计(JSP)http:/String类6.6.字符串查找字符串查找 int indexOf(String str)int lastindexOf(String str)返回子串str中第一个字
8、符在字符串中出现的始末位置。int indexOf(int ch,int fromIndex)int lastIndexOf(int ch,int fromIndex)返回字符ch在字符串中位置fromIndex以后出现的始末位置。int indexOf(String str,int fromIndex)int lastIndexOf(String str,int fromIndex)返回子串str中的第一个字符在字符串中位置fromIndex以后出现的始末位置。(实例:findString.jsp)动态网页设计(动态网页设计(JSP)http:/String类7.7.字符串修改字符串修改 p
9、ublic String replace(char oldChar,char newChar)将串中出现的特定字符用新的字符代替。public String substring(int beginIndex)public String substring(int beginIndex,int endIndex)用来得到字符串中指定范围内的子串。String trim()该方法返回除去字符串左右的空格后的字符串动态网页设计(动态网页设计(JSP)http:/String类8.8.改变大小写改变大小写public String toLowerCase()把串中的所有字符转换成小写public St
10、ring toUpperCase()把串中的所有字符转换成大写动态网页设计(动态网页设计(JSP)http:/StringBuffer类1.构造方法 StringBuffer()建立一个空串的缓冲区,长度为16。StringBuffer(String str)初始化缓冲区内容为给定的字符串str,并提供另16个字符的空间供再次分配。StringBuffer(int length)建立一个长度为length的空串缓冲区。动态网页设计(动态网页设计(JSP)http:/StringBuffer类2.长度运算 public int capacity()此方法返回字符串缓冲区的长度,即总的可供分配的字
11、符个数。public void ensureCapacity(int minimumCapacity)用于更改缓冲区大小。新容量将是 minimumCapacity 和 旧容量22的最大者动态网页设计(动态网页设计(JSP)http:/StringBuffer类2.长度运算setLength public synchronized void setLength(int newLength)如果希望明确地定义字符缓冲区的长度,则可以用此方法。如果newlength大于现在的长度,串尾将补0,如果小于,那么newlength后的字符将丢失动态网页设计(动态网页设计(JSP)http:/String
12、Buffer类3.得到与修改字符 public char charAt(int position)public synchronized void setCharAt(int index,char ch)用来设置指定索引index位置的字符值。动态网页设计(动态网页设计(JSP)http:/StringBuffer类4.追加字符或字符串 public synchronized StringBuffer append(对象类型 对象名)append方法将指定的参数对象转化成字符串,附加在原来的字符串对象之后。5.插入字符 public synchronized StringBuffer inse
13、rt(int 插入位置,对象类型 对象名)在指定的位置插入给出的参数对象所转化而得的字符串。动态网页设计(动态网页设计(JSP)http:/StringBuffer类6.字符串翻转 StringBuffer reverse()7.替换字符串 方法replace()完成用一个字符串取代StringBuffer中的部分子串功能。public StringBuffer replace(int start,int end,String str)(实例:StringBufferApp.jsp)动态网页设计(动态网页设计(JSP)http:/Date类 日期类,Date类是Jsp开发中常用的类。其中常用的
14、构造函数如下:Date()Date(long date)Date 类实际上只是一个包裹类,它包含的是一个长整型数据,表示的是从GMT(格林尼治标准时间)1970年,1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数.有些功能转移到Calendar 类去了。(实例:DateApp.jsp)动态网页设计(动态网页设计(JSP)http:/Date类注意:1)在Java中设置年份是相对于1900年的时间,月份的数值也记得要多1,例如,如要设置12月则参数应为11 2)要使用日期类须加入语句 ,因为它是java.util包中一个类,也可以加入 动态网页设计(动态网页设计(JSP)http:/
15、运算符与表达式比较运算符比较运算符运算符 运算 范例 结果=相等于 4=3false!=不等于 4!=3true小于 4大于 43true=小于等于 4=大于等于 4=3trueinstanceof检查是否为类实例“Hello”instanceof Stringtrue动态网页设计(动态网页设计(JSP)http:/运算符与表达式逻辑运算符逻辑运算符 运算符 运算 范例 结果&ANDfalse&truefalse|ORfalse|truetrueXORtruefalsetrue!Not!truefalse?:Conditional(ternary)false?6:99动态网页设计(动态网页设计
16、(JSP)http:/if if 语句的几种型式语句的几种型式程序控制结构动态网页设计(动态网页设计(JSP)http:/程序控制结构动态网页设计(动态网页设计(JSP)http:/循环循环看实例:看实例:xhApp1.jspxhApp1.jsp xhApp2.jsp:xhApp2.jsp:%/循环应用综合实例循环应用综合实例Java程序片程序片 for(int i=1;i font size=你好你好程序控制结构动态网页设计(动态网页设计(JSP)http:/Switch 语句格式语句格式switchswitch(表达式)(表达式)case c1:语句组1;break;case c2:语句组2;break;default:语句组;break;注意:表达式必须为注意:表达式必须为bytebyte,shortshort,intint或或charchar数据类型数据类型(实例:(实例:SwitchApp1.jspSwitchApp1.jsp)程序控制结构