imageJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
数据类型
数据类型 | 内存空间(1字节=8位) |
---|---|
Boolean | 8位/16位 |
byte | 8位 |
char | 16位 |
short | 16位 |
int | 32位 |
long | 64位 |
float | 32位 |
double | 64位 |
创建字符串String
1、String s = new String({'g','o','o','d'});
字符串操作
str.indexOf("g");// 查找索引位置
输入: Scanner()
Scanner scan = new Scanner(System.in)
.hasNext() 判断是否存在下一个输入,返回bool类型。
.hasNextInt() 判断下一个输入是否为Int型,返回bool类型。
.next() 取下一个输入值,遇到结束符停止(空格键、Tab键或Enter键等)。
.nextLine() 取下一行输入值,遇到Enter键停止,可以获得空白。
字符切割:split() (1)split表达式,就是一个正则表达式。*** ^ |** 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即 ** 加以转义。 (2)如果使用多个分隔符则需要借助 | 符号,如 "^|@|#",但需要转义符的仍然要加上分隔符进行处理。
使用一个或多个空格分割字符串
str.split("\\s+");
String 转换成 int
1). int i = Integer.parseInt([String]);//遇到不能被转换为整型的字符时,会抛出异常
int 转换成 String
1.) String s = String.valueOf(i);
Char[] 转换成 String
String str = String.copyValueOf(charArray)
String 转换成 Char[]
char[] arr = str.toCharArray()
String 转换成 Int[]
int[] arr = Arrays.stream(str.split(" "))
数组[]转list
List<String> list = Arrays.asList(stringArray);
float取整
// 1、向下取整:floor
获取数组最大值
int max = Arrays.stream(arr).max().getAsInt();
函数迭代示例
// 输入: 一个整数,当月利润。
HashMap方法
.put(Object key,Object value)// 添加元素
数组sort排序
1.Array.sort(int[] a) // 直接对数组进行升序排序
list集合sort排序
1、降序排列
倒序输出
1、list集合:
捕捉异常
try{
image
数组快速打印
// 打印一维数组
两个数组间复制
// 直接 = ,则是引用的复制,改变一个,另一个也会变:
Java引用类型
Java 中的“引用”,类似于C 和 C++ 里的“指针”。类、接口类型、数组类型、枚举类型、注解类型
基本数据类型:在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。
引用数据类型:在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
静态区、堆区、栈区、文字常量区
静态区: 保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。 堆区: 一般由程序员分配释放,由 malloc 系列函数或 new 操作符分配的内存,其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束,由OS释放。其特点是使用灵活,空间比较大,但容易出错 栈区: 由编译器自动分配释放,保存局部变量,栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁,其特点是效率高,但空间大小有限 常量区: 常量字符串就是放在这里的。 程序结束后由系统释放。
权限修饰符
image.gifJsoup(HTML解析器)
继承关系:Document继承Element继承Node。TextNode继承Node。
Jsoup下载文件
Connection.Response imgRes = Jsoup.connect(str).ignoreContentType(true).execute();
File类
java.io.File类用于表示文件或目录。
创建File对象:
序号 | 方法描述 |
---|---|
1 | public String getName() 返回由此抽象路径名表示的文件或目录的名称。 |
2 |
public String getParent()****、 返回此抽象路径名的父路径名的路径名字符串,如果此路径名没有指定父目录,则返回 null 。 |
3 |
public File getParentFile() 返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null 。 |
4 | public String getPath() 将此抽象路径名转换为一个路径名字符串。 |
5 | public boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。 |
6 | public String getAbsolutePath() 返回抽象路径名的绝对路径名字符串。 |
7 | public boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。 |
8 | public boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。 |
9 | public boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 |
10 | public boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。 |
11 | public boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 |
12 | public long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。 |
13 | public long length() 返回由此抽象路径名表示的文件的长度。 |
14 | public boolean createNewFile() throws IOException 当且仅当不存在具有此抽象路径名指定的名称的文件时,原子地创建由此抽象路径名指定的一个新的空文件。 |
15 | public boolean delete() 删除此抽象路径名表示的文件或目录。 |
16 | public void deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。 |
17 | public String[] list() 返回由此抽象路径名所表示的目录中的文件和目录的名称所组成字符串数组。 |
18 | public String[] list(FilenameFilter filter) 返回由包含在目录中的文件和目录的名称所组成的字符串数组,这一目录是通过满足指定过滤器的抽象路径名来表示的。 |
19 | public File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。 |
20 | public File[] listFiles(FileFilter filter) 返回表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组,这些路径名满足特定过滤器。 |
21 | public boolean mkdir() 创建此抽象路径名指定的目录。 |
22 | public boolean mkdirs() 创建此抽象路径名指定的目录,包括创建必需但不存在的父目录。 |
23 | public boolean renameTo(File dest) 重新命名此抽象路径名表示的文件。 |
24 | public boolean setLastModified(long time) 设置由此抽象路径名所指定的文件或目录的最后一次修改时间。 |
25 | public boolean setReadOnly() 标记此抽象路径名指定的文件或目录,以便只可对其进行读操作。 |
26 | public static File createTempFile(String prefix, String suffix, File directory) throws IOException 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。 |
27 | public static File createTempFile(String prefix, String suffix) throws IOException 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 |
28 | public int compareTo(File pathname) 按字母顺序比较两个抽象路径名。 |
29 | public int compareTo(Object o) 按字母顺序比较抽象路径名与给定对象。 |
30 | public boolean equals(Object obj) 测试此抽象路径名与给定对象是否相等。 |
31 | public String toString() 返回此抽象路径名的路径名字符串。 |
进制转换
// 10进制转2进制,返回一个二进制字符串
MQTT
基类 | 介绍 |
---|---|
MqttClient | 同步调用客户端,使用阻塞方法与MQTT服务器通信 |
MqttAsyncClient | 异步调用客户端,使用非阻塞方法与MQTT服务器通信,允许操作在后台运行 |
MqttClientPersistence | 表示持久性数据存储,用于存储正在传输的出站和入站消息,从而实现向指定的QoS的传递。可以使用 MqttClient指定此接口的实现,MqttClient将使用该实现来持久保存QoS为1和2消息 |
MqttConnectOptions | 保存控制客户端连接到服务器的方式的选项集,包括用户名、密码等 |
MqttMessage | MQTT消息,保存应用程序有效负载和指定消息如何传递的选项消息 |
日期转为字符串
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowStr = now.format(format);
字符串转为日期
String dateStr= "2019-08-01 14:28:58";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime date= LocalDateTime.parse(dateStr, formatter);
字符串转json
import com.alibaba.fastjson.JSONObject;
JSONObject jo = JSONObject.parseObject("字符串");
判断字符串是否为空
TextUtils.isEmpty(str);
网友评论