bj Java初学2015-07-24

学习笔记:

目录、

程序1:使用JSon来传输网络数据,
程序2:从B_Student类得到学生信息。并用JSONObject对象obj显示出来
程序3:练习使用Date类和Calendar类
程序4:练习使用SimpleDateFormat类来格式化时间
程序5:ArrayList和Comparator和Collections
程序6:HashSet和Iterator迭代器
程序7:练习使用HashMap
程序8:使用“T”来限制
程序9:练习使用枚举,enum

Collection存储一组不唯一,无序
list存储不唯一、有序、可以重复
Set存储唯一 、无序
Arraylist内存连续的空间,长度可变。优点遍历快,缺点插入数据慢
linkedlist内存非连续的空间,优点删除数据方便,遍历慢增加删除快。
for each格式
for(Student(类名) s(实例化对象):Students(遍历的数组))
HashSet:是一个无序的集,不可重复,但是可以快速查找制定对象。
HashMap(key,values)允许null key和nullvalues. (key不允许重复)。
HashTable不允许null key和nullvalues,线程安全的

程序1:

/*使用JSon来传输网络数据,
 * */
package com.day9_2015_07_24;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class A_JSon {
    public static void main(String[] args) {
        String json = createJSOn();
        if(null!=json)
        {
            JSONObject clazz = JSONObject.fromObject(json);
            System.out.println(clazz.getString("classesname"));
            System.out.println(clazz.getString("num"));
            JSONArray array = clazz.getJSONArray("students");
            for (int i = 0; i < array.size(); i++) {
                JSONObject obj = array.getJSONObject(i);
                System.out.println(obj.getString("name"));
            }
        }       
    }
    public static String createJSOn()
    {
        //一个大括号括起来的就是一个JSONObject
        JSONObject object1 = new JSONObject();
        object1.put("name", "张三");
        JSONObject object2 = new JSONObject();
        object2.put("name", "李四");
        JSONObject object3 = new JSONObject();
        object3.put("name", "王五");
        //学生信息为数组,多以要用JSONArray
        JSONArray array = new JSONArray();
        array.add(object1);
        array.add(object2);
        array.add(object3);
        JSONObject classes = new JSONObject();
        classes.put("classesname", "2012163班");
        classes.put("num", "3");
        classes.put("students", array);
        //{"classesname":"2012163班","num":"3","students":[{"name":"张三"},{"name":"李四"},{"name":"王五"}]}
        //System.out.println(classes.toString());
        return classes.toString();      
    }
}

运行结果:
这里写图片描述

程序2:

/*从B_Student类得到学生信息。并用JSONObject对象obj显示出来
 * */
package com.day9_2015_07_24;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class B_JSon {
    public static void main(String[] args) {

        creatJSon();
    }
    public static String creatJSon()
    {
        B_Student zhangsan = new B_Student(12, "张三");
        B_Student lisi = new B_Student(12, "李四");
        B_Student wangwu = new B_Student(12, "王五");
        B_Student zhaoliu = new B_Student(12, "赵六");
        JSONArray array = new JSONArray();
        array.add(zhangsan);
        array.add(lisi);
        array.add(wangwu);
        array.add(zhaoliu);
        JSONObject obj = new JSONObject();
        obj.put("students", array);
        System.out.println(obj.toString());
        return obj.toString();

    }

}
package com.day9_2015_07_24;
public class B_Student {
    private int age;
    private String name;
    public B_Student(int age,String name)
    {
        this.age = age;
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

运行结果:
这里写图片描述

程序3:

/*练习使用Date和Calendar类
 * */
package com.day9_2015_07_24;
import java.util.Calendar;
import java.util.Date;
public class C_Calendar {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);//Fri Jul 24 14:00:38 CST 2015
        System.out.println(date.getDate());//24日
        System.out.println(date.getDay());//5    一周第几天
        System.out.println(date.getHours());//   14点
        System.out.println(date.getMinutes());//  0
        System.out.println(date.getMonth());//6    实际是7月
        System.out.println(date.getSeconds());//38
        System.out.println(date.getTime());//1437717638663
        System.out.println(date.getTimezoneOffset());//-480
        System.out.println(date.getYear());//115
        System.out.println(date.getClass());//class java.util.Date
        System.out.println("---------------------");
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//11
        System.out.println(calendar.get(Calendar.MONTH));//6
        System.out.println(calendar.get(Calendar.YEAR));//2015
        System.out.println(calendar.get(Calendar.HOUR));//11
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));//4
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//24
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//6
        calendar.add(Calendar.HOUR, 50);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH)+"---"+calendar.get(Calendar.HOUR));  
    }

}

