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的整数 并且 小于等于a。 pow(double a, double b) 返回第一个参数的第二个参数次幂的值。 random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。 rint(double a) 返回最接近参数并等于某一整数的 double 值。 round(double a) 返回最接近参数的 long。 sqrt(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);
    }