API(Application Programming Interface) :应用程序编程接口 Java API :指的就是 JDK 中提供的各种功能的 Java类。
Scanner
一个简单的文本扫描程序,可以获取基本类型数据和字符串数据 构造方法: Scanner(InputStream source):创建 Scanner 对象 System.in:对应的是InputStream类型,可以表示键盘输入 Scanner sc = new Scanner(System.in); 成员方法: int nextInt():获取一个int类型的数据 int i = sc.nextInt();import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个整数:"); int i = sc.nextInt(); System.out.println("你输入的数据是:" + i); } }
Random
该类的实例用于生成随机数 构造方法: Random():创建一个新的随机数生成器 成员方法: int nextInt(int bound):获取一个int类型的随机数,参数bound表示获取到的随机数在[0,bound)之间import java.util.Random; public class RandomDemo { public static void main(String[] args) { Random r = new Random(); int number = r.nextInt(100) + 1; //获取1-100之间的随机数 System.out.println(number); } }
String
String类表示字符串。Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例
构造方法:
String():初始化新创建的 String对象,使其表示空字符序列
String(String original):初始化新创建的String对象,使其表示与参数相同的字符序列
成员方法:
int length():返回此字符串的长度
boolean equals(Object anObject):将此字符串与指定的对象进行比较
boolean equalsIgnoreCase(String anotherString):将此 String与另一个 String比较,忽略了大小写
String trim():返回一个字符串,其值为此字符串,删除了所有前导和尾随空格
public class StringDemo { public static void main(String[] args) { String s1 = new String(); System.out.println(s1); System.out.println(s1.length()); //0 String s1 = "it"; String s2 = new String("it"); String s3 = "It"; //equals 将此字符串与指定的对象进行比较,不区分大小写 System.out.println(s1.equals(s2)); //true System.out.println(s1.equals(s3)); //false //equalsIgnoreCase 将此 String与另一个 String比较,忽略了大小写 System.out.println(s1.equalsIgnoreCase(s2)); //true System.out.println(s1.equalsIgnoreCase(s3)); //true String s4 = " it "; //trim 返回一个字符串,其值为此字符串,删除了所有前和尾的空格,不删除字符串中间的空格 System.out.println(s4); System.out.println(s4.trim()); System.out.println(s4); } }
Integer
八种基本数据类型和其对应的包装类类型Integer类在对象中包装基本类型int的值
构造方法:
Integer(int value):根据 int 值创建 Integer 对象(过时)
Integer(String s):根据 String 值创建 Integer 对象(过时)
成员方法:
static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
static Integer valueOf(String s):返回一个保存指定值的 Integer 对象 String
public class IntegerDemo01 { public static void main(String[] args) { Integer i1 = Integer.valueOf(100); Integer i2 = Integer.valueOf("100"); System.out.println(i1); System.out.println(i2); } }
int和String的相互转换
int 转换为 String
static String valueOf(int i):返回 int 参数的字符串表示形式。该方法是 String 类中的方法
String 转换为 int
static int parseInt(String s):将字符串解析为 int 类型。该方法是 Integer 类中的方法
Integer 转换为 int
int intValue():返回此值 Integer 为 int
public class IntegerDemo02 { public static void main(String[] args) { //int --- String int number = 100; //方式1 String s1 = number + ""; System.out.println(s1); //方式2 String s2 = String.valueOf(number); System.out.println(s2); //String --- int String s = "100"; //方式1:String --- Integer --- int Integer i = Integer.valueOf(s); //int intValue() 返回此值 Integer 为 int int x = i.intValue(); System.out.println(x); //方式2 int y = Integer.parseInt(s); System.out.println(y); } }
自动装箱和拆箱
装箱:把基本数据类型转换为对应的包装类类型
拆箱:把包装类类型转换为对应的基本数据类型
public class IntegerDemo03 { public static void main(String[] args) { //装箱:把基本数据类型转换为对应的包装类类型 // Integer i = Integer.valueOf(100); //手动装箱 Integer ii = 100; //自动装箱 内部执行: Integer.valueOf(100); //拆箱:把包装类类型转换为对应的基本数据类型 ii += 200; /* ii = ii + 200; ii = ii.intValue() + 200; //自动拆箱 ii = 300; //Integer.valueOf(300); */ System.out.println(ii); } }
Date和SimpleDateFormat
Date
Date类表示特定的时刻,精度为毫秒
构造方法:
Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒
Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
import java.util.Date; public class DateDemo { public static void main(String[] args) { //Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒 Date d1 = new Date(); System.out.println(d1); //Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00 Date d2 = new Date(1000 * 60 * 60); System.out.println(d2); } }
SimpleDateFormat(Date和String的相互转换)
常用的模式字母对应关系:yyyy年MM月dd日 HH:mm:ss
构造方法:
SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式
格式化(从 Date 到 String ):
String format(Date date):将日期格式化成日期/时间字符串
解析(从 String 到 Date ):
Date parse(String source):从给定字符串的开始解析文本以生成日期
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatDemo { public static void main(String[] args) throws ParseException { //格式化(从 Date 到 String ) Date d = new Date(); //SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式 // SimpleDateFormat sdf = new SimpleDateFormat(); //SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String s = sdf.format(d); System.out.println(s); //2022年10月26日 11:11:11 //解析(从 String 到 Date ) String ss = "2022-10-26 11:11:11"; SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式与给定字符串格式一致 Date dd = sdf2.parse(ss); System.out.println(dd); //Wed Oct 26 11:11:11 CST 2022 } }
GUI
GUI:Graphical User Interface(图形用户接口)。用图形的方式,来显示计算机操作的界面 Java为GUI提供的API都存在java.awt和javax.Swing两个包中: java.awt 包:awt是这三个单词首字母的缩写,翻译过来是抽象窗口工具包,只不过这个包的API,需要调用本地系统方法实现功能,和本地系统有关联,不利于代码移植,属重量级控件 javax.swing 包:它是在awt的基础上,建立的一套图形界面系统,提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件 组件:具有图形表示的对象,该图形表示可以显示在屏幕上并且可以与用户交互常用组件
JFrame(初识窗体)
是一个顶层窗口 构造方法: JFrame():构造一个最初不可见的新窗体 成员方法: void setVisible(boolean b):显示或隐藏此窗体具体取决于参数b的值 void setSize(int width, int height):调整此组件的大小,使其宽度为width,高度为height,单位是像素 void setTitle(String title):设置窗体标题 void setLocationRelativeTo(Component c):设置位置,值为null,则窗体位于屏幕中央 void setDefaultCloseOperation(int operation):设置窗体关闭时默认操作 整数3表示:窗口关闭时退出应用程序 void setAlwaysOnTop(boolean alwaysOnTop):设置此窗口是否应始终位于其他窗口之上import javax.swing.*; public class JFrameDemo { public static void main(String[] args) { //创建窗体对象 JFrame jf = new JFrame(); //void setTitle(String title):设置窗体标题 jf.setTitle("百度一下,你就知道"); //设置窗体大小 jf.setSize(400, 300); //void setDefaultCloseOperation(int operation):设置窗体关闭时默认操作(整数3表示:窗口关闭时退出应用程序) jf.setDefaultCloseOperation(3); //void setLocationRelativeTo(Component c):设置位置,值为null,则窗体位于屏幕中央 jf.setLocationRelativeTo(null); //void setAlwaysOnTop(boolean alwaysOnTop):设置此窗口是否应始终位于其他窗口之上 jf.setAlwaysOnTop(true); //设置窗体可见 jf.setVisible(true); } }
JButton(窗口中添加按钮)
按钮的实现 构造方法: JButton(String text):创建一个带文本的按钮 成员方法: void setSize(int width, int height):设置大小 void setLocation(int x, int y):设置位置(x坐标,y坐标) void setBounds(int x, int y, int width, int height):设置位置和大小 和窗体相关操作: 取消窗体默认布局:窗体对象.setLayout(null); 把按钮添加到窗体:窗体对象.add(按钮对象);import javax.swing.*; public class JButtonDemo { public static void main(String[] args) { //创建窗体对象 JFrame jf = new JFrame(); jf.setTitle("窗口中添加按钮"); jf.setSize(400, 300); jf.setDefaultCloseOperation(3); jf.setLocationRelativeTo(null); jf.setAlwaysOnTop(true); jf.setLayout(null); //取消窗体的默认布局 JButton btn = new JButton("按钮"); btn.setBounds(100,100,100,20); jf.add(btn); //设置窗体可见 jf.setVisible(true); } }
JLabel(显示文本和图像)
短文本字符串或图像的显示区域 构造方法: JLabel(String text):使用指定的文本创建 JLabel实例 JLabel(Icon image):使用指定的图像创建 JLabel实例 ImageIcon(String filename):从指定的文件创建ImageIcon 文件路径:绝对路径和相对路径 绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:D:\IdeaProjects\javase_code\it-api-gui\images\mn.png 相对路径:必须使用取自其他路径名的信息进行解释。例如:it-api-gui\images\mn.png 成员方法: void setBounds(int x, int y, int width, int height):设置位置和大小import javax.swing.*; public class JLabelDemo { public static void main(String[] args) { //创建窗体对象 JFrame jf = new JFrame(); jf.setTitle("显示文本和图像"); jf.setSize(400, 300); jf.setDefaultCloseOperation(3); jf.setLocationRelativeTo(null); jf.setAlwaysOnTop(true); jf.setLayout(null); JLabel jLabel = new JLabel("好好学习"); jLabel.setBounds(0,0,100,20); JLabel jLabel2 = new JLabel(new ImageIcon("it-api-gui\\images\\mn.png")); jLabel2.setBounds(50,50,100,143); jf.add(jLabel); jf.add(jLabel2); //设置窗体可见 jf.setVisible(true); } }
JTextField(编辑单行文本)
实现输入框 构造方法: JTextField():构造一个新的 TextField 成员方法: void setBounds(int x, int y, int width, int height):设置位置和大小JPasswordField(编辑单行文本,但不显示原始字符)
实现密码输入框,密码隐藏 构造方法: JPasswordField():构造一个新的 JPasswordField 成员方法: void setBounds(int x, int y, int width, int height):设置位置和大小import javax.swing.*; /* 用户登录 */ public class UserLogin { public static void main(String[] args) { //创建窗体对象 JFrame jf = new JFrame(); jf.setTitle("用户登录"); jf.setSize(400, 300); jf.setDefaultCloseOperation(3); jf.setLocationRelativeTo(null); jf.setAlwaysOnTop(true); jf.setLayout(null); //显示用户名文本 JLabel usernameLable = new JLabel("用户名"); usernameLable.setBounds(50,50,50,20); jf.add(usernameLable); //用户名输入框 JTextField usernameField = new JTextField(); usernameField.setBounds(150,50,180,20); jf.add(usernameField); //显示密码文本 JLabel passwordLable = new JLabel("密码"); passwordLable.setBounds(50,100,50,20); jf.add(passwordLable); //密码输入框 // JTextField passwordField = new JTextField(); // passwordField.setBounds(150,100,180,20); // jf.add(passwordField); JPasswordField passwordField = new JPasswordField(); passwordField.setBounds(150,100,180,20); jf.add(passwordField); //登录按钮 JButton loginButton = new JButton("登录"); loginButton.setBounds(50,200,280,20); jf.add(loginButton); jf.setVisible(true); } }
JTextArea(纯文本的多行区域)
显示纯文本的多行区域
构造方法: JTextArea():构造一个新的TextArea 成员方法: void setBounds(int x, int y, int width, int height):设置位置和大小 void append(String str) 将给定文本附加到文档的末尾事件监听机制
事件监听机制的组成:
事件源:事件发生的地方。可以是按钮,窗体,图片等
事件:发生了什么事情。例如:鼠标点击事件,键盘按下事件等
事件绑定:把事件绑定到事件源上,当发生了某个事件,则触发对应的处理逻辑
事件源对象. addXXXListener(事件);
import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class UserLogin { public static void main(String[] args) { //创建窗体对象 JFrame jf = new JFrame(); jf.setTitle("用户登录"); jf.setSize(400, 300); jf.setDefaultCloseOperation(3); jf.setLocationRelativeTo(null); jf.setAlwaysOnTop(true); jf.setLayout(null); //显示用户名文本 JLabel usernameLable = new JLabel("用户名"); usernameLable.setBounds(50, 50, 50, 20); jf.add(usernameLable); //用户名输入框 JTextField usernameField = new JTextField(); usernameField.setBounds(150, 50, 180, 20); jf.add(usernameField); //显示密码文本 JLabel passwordLable = new JLabel("密码"); passwordLable.setBounds(50, 100, 50, 20); jf.add(passwordLable); //密码输入框 JPasswordField passwordField = new JPasswordField(); passwordField.setBounds(150, 100, 180, 20); jf.add(passwordField); //登录按钮 JButton loginButton = new JButton("登录"); loginButton.setBounds(50, 200, 280, 20); jf.add(loginButton); //已知的用户名和密码 String name = "username"; String pwd = "123456"; //事件监听机制 loginButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //获取用户输入的用户名和密码 String username = usernameField.getText(); String password = passwordField.getText(); //先判断输入的用户名和密码是否符合要求 //用户名和密码的长度都是6-12位 if(username.length()<6 || username.length()>12) { // System.out.println("用户名的长度是6-12位,请重新输入"); //静态的成员方法和成员变量是可以通过类名访问的 JOptionPane.showMessageDialog(jf,"用户名的长度是6-12位,请重新输入"); //JOptionPane弹出一个标准对话框,提示用户输入值 usernameField.setText(""); return; } //再判断用户登录是否成功 if(username.equals(name) && password.equals(pwd)) { // System.out.println("登录成功"); JOptionPane.showMessageDialog(jf,"登录成功"); usernameField.setText(""); passwordField.setText(""); } else { // System.out.println("用户名或者密码有误"); JOptionPane.showMessageDialog(jf,"用户名或者密码有误"); } } }); jf.setVisible(true); } }
标签:常用,String,int,void,API,Date,new,jf From: https://www.cnblogs.com/sunny-sml/p/16936961.html