1.scanner 类 import java.util.*;
- // 创建一个扫描对象 传入一个标准输入流
- // System.in: 用户点击的按键就是一个标准输入流
- Scanner san = new Scanner(System. in );
- String str = san.next(); // 开始扫描
- System.out.print("开始扫描整数:");
- int it = san.nextInt(); // java.util.InputMismatchException(输入不匹配异常)
- System.out.println("扫描到:" + it);
2.random 类 Random random = new Random();
- OUT:
- // 循环十次, 数据不能重复
- for (int i = 0; i < datas.length; i++) {
- // 生成随机数 10 10
- int data = random.nextInt(20);
3. 包装类 8 个包装类:
java 面向对象的编程语言
基本数据类型 引用类型
Java 有 8 个基本类型: Java 认为一切都是对象, 但这 8 个基本类型是例外
为了将 8 个基本类型也可以当成对象使用, Java 提供了包装类
byte -> Byte (包装成对象)
- short -> Short
- int -> Integer
- long -> Long
- float -> Float
- double -> Double
- char -> Character
- boolean -> Boolean
基本数据类型变成包装类以后: 实际上包装类就变成了引用类型了, 默认值是 null
自动装箱: Java 会自动把基本类型的值包装成对应包装类的实例
基本类型, 可以自动转对应的包装类
自动拆箱: Java 会自动把包装类的实例拆装成对应基本类型的值
包装类, 可以自动转对应的基本类型
自动
基本类型 <-------> 包装类
4.Date ,SimpleDateformat 当前时间: 类 Date 表示特定的瞬间, 精确到毫秒
- // 创建一个 Date 对象
- Date date = new Date();
- System.out.println(date); // 系统标准时间刻度
- long dt1 = date.getTime(); // 将标准系统时间转换成毫秒时间
- long dt = System.currentTimeMillis(); // 当前时间刻度的毫秒时间 从格林时间到现在为止的总毫秒数
- System.out.println(dt - dt1);
- // 得到程序开始执行的时间
- long startTimer = new Date().getTime();
- for (int i = 0; i < 100000; i++) {
- //System.out.println("-------------");
- }
- long endTimer = System.currentTimeMillis();
- System.out.println((endTimer - startTimer) / 1000.0);
- // 如果把毫秒转换转换成标准时间
- Date dt2 = new Date(endTimer);
- System.out.println(dt2);
- // System.out.println(dt2.toLocaleString() ); // 2016-7-29 15:51:56 这个方法过时了
- // 将标准时间转换成想要的时间格式
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH 时 mm 分 ss 秒");
- System.out.println(format.format(new Date()));
- long ll = System.currentTimeMillis();
- System.out.println(format.format(ll));
- // 将字符串转为时间
- format.parse("");
5.System 类 任何一个类默认就会自动导入 java.lang 包 error in
out
gc() 调用 gc 就是通知 Java 虚拟机回收未用对象, 以便能够快速地重用这些对象当前占用的内存
记住: currentTimeMillis() 返回以毫秒为单位的当前时间
6.Math 类 Math 类 (专门用于数学计算的)
abs 绝对值 floor(double a) 最接近 a 的整数并且小于等于 apow(double a, double b) 返回第一个参数的第二个参数次幂的值 random() 返回带正号的 double 值, 该值大于等于 0.0 且小于 1.0rint(double a) 返回最接近参数并等于某一整数的 double 值 round(double a) 返回最接近参数的 longsqrt(double a) 返回正确舍入的 double 值的正平方根
7.String,StringBuffer,StringBuilder
常量池: 存放字符串常量和基本类型常量 (public static final) 直接用双引号定义的存储在常量池中, new 出来的就直接放在堆中 直接 new 字符串, 先在常量池找是否存在这个字符串, 没有就直接在常量池创建一个 String s="s"+"tring"; 只创建一个 String 对象 Stirng 中的 equals 方法: 比较字符串的内容
String 常用的方法:
字符串长度: length()
截取一个字符: charAt(索引)
getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart) 例: String s="this is a demo of the getChars method."; char buf[]=new char[20]; s.getChars(10,14,buf,0); getBytes() 替代 getChars() 的一种方法是将字符存储在字节数组中, 该方法即 getBytes() equals() 和 equalsIgnoreCase() 比较两个字符串 substring() 它有两种形式, 第一种是: String substring(int startIndex) 第二种是: String substring(int startIndex,int endIndex) trim() 去掉起始和结尾的空格 基本类型转换成字符串时, 例如, static String valueOf(int i) 把字符串转换成基本类型时, 例如, int,integer.praseInt(String s)
8.HashSet(ArrayList 比 HashSet 多一种 for 循环遍历)
- Set set = new HashSet();
- set.add(30); //Integer // 遍历 set 集合的第一种方法 forEach
- for (Object obj: set) {
- //System.out.println(obj);
- }
- //set 集合不可以通过 for 循环进行遍历, 原因: Set 集合中没有提供根据索引获取对应元素的方法
- /*for(int i=0;i<set.size();i++){
- }*/
- // 遍历 set 集合的第二种方案
- Iterator it = set.iterator(); // 调用 iterator() 方案底层会将 set 集合中所有的数据存放在 Iterator 实例中
- // 通过 while 遍历 迭代器 Iterator 获取迭代器中的元素
- //it.hasNext(): 如果迭代器中还有元素 则返回 true 没有则返回 false it.next(): 获取数据并让指针下移
- while (it.hasNext()) {
- // 获取迭代器中的元素
- Object obj = it.next(); // 取数据
- }
- 9.HashMap Map < Integer,
- Article > maps = new HashMap < Integer,
- Article > ();
- // 往集合中存放数据
- maps.put(5, article);
- //System.out.println("map 集合中元素的个数:"+maps.size()+"集合是否为空:"+maps.isEmpty()+"=="+(maps==null));
- if (maps.containsKey(5)) {
- //System.out.println("此商品已经购买过");
- } else {
- //System.out.println("此商品不存在与购物车中");
- }
- // 遍历 map 集合 的第一种方式
- Set < Integer > keys = maps.keySet(); // 返回 map 集合中所有的 key
- for (Integer key: keys) {
- //System.out.println(key);
- // 根据 map 集合中的 key 值, 获取对应的 value 的值
- Article ar = maps.get(key);
- System.out.println(key + "==" + ar);
- }
- // 遍历 map 集合 的第二种方式 获取 map 集合中所有的 value 值
- Collection < Article > values = maps.values();
- for (Article ar: values) {
- //System.out.println(ar);
- }
- // 遍历 map 集合 的第三种方式
- Set < Entry < Integer,
- Article >> sets = maps.entrySet();
- for (Entry < Integer, Article > entry: sets) {
- // 获取集合中的 key 值
- Integer key = entry.getKey();
- // 获取集合中的 value 值
- Article ar = entry.getValue();
- //System.out.println("key:"+key+"==value:"+ar);
- }
3 常用 API
来源: http://www.bubuko.com/infodetail-2493025.html