丙午🐎年

acc8226 的博客

Random 类

让系统产生随机数使用

产生 0~9 的随机数 (int)(Math.random()*10);
产生 0~10 的随机数为 (int)(Math.random()*(11));
产生 0~999 的随机数 (int)(Math.random()*1000);

产生 1~10 的随机数为 (int)(Math.random()*10) + 1;

生成从 0 到 n-1 的随机整数 即返回值[0,n) (int)(Math.random()*(n+1);
生成从 0 到 n 的随机整数 即返回值[0,n] (int)(Math.random()*(n+1);

生成从 a 到 b 的随机整数 即返回值[a,b]
a + (int)(Math.random()*(b-a+1));

其实 Math 的 random 方法用的就是 util 包中的 Random 类。因此可以 Random.nextDouble() 替换 Math.random(), 但是这样说不太准确。

阅读全文 »

标准输入输出流

字符输入: char c = (char)System.in.read();

字符串输入:

1
2
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String str = buf.readLine();

使用 System.out 输出

(标准输出流 System.out )提供的如下方法

  1. print()方法:实现不换行的数据输出;
  2. println()方法:与上面方法的差别是输出数据后将换行。
  3. printf()方法:带格式描述的数据输出。该方法包含两个参数,第一个参数中给出输出格式的描述,第 2 个参数为输出数据,其中,输出格式描述字符串中需要安排与输出数据对应的格式符。常用格式符包括:%d 代表十进制数;%f 代表浮点数;%e 代表科学表示法的指数位数;%n 代表换行符;%x 代表十六进制数;%s 代表字符串。
阅读全文 »

Localizing Date 本地化时间
Localizing Currency 本地化货币
Localizing Number 本地化数字
Localing Text 本地化文本

对于本地化,java 的 Locale 类。Util 包的使用方法如下

1
2
Locale l = new Locale ("de","DE");
//第一个参数:语言代码; 第二个参数:城市代码

Localizing Date 本地化时间

1
2
3
DateTimeFormatter localFormater=
DateTimeFormatter.ofPattern("yyyy/MM/dd E a HH:mm:ss", new Locale("en", "US"));
System.out.println(LocalDateTime.now().format(localFormater));
阅读全文 »

对序列化的思考

implements Serializable

public interface Serializable
类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。

若该类没实现 Serializable 接口, 则在使用时会抛出 java.io.NotSerializableException

常用方法

找出最大值 和 最小值

现给出一串数据(313, 89, 123, 323, 313, 15, 90, 56, 39)求出最大值和最小值并输出。

方法一:排序后输出

1
2
3
Arrays.sort(data);
System.out.println(data[0]);
System.out.println(data[data.length - 1]);
阅读全文 »

什么是 ClassLoader
ClassLoader 简称类加载器,主要用于加载和校验编译后的 Java 文件(即:以.class结尾的文件);

有哪些类加载器(ClassLoader)
AppClassLoader(应用类加载器)
ExtClassLoader(扩展类加载器注意:JDK1.8后被修改为平台类加载器)
BootstrapClassLoader(启动类加载器)

获取类加载器
通过简单的 demo 来得到类加载器

1
2
3
4
5
6
7
8
9
public class User {
public static void main(String[] args) {
User user = new User();
Class<? extends User> userClass = user.getClass();
System.out.println(userClass.getClassLoader());
System.out.println(userClass.getClassLoader().getParent());
System.out.println(userClass.getClassLoader().getParent().getParent());
}
}
阅读全文 »
0%