资源描述
第十一章:字符串和字符
① String类构造函数:
String s1=new String() 初始化一个新创建的 String 对象
String s1=new String(charArray) 构造一个新的 String,方法是使用平台的默认字符集解码字节的指定数组。
String s1=new String(charArray,6,3) 构造一个新的 String,方法是从第6个数开始提取后面3个数 包含第6个数
pareTo(s2) 比较俩字符的大小
s1.isDefined(c) 判断c是否为字符
s1.isDigit(c) 判断c是否为数字
s1.isLetter(c) 判断c是否为字母
s1.isLetterOrDigit(c) 判断c是否为数字或字母
s1.isLowerCase(c) 判断c是否为小写
s1.isTitleCase(c) 判断c是否为大写
② String 类的length charAt和getChars方法:
s1.lelength 获取字符串的长度
s1.charAt(0) 提取第0个下标数
s1.getChars(0,5,charArray,0) 例如:s1="hello there"
第一个参数: 复制s1中开始索引为0 第二个参数:结束索引为5(注:不包含5)
第三个参数: 赋予的目标数组 第四个参数:目标组的开始索引
③ 字符串的比较
s1.equals("HELLO"); 比较内容
s1.equalsIgnoreCase(s2) 比较内容,不区分大小写
s1.startsWith("st") 测试此字符串是否以指定的前缀开始
s1.startsWith("st",2) 测试此字符串是否以指定前缀开始,该前缀以指定索引开始。
④ 定位字符串中的字符和子字符串
s1.indexOf('c') 字符串中从0索引开始 最先出现'c' 的索引位置
s1.indexOf('a',1) 字符串中从1索引开始 最先出现'a' 的索引位置
s1.indexOf('$') 如果此字符串中没有这样的字符,则返回 -1
s1.lastIndexOf('a') 从索引位置最后往前,第一个出现的索引位置
lastIndexOf('a',25) 从25索引位置往前,第一个出现的索引位置
⑤ 提取字符串中的子字符串
s1.substring(5) 返回一个新的字符串,该子字符串始于指定索引处的字符,一直到此字符串末尾。
s1.substring(3,6) 返回一个新的字符串,该子字符串始于指定索引处的字符3, 一直到此字符串6 (注释:不包含6)
⑥ String类的其他方法
s1.trim 去掉前后空格
s1.replace('l','L') 返回一个新的字符串,它是通过用 L 替换此字符串中出现的所有 l 而生成的。
s1.toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
s1.toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
⑦ String类的valueOf方法
例如s1={'a','b','c','d','e','f'}
String.valueOf(s1) 返回 char 数组参数的字符串表示形式。String.valueOf(s1) 输出abc
String.valueOf(s1,3,3) 返回 char 数组第三个索引开始 后面三个数 输出 def
⑧ StringBuffer类
String s1=new StringBuffer() StringBuffer的默认长度是16;
String s1=new StringBuffer(10) StringBuffer的长度为10;
String s1=new StringBuffer("hello") StringBuffer的长度为16+5;
⑨ StringBuffer类的length capacity setLength ensureCapacity的方法
StringBuffer buffer=new StringBuffer("Hello, how are you ?")
buffer.length() 长度是 19
buffer.capacity() 长度是19+16=35
buffer.ensureCapacity(75) 确保容量至少等于指定的最小值
buffer.setLength(10) 如果 10 参数小于当前长度,则长度将更改为指定的长度。 尾数的全部消去
buffer.deleteCharAt(0) 移除下标索引是0的数
buffer.delete(0,5) 移除此序列的子字符串中的字符 从索引0开始 到索引5结束(不包含5)
⑩ StringBuffer类的charAt setCharAt getChar reverse 方法
StringBuffer buffer=new StringBuffer("hello,there?")
buffer.charAt(0) 取第一个索引 是 h
buffer.setCharAt(0,'H') 将0索引的数换成 H
buffer.getChar(0,buffer.lenght,charArray,0) 第一个参数: 复制buffer中开始索引为0 第二个参数:结束索引为buffer的长度
第三个参数:赋予的目标数组 第四个参数:目标组的开始索引
buffer.reverse 将此字符序列用其反转形式取代
⑾ StringBuffer类的append方法
StringBuffer.append() 追加
⑿ StringBuffer类的插入和删除方法
StringBuffer.insert(int offset, Object obj) 将 Object 参数的字符串表示形式插入此字符序列中,第二个参数将被转换成字符串
⒀Character类 ⒅⒆⒇
⒁StringTokenizer类
StringTokenizer b=new StringTokenizer(outputArea.getText());
while(b.hasMoreTokens())
shu[cc]=b.nextToken();
b.countTokens() b 的索引有多少位数。 实用于 数组长度
⒂正规表达式 Pattern类和Matcher类
\d 任何数字字符 \D 任何非数字字符
\w 任何单词字符 \W 任何非字符字符
\s 任何空白字符 \S任何非空白字符
* 匹配0次或多次
+ 匹配1次或多少
? 匹配0次或1次
{n} 匹配a次
{n,m}最少n次 最多m次
. 任何字符
^ 非(不是) (^1) 不能是1
"abc".matches("[a-z]+") 表示 a-z 以内的任何字母
[a-z A-Z 0-9]
"abc".matches("...) .表示任意一个字符 true
⒃替换子字符和分割字符串 replaceAll replaceFirst split
s1=s1.replaceAll("a","b") 将 s1数中的a替换成b
s1=s1.replaceFirst("\\d","c") 将 s1数中最先出现的数字 替换成C
String s2=s1.split(",\\s*") 将 s1数中遇到(,空格)就拆开
⒄pattern类和Matcher类
第十二章:图像和Java 2D
drawRect(x,y,c,k) 画一个矩形的边框
drawString(String str,int x,int y) str要写的内容,x坐标,Y坐标
fillRect(x,y,c,k) 填充指定的矩形。
JColorChooser.showDialog(c.this,String a, Color i) c 本类名 ,a对话框标题,i颜色选取器的初始值
paint rapaint (返回paint方法)
Font(String name, int style, int size) 根据指定名称、样式 和 点大小。
name 指定为 Monospaced、Serif 或 SansSerif
g.drawOval(195, 100, 90, 55); //绘制椭圆的边框
g.fillOval(290, 100, 90, 55); //绘制填充的椭圆
g.draw3DRect(5, 100, 90, 55, true); //3-D 突出显示边框。
g.fill3DRect(100, 100, 90, 55, false); //填充的 3-D 突出显示矩形
g.drawRoundRect(192, 40, 90, 55, 50, 50); //填充型圆角矩形。
g.fillRoundRect(290, 40, 90, 55, 20, 20); //圆角矩形边框
g.drawRect(5, 40, 90, 55); //矩形边框
g.fillRect(100, 40, 90, 55); //填充型矩形
g.drawLine(5, 30, 350, 30); //绘制直线
g.drawArc(185, 35, 80, 80, 0, -270); //绘制弧框
g.fillArc(15, 120, 80, 40, 0, -360); //绘制填充的弧
GradientPaint (x,y,color,x1,y1,true) //颜色渐变
Ellipse2D.Double(x,y,c,k) //画椭圆
BasicStroke(10) //画笔的宽度是10
Rectangle2D.Double(x,y,c,k) //画矩形边框
BufferedImage b=new BufferedImage (10,10,BufferedImage.TYPE_INT_RGB)
Graphics2D gg=b.createGraphics(); //画图
BasicStroke(float width, int cap,int join, float miterlimit, float[] dash, float dash_phase)
参数:
width - 此 BasicStroke 的宽度。此宽度必须大于或等于 0.0f。如果将宽度设置为 0.0f,则将笔划呈现为可用于目标设备和抗锯齿提示设置的最细线条。
cap - BasicStroke 端点的装饰
join - 应用在路径线段交汇处的装饰
miterlimit - 斜接处的剪裁限制。miterlimit 必须大于或等于 1.0f。
dash - 表示虚线模式的数组
dash_phase - 开始虚线模式的偏移量
第十三章:图像用户界面组件(一)
label.setBackground(Color.BLACK); label.setOpaque(true); 背景颜色,背景颜色可见的
label1.setForeground(Color.RED); 字体的颜色;
label.setToolTipText("Label with text1"); 当鼠标放到label 标签上给的提示
label.setHorizontalTextPosition(int textPosition) 设置标签的文本相对其图像的水平位置。
label.setVerticalTextPosition(int textPosition) 设置标签的文本相对其图像的垂直位置。
fancyButton=new JButton("Fancy Button",bug1); //当前显示的文本和图片;
fancyButton.setRolloverIcon(bug2); //当鼠标放到按钮上改变图片为
JLabel.setIcon("1.gif"); 改变标签里面的图片
JCheckbox 多选框 if(box.isSelected())
JRadioButton 单选框 封装到 ButtonGroup 里面
JRadioButtonMenuItem 菜单下的单选框
JComboBox a; a.addItem("内容 "); //下拉列表框
a.setSelected(true); //选中状态
if(event.getStateChange()==ItemEvent.SELECTED) // 判断取消还是确定//当前是确定
if(xiala.getSelectedItem().equals("带薪职工")) //判断选择中的内容
MouseListener 鼠标点击监听
mouseMotionListener 鼠标移动监听
if(event.isMetaDown()) // 判断是否是鼠标右键 按下
if(event.isAltDown()) //判断是否是滚动条 按下
addMouseListener(new MouseAdapter(){} ); 鼠标点击监听 匿名类
addMouseMotionListener(new MouseMotionAdapter(){} ); 鼠标移动监听 匿名类
KeyListener 键盘监听
第十四章:图像用户界面组件(二)
Box 轻量级容器 分为水平布局和垂直布局
JTextArea 文本域 s1.getSelectedIndex(); //复制选中值
JSlider // 游标
JFrame ---JMenuBar(菜单栏)-----JMenu(菜单)-------JMenuItem(菜单项)
file.addSeparator(); //画分线
JMenuBar 添加到 Container 方法: setJMenuBar(bar)
JPopupMenu 弹出式菜单
JDesktopPane 用于创建多文档界面或虚拟桌面的容器
JInternalFrame 提供很多本机窗体功能的轻量级对象
ImageIcon 一个 Icon 接口的实现,它根据 Image 绘制 Icon。
JTabbedPane 一个组件,它允许用户通过单击具有给定标题和/或图标的选项卡
list 组件为用户提供了一个可滚动的文本项列表
DefaultListModel 模型 和数组一样。但能改变大小
第十五章:异常处理
try {} catch{} try 判断 catch 捕捉
finally{ } 收尾工作 总是执行
throws 抛出异常
throw 抛给
e.printStackTrace(); 输入异常
展开阅读全文