常见API使用

2023-10-15,

String类

字符串相关的类

Java程序中的所有字符串文字(例如"abc")都实现为此类的实例
字符串是不变的 他们的值在创建后无法更改

int length() 返回字符串对象的长度
boolean equals(Object obj) 比较两个字符串的值是否相等(忽略大小写调ignoreCase)
String trim() 除去字符串两端的空格
char charAt(int index) 返回指定下标处的字符
int indexOf(String str) 返回指定字符串 第一次在字符串出现的位置
int lastIndexOf(String str) 返回指定字符串 最后一次在字符串出现的位置
String replace(String old,String new) 替换新字符串 替换老字符串 第一个字符串可用正则表达式
String substring(int start) 从指定位置截取字符串到结尾
boolean contains(String str) 检查当前字符串是否包含str
boolean startWith(String str) 检查当前字符串是否以str开头
boolean endWith(String str) 检查当前字符串是否以str结尾

Date类

Date 表示特定的时刻.精度为毫秒

返回值 方法 功能介绍
long getTime() 返回当前的毫秒值(至19701-1-1 00:00:00)

直接打印Date Java又进行了相关的操作 使打印效果 更加友好

SimpleDataFormatl类

SimpleDateFormat是一个用于以格式化和解析日期的具体类
(区域设置敏感 :不同国家 不同电脑设置都会让无参构造自适应 )

一般使用其有参构造  创建一个 指定格式的SimpleDateFormat对象

y:年 M:月d:日 H:时 m:分 s:秒 更多特定要求"占位符" 见API

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date date = new Date();
String dateStr = sdf.format(date);//将Date对象格式化为String
System.out.println(dateStr);
String str = "2022年02月18日";
Date num = sdf.parse(str);//将字符串解析为Date对象 Date对象中封装 long 类型的毫秒值
System.out.println(date.getTime());
     // sdf.parse(); 会抛出一个异常 该异常产生的原因是 字符串的格式 和 SimpleDateFormat 对象的格式(构造方法中的格式)不匹配

包装类

每个基本数据类型 都有一个对应的包装类

byte     Byte

short    Short

int      Integer

long      Long

char      Character

float       Float

double      Double

boolean    Boolean

存在包装类的一个原因

基本数据类型 无法提供方法

类型之间的转化

String ---->int

int num = Integer.paseInt(str);    //方式1 推荐
int num = Integer.valueOf("123").intValue();//方式2

int --->String

String str = 123+"";    //方式1 推荐
String str = String.valueOf(123);//方式2

自动装箱和拆箱

装箱  基本数据类型转化为包装数据类型  Integer  m = Integer.valueOf(123);

拆箱  包装数据类型转化为基本数据类型  int  n = m.intValue();

自动指的是Java底层给我们自动数据类型转化 来保证程序的正确

Integer  i =100;//自动装箱 Integer.valueOf(100)

int j = i+123;//自动拆箱 i.intValue()+123

Scanner类

一个简单的文本扫描程序,可以使用正则表达式解析基本类型和字符串。

Scanner使用分隔符模式将其输入分解为标记,该分隔符模式默认匹配空格。 将得到的token,转换成使用各种不同类型的值next方法

键盘录入

Scanner sc = new Scanner(System.in) //获得一个扫描器对象 扫描系统输入

int num = sc.nextInt();//将扫描得到的token 转换化为int 类型的值

Random类

该类的实例用于生成伪随机数流

Random rd = new Random();//该对象默认使用当前时间为随机种子

int randomNum= rd.nextInt(10);//生成 [0,10) 的i nt类型随机数

GUI

GUI:Graphical User Interface(图形用户接口)

java.awt 包:依赖本地 javax.swing包: 在awt 基础由java上实现

常用组件 所有Jxxx开头的组件 都在Javax. swing 包中

Jframe :窗体控件 容器

JButton :按钮控件

JLabel :标签

JTextFile :单行文本区域

JTextFile :多行文本区域

JPasswordField:密码文本区域 单行

Jframe常用设置

        JFrame jf = new JFrame(); //创建对象 默认看不见
jf.setTitle("示例");
jf.setSize(300,300);//设置窗口大小
jf.setDefaultCloseOperation(3);//设置窗口关闭时所要执行的操作
jf.setLocationRelativeTo(null);//设置窗口在屏幕居中现实
jf.setAlwaysOnTop(true);//设置窗口 一直在最上方现实
jf.setLayout(null);//设置窗体中的布局方式使用绝对定位布局
...
jf.setVisible(true); // 设置窗体的可见性为true 窗体中所有组件添加完毕后 执行

JButton, JLabel, JTextFile, JTextFile , JPasswordField 设置

       JButton btn = new JButton("登录");//创建 按钮对象
btn.setBounds(50,200,200,30);//设置按钮对象的 位置和大小
jf.add(btn);//窗体中添加 按钮对象

JLabel 展示图片

            ImageIcon image = new ImageIcon("MyStudy_11\\image\\1.png");
JLabel label = new JLabel(image);//使用 有参构造添加图片

JOptionPane 弹窗提示

    JOptionPane.showMessageDialog( jf, "用户名或密码为空!");//弹窗提示 第一个参数是 控件对象

行为监听-鼠标单击

 btn.addActionListener(new ActionListener() {//这是一个匿名内部类
@Override
public void actionPerformed(ActionEvent e) {
//System.out.println("登录");
String name = textField.getText();
String pass = passwordField.getText();
if ( name.length() == 0 || pass.length() == 0) {
JOptionPane.showMessageDialog(btn, "用户名或密码为空!");
return;
}
if (userName.equals(name) && pw.equals(pass)) {
JOptionPane.showMessageDialog(btn, "登录成功!");
} else {
JOptionPane.showMessageDialog(btn, "用户名或密码错误!");
}
}
});

常见API使用的相关教程结束。

《常见API使用.doc》

下载本文的Word格式文档,以方便收藏与打印。