Java编程练习Day12–》格式化字符
String类格式化当前日期
实例说明
在输出日期信息时,经常需要输出不同格式的日期,本实例中介绍了String字符串类中的日期格式化方法,实例使用不同的方式输出String类的日期格式参数值,组合这些值可以实现特殊格式的日期字符串。
使用String类的format()方法不但可以完成日期的格式化,也可以实现时间的格式化。时间格式化转换符要比日期转换符更多,更精确,他可以将时间格式化为时,分,秒,毫秒。
时间格式化转换符
转换符 | 说明 | 示例 |
---|
%tH | 2位数字的24小时制的小时(00~23) | 14 | %tI | 2位数字的12小时制的小时(01~12) | 05 | %tk | 1位数字的24小时制的小时(0~23) | 5 | %tl | 1位数字的12小时制的小时(1~12) | 10 | %tM | 2位数字的分钟(00~59) | 05 | %tS | 2位数字的秒数(00~60) | 12 | %tL | 3位数字的毫秒数(000~999) | 920 | %tN | 9位数字的微秒数(000000000~999999999) | 062000000000 | %tp | 指定语言环境下上午或下午标记 | 下午、pm | %tz | 相对于GMT RFC 82 格式的数字时区偏移量 | +0800 | %tZ | 时区缩写形式的字符串 | CST | %ts | 1970-01-01 00:00:00 至现在经过的秒数 | 120642666 | %tQ | 1970-01-01 00:00:00 至现在经过的毫秒数 | 1206426737453 |
测试代码
import java.util.Date;
import java.util.Locale;
public class Example {
public static void main(String[] args) {
Date today = new Date();
String a = String.format(Locale.US, "%tb",today);
System.out.println("格式化后的字符串为月份的英文缩写:"+a);
String b = String.format(Locale.US, "%tB",today);
System.out.println("格式化后的字符串为月份的英文全写:"+b);
String c =String.format("%ta", today);
System.out.println("月格式化后的字符串为星期(如周一):"+c);
String d =String.format("%tA", today);
System.out.println("月格式化后的字符串为星期(如星期一):"+d);
String e = String.format("%tY",today);
System.out.println("格式化后的字符串为4位的年份值:"+e);
String f = String.format("%ty",today);
System.out.println("格式化后的字符串为2位的年份值:"+f);
String g = String.format("%tm",today);
System.out.println("格式化后的字符串为2位的月份值:"+g);
String h = String.format("%td",today);
System.out.println("格式化后的字符串为2位的日期值:"+h);
String i = String.format("%te",today);
System.out.println("格式化后的字符串为1位的日期值:"+i);
}
}
运行结果
字符串大小写转换
实例说明
在程序设计的过程中,经常会遇到一些情况,在验证用户登录时,如果用户名不区分大小写,那么在代码中,应当使用一种方法排除字母大小写的因素,然后再对比数据库中的用户名与用户输入的用户名是否相等。可以先将数据库中的用户名全部大写,再将用户输入的用户名全部大写,最后对比是否相等。本实例所使用的技术可以方便的将字符串中的字母全部转换成大写或小写。
测试代码
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ToggleCaseWindow extends JFrame {
JTextField text1;
JTextField text2;
JButton toCase;
JRadioButton toUpper;
JRadioButton toLower;
ButtonGroup group;
public ToggleCaseWindow(){
text1 = new JTextField(10);
text2 = new JTextField(10);
toCase = new JButton("转换");
toUpper = new JRadioButton("大写");
toLower = new JRadioButton("小写");
group = new ButtonGroup();
setTitle("字符串大小写转换");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setLayout(null);
setBounds(250, 250, 500, 245);
text1.setBounds(20,20,420,35);
text2.setBounds(20,135,420,35);
toCase.setBounds(20, 86, 85, 30);
toUpper.setBounds(130,86,50,30);
toLower.setBounds(240,86,50,30);
toCase.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
boolean upper = group.isSelected(toUpper.getModel());
String text = text1.getText();
if(upper){
text2.setText(text.toUpperCase());
}else{
text2.setText(text.toLowerCase());
}
}
});
group.add(toUpper);
group.add(toLower);
add(text1);
add(text2);
add(toCase);
add(toUpper);
add(toLower);
}
public static void main(String[] args) {
new ToggleCaseWindow();
}
}
运行结果
字符与Unicode码的转换
实例说明
Unicode是一种字符编码,它可以显示各国语言的各种文字,标点,制表符等所有字符,也是现今最通用的字节编码系统。在程序设计中,可以方便的将字符串转换为Unicode码,也可以将Unicode码转换为字符。 本实例使用字符串对象的toCharArray()方法获取字符数组,数组中的每一个元素都是字符串的一部分。
该方法声明如下:
public char[] toCharArray() 该方法可以把字符串中的每个字符拆分,方法的返回值就是字符串中每个字符组成的字符数组。
测试代码
package com.zhang.exer.day12;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
public class CharacterASCII extends JFrame {
JLabel tip;
JTextField text1;
JTextField text2;
JFormattedTextField text3;
JTextField text4;
JButton button1;
JButton button2;
public CharacterASCII(){
tip = new JLabel("字符与Unicode码转换");
text1 = new JTextField(10);
text2 = new JTextField(10);
text3 = new JFormattedTextField(NumberFormat.getIntegerInstance());
text4 = new JTextField(10);
button1 = new JButton("转换成Unicode编码");
button2 = new JButton("转换为字符");
setTitle("字符与编码的转换");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setLayout(null);
setBounds(250, 250, 758, 225);
tip.setBounds(20, 20, 150, 30);
text1.setBounds(20,60,235,35);
button1.setBounds(285,60,160,30);
text2.setBounds(480,60,235,35);
text3.setBounds(20,100,235,35);
button2.setBounds(285,100,160,30);
text4.setBounds(480,100,235,35);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String text = text1.getText();
char[] charArray = text.toCharArray();
StringBuilder builder = new StringBuilder();
for (char c:charArray
) {
builder.append((int)c+" ");
}
text2.setText(builder.toString());
}
});
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Number value = (Number) text3.getValue();
long code = value.longValue();
text4.setText((char)code+"");
}
});
add(text1);
add(text2);
add(text3);
add(text4);
add(button1);
add(button2);
add(tip);
}
public static void main(String[] args) {
new CharacterASCII();
}
}
运行结果
往日精彩
Java编程练习Day11–》格式化字符串 Java编程练习Day10–》数组排序与查询02 Java编程练习Day09–》数组排序与查询01 Java编程练习Day08 Java编程练习Day07 Java编程练习Day06 Java编程练习Day05 Java编程练习Day04 Java编程练习Day03 Java编程练习Day02 Java编程练习Day01
|