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

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