运行结果:
这里写图片描述

程序4:

/*练习使用SimpleDateFormat类来格式化时间
 * */
package com.day9_2015_07_24;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class D_SimpleDateFormate {
    public static void main(String[] args) {
        //Date date = new Date();
        SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy年-MM月-dd日    kk时-mm分-ss秒--SSS毫秒");
        //System.out.println(dateFormate.format(date));
        String s = "2015年-07月-24日    11时-42分-28秒--378毫秒";
        try {
            Date date = dateFormate.parse(s);
            System.out.println(date.getDate());//24日
            System.out.println(date.getDay());//5    一周第几天
            System.out.println(date.getHours());//  11时
            System.out.println(date.getMinutes());//42分
            System.out.println(date.getMonth());//6   月  月份从0开始
            System.out.println(date.getSeconds());//28秒
            System.out.println(date.getTime());//1437709348378
            System.out.println(date.getTimezoneOffset());//-480
            System.out.println(date.getYear());//115   2015-1900年
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
    }
}

程序5

/*练习使用ArrayList,需要用到B_Student这个类。
 * 使用Collections.sort(Students,comparator);这个方法对Students这个链表中学生的年龄进行排序,
 * list存储,存储不唯一有序,可以重复
 * */
package com.day9_2015_07_24;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class E_ArrayList {
    public static void main(String[] args) {
        List<B_Student> Students = new ArrayList<B_Student>();
        B_Student zhangsan  = new B_Student(16,"张三");
        Students.add(zhangsan);
        B_Student lisi  = new B_Student(22,"李四");
        Students.add(lisi);
        B_Student wangwu  = new B_Student(14,"王五");
        Students.add(wangwu);
        B_Student zhaoliu  = new B_Student(19,"赵六");
        Students.add(zhaoliu);
        Students.add(zhangsan);
        Students.get(4).setName("张无忌");
        Students.remove(0);
        B_Student zhaomin  = new B_Student(22,"敏敏特穆尔");
        Students.add(1, zhaomin);
//      for (int i = 0; i < Students.size(); i++) {
//          B_Student s=Students.get(i);
//          System.out.println(s.getName());
//      }
        E_Comparator comparator  = new E_Comparator();
        Collections.sort(Students,comparator);
        for(B_Student s:Students)
        {
            System.out.println(s.getName()+" "+s.getAge());
        }
        Students.toArray();
        for (int i = 0; i < Students.toArray().length; i++) {
            System.out.println("11111111111   "+((B_Student)(Students.toArray()[i])).getAge());
        }           
    }
}
package com.day9_2015_07_24;
import java.util.Comparator;
public class E_Comparator implements Comparator<B_Student> {
    @Override
    public int compare(B_Student s1, B_Student s2) {
        // TODO Auto-generated method stub
        return s1.getAge()-s2.getAge();
    }
}

运行结果:
这里写图片描述

程序6:

/*用HashSet和Random随机生成10个两位整数,将得到的两位整数放在HashSet对象 set中。
 * 存储唯一,,无序
 * */
package com.day9_2015_07_24;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
public class F_HashSet {
public static void main(String[] args) {
    HashSet<Integer>  set = new HashSet<Integer>();
    Random random = new Random();
    while(set.size()<10)
    {
        int i=random.nextInt(90)+10;
        set.add(i);
    }
    Iterator<Integer> it = set.iterator();
    int i=1;
    while(it.hasNext())
    {
        System.out.println("第"+i+"个数字是:"+it.next());
        i++;
    }
}
}

运行结果:
这里写图片描述

程序7:

/*练习使用HashMap
 * */
package com.day9_2015_07_24;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class G_HashMap {
    public static void main(String[] args) {
        HashMap<String,String> map = new HashMap<String,String>();
        map.put("CN", "中国");
        map.put("USA", "美国");
        map.put("JP", "小日本");
        //System.out.println(map.get("CN"));
        HashMap<String,B_Student> map1 = new HashMap<String, B_Student>();
        B_Student mjjz = new B_Student(20,"张无忌");
        B_Student gmzs = new B_Student(30,"杨逍");
        B_Student gmys = new B_Student(35,"范瑶");
        B_Student zslg = new B_Student(31, "紫衫龙王");
        B_Student jmsw = new B_Student(34, "金毛狮王");
        B_Student qyfw = new B_Student(32, "青翼蝠王");
        B_Student bmyw = new B_Student(45, "白眉鹰王");
        map1.put("a", mjjz);
        map1.put("b", gmzs);
        map1.put("c", gmys);
        map1.put("d", zslg);
        map1.put("e", jmsw);
        map1.put("f", qyfw);
        map1.put("g", bmyw);
        // 返回此映射中所包含的键的 Set 视图。
        Set<String> set = map1.keySet();
        Iterator<String> it = set.iterator();
        while(it.hasNext())
        {
            //System.out.println(it.next());
            String key = it.next();
            System.out.println(key+"---"+map1.get(key).getName());
        }

    }

}

运行结果:
这里写图片描述

程序8

package com.day9_2015_07_24;
public class J_main 
{
    public static void main(String[] args) {
        J_Student<J_Dog> zhangsan = new J_Student<J_Dog>();
        J_Dog dog1 = new J_Dog();
        dog1.setName("哈巴狗");
        zhangsan.setPet(dog1);
        System.out.println(zhangsan.getPet().getName());//哈巴狗
        System.out.println("-------");//-------
        J_Student<J_EPet> lisi = new J_Student<J_EPet>();
        J_EPet ePet = new J_EPet();
        ePet.setName("胖胖熊");
        lisi.setPet(ePet);
        System.out.println(lisi.getPet().getName());//胖胖熊
    }
}
package com.day9_2015_07_24;
//如果 T extends J_Animal ,则主函数中将不能够再使用J_EPet类,因为该类不是继承自J_Animal。
public class J_Student<T > {
    //T在这里指的是猫狗或者电子宠物,具体是什么不确定
    private int age;
    private String name;
    public T getPet() {
        return pet;
    }
    public void setPet(T pet) {
        this.pet = pet;
    }
    private T  pet;
    public J_Student()
    {

    }
    public J_Student(int age,String name)
    {
        this.age = age;
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
package com.day9_2015_07_24;

public class J_Animal {

}
package com.day9_2015_07_24;

public class J_Cat extends J_Animal{

}
package com.day9_2015_07_24;

public class J_Dog extends J_Animal {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
package com.day9_2015_07_24;
public class J_EPet {
    private String name;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }   
}

程序9

/*练习使用枚举,enum
 * */
package com.day9_2015_07_24;
public class K_Main {
    public static void main(String[] args) {
        K_Student zhangsan = new K_Student(20, "张三");
        zhangsan.setSex(K_Sex.MAIL);
        System.out.println(zhangsan.getSex());  //运行结果:MAIL
        switch(zhangsan.getSex())
        {
        case MAIL:
            System.out.println("---------------");//运行结果:---------------
            break;
        case FEMAIL:
            break;

        }
    }
}
package com.day9_2015_07_24;
public class K_Student {
    private int age;
    private String name;
    private K_Sex sex;
    public K_Sex getSex() {
        return sex;
    }
    public void setSex(K_Sex sex) {
        this.sex = sex;
    }
    public K_Student(int age,String name)
    {
        this.age = age;
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }


}
package com.day9_2015_07_24;

public enum K_Sex {
    MAIL,FEMAIL

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章