JAVA学习第九天
来源:互联网 发布:二维数组赋值汉字 编辑:程序博客网 时间:2024/05/29 04:45
枚举
泛型
ArrayList
Calendar
用HashSet.iterator从十个随机数中遍历 最终10个数不重复
JSON
HashMap的使用
枚举
//enum枚举 package com.lingzhuo.test;public class SexEnum_Test { public static void main(String[] args) { // TODO Auto-generated method stub Student1 zhangsan=new Student1();//学生对象 zhangsan.setSex(Sex.MALE); System.out.println(zhangsan.getSex()); zhangsan.setSex(Sex.FEMALE); switch (zhangsan.getSex()) { case MALE: System.out.println("张三的性别"+"男的"); break; case FEMALE: System.out.println("张三的性别"+"女的"); break; default: break; } }}
Student1
package com.lingzhuo.test;public class Student1 { private Sex sex;//Sex为类型 private String name; private int age; public Sex getSex() { return sex; } public void setSex(Sex sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
enum Sex
//枚举package com.lingzhuo.test;public enum Sex { MALE,FEMALE}
HashMap的使用
///HashMap<String, Student> clazz = new HashMap<String, Student>();使用方法 package com.donghe.test;import java.util.HashMap;import java.util.Iterator;import java.util.Set;public class HashMap_Test { public static void main(String[] args) { // TODO Auto-generated method stub //HashMap<K,V> HashMap<String, String> countries = new HashMap<String, String>(); countries.put("CN", "中国");//使用的是put countries.put("USA", "美国"); countries.put("JP", "日本"); countries.put("UK", "英国"); System.out.println(countries.get("UK")); HashMap<String, Student> clazz = new HashMap<String, Student>(); clazz.put("zhangsan", new Student(20, "张三")); clazz.put(null, new Student(20, "李四")); //hashmap低层是有一个数组类型是Entry和链表的结构构成的 //具体会先在 Entry table [0]下找里面有没有K为null的,如果没有就加进 Entry table [0]链表里并返回null clazz.put("wangwu", null);//空指针异常 clazz.put("lisi", new Student(20, "赵六")); Set<String> keys = clazz.keySet();//Set集合 放keys的集合 //Set一个不包含重复元素的 collection Iterator<String> it = keys.iterator(); //Set.iterator()返回在此 set 中的元素上进行迭代的迭代器。 while (it.hasNext()) {//是否有// System.out.println(it.next()); String key=it.next();//有就拿 注意不要用重复了 用一个拿一个 System.out.println(key+"--------"+clazz.get(key).getName()); } }}
//泛型
student
//泛型//一个人拥有一些宠物 比如猫 狗 猫和狗都属于动物 但是他还有电子pet 不属于动物 //package com.donghe.test;public class Student<T extends Animal> { private T pet; // T为类型 public T getPet() { return pet; } public void setPet(T pet) { this.pet = pet; } public Student(){ } public Student(int age,String name){ this.age=age; this.name=name; } private int age; private String 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; }}
Animal
package com.donghe.test;public class Animal {}
Cat
package com.donghe.test;public class Cat extends Animal {}
Dog
package com.donghe.test;public class Dog extends Animal {}
Pet
package com.donghe.test;public class Pet {}
AnimalCatDogPet_Test`
package com.donghe.test;public class AnimalCatDogPet_Test { public static void main(String[] args) { // TODO Auto-generated method stub Student<Cat> zhangsan=new Student<Cat>(); Cat tom=new Cat(); zhangsan.setPet(tom); zhangsan.getPet(); Student<Dog> lisi=new Student<Dog>(); lisi.setPet(new Dog());// Student<Pet> wangwu=new Student<Pet>();//不允许的 会报错 宠物类型不对 是电子宠物但不是动物// wangwu.setPet(new Pet()); }}
ArrayList
//ArrayListpackage com.donghe.test;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;public class ArrayList_Test { public static void main(String[] args) { //数组放的是统一类型的 内存大小是规定的可以写入数据覆盖 //但是数组列表放的可以不是同一类型的 可以申请连续空间 并且本身是连续的内存 //增加或者删除都会影响后面的数组链表的下标的变化 也就是地址不一样了 从插入点或者删除点一起向上平移或者向下评议 List<Student> students=new ArrayList<Student>();//创建一个students列表 Student zhangsan=new Student(26,"张三"); students.add(zhangsan); Student lisi=new Student(20,"李四"); Student lisi1=new Student(20,"李四"); students.add(lisi); Student wangwu=new Student(23,"王五"); students.add(wangwu); students.add(lisi); students.add(wangwu);//数组列表中存放的是指向名字的地址 students.get(3).setName("nihao a ");//把地址改了 System.out.println(students.contains(lisi1));//是否存在李四 Collections.sort(students, new StudentsComparator());//排序的关键语句 //Collections集合中的sort方法 可以对数组链表进行排序 //sort(List<T> list, Comparator<? super T> c) 根据指定比较器产生的顺序对指定列表进行排序。 //需要更改比较器 改一些参数 for (int i = 0; i < students.size(); i++) { Student s=students.get(i);//从students列表中得到一个学生 System.out.println(s.getName()+"----------"+s.getAge()); } System.out.println("-------------"); for(Student s:students){//后面放的是从哪里面取 前面是构造一个对象 System.out.println(s.getName()); } }}
StudentsComparator
package com.donghe.test;import java.util.Comparator;public class StudentsComparator implements Comparator<Student>{ @Override public int compare(Student s1, Student s2) { // TODO Auto-generated method stub System.out.println(s1.getAge()-s2.getAge()); return s1.getAge()-s2.getAge();//根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。 //默认为升序 反过来减的话是降序 //返回0为自然序列 }}
Calendar_Test
package com.donghe.test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Calendar_Test { public static void main(String[] args) { Date date=new Date();//得到系统时间 Calendar calendar=Calendar.getInstance(); System.out.println(date.getTime());//得到的是毫秒数 从1970开始到现在的时间的毫秒数 System.out.println(date.getDate());//号 System.out.println(date.getDay());//返回此日期表示的周中的某一天。 //(0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday) System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//星期日为第一天 今天星期五为 6//星期日为1 星期一为2 星期五为5 星期六为7与Date不同 Date星期天为0 System.out.println(date.getYear());//年 日期表示的年份减去 1900。 System.out.println(date.getMonth());//6 实际是7月 月份从零开始 System.out.println(date.getHours());//几点 System.out.println(date.getMinutes()); System.out.println(date.getSeconds());//38 System.out.println(date.getClass());//class java.util.Date System.out.println(date.getTimezoneOffset());//-480时区偏移// System.out.println(calendar.get(Calendar.DATE));//几号 System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//几号与Calendar.DATE一样 System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//星期日为第一天 今天星期五为 6//星期日为1 星期一为2 星期五为5 星期六为7与Date不同 Date星期天为0 System.out.println("----------"); System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));//常量 指示当前月中的第几个星期 System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//205指示当前年中的天数。 System.out.println(calendar.get(Calendar.HOUR));//12小时制 System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//(Calendar.HOUR_OF_DAY)常量几点24小时制 System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//当前月中的星期 System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//当前年中的星期数 //第一个月是 JANUARY,它为 0 //JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER, UNDECIMBER, System.out.println("-----------------"); calendar.add(Calendar.HOUR, 50); calendar.add(Calendar.HOUR_OF_DAY, 2); System.out.println(calendar.get(Calendar.DAY_OF_MONTH)+"----"+calendar.get(Calendar.HOUR_OF_DAY)); SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd kk:mm:ss"); SimpleDateFormat format1=new SimpleDateFormat("MM/dd/yyyy/年中的周数:ww/月份中的周数:WW/dd/DD/月份中的星期:F/E a:kk:mm:ss:SS 时区偏移:z"); // 而月份中的周数:WW是电脑右下角日期在本月中的第几行 月份中的星期:F是从1号开始算起过七天F加一 E是星期几会打印出当天 "星期几" 时区偏移:z打印的是时区:CST System.out.println(format1.format(date)); String s="2015/07/24 11:40:20";//时间格式必须与格式器的格式一样 包括空格 try { Date date1 = format.parse(s);//按格式解析一个时间字符串//将字符串解析为date System.out.println(format.format(date1)); System.out.println(date1.getDate()); } catch (ParseException e) { e.printStackTrace(); } }}
用HashSet.iterator从十个随机数中遍历 最终10个数不重复
///用HashSet.iterator从十个随机数中遍历 最终10个数不重复//HashSet<Integer> set =new HashSet<Integer>();package com.donghe.test;import java.util.HashSet;import java.util.Iterator;import java.util.Random;import javax.swing.plaf.synth.SynthEditorPaneUI;public class HashSetTest { public static void main(String[] args) { HashSet<Integer> set =new HashSet<Integer>();//构建一个空的set 不能写int 要为引用数据类型 Random random =new Random(); while(set.size()<10){ int i=random.nextInt(90)+10; set.add(i); } Iterator<Integer> it=set.iterator();//HashSet.iterator返回对此 set 中元素进行迭代的迭代器。 while(it.hasNext()){// Iterator.hasNext()如果仍有元素可以迭代,则返回 true。 System.out.println(it.next());// Iterator.next()返回迭代的下一个元素 } System.out.println(set.size()); }}
JSON
JSON_Test
//JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式package com.donghe.test;import java.io.File;import java.util.Arrays;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JSON_Test { public static void main(String[] args) { String json = creatJSONObject(); if (null != json) { JSONObject clazz = JSONObject.fromObject(json);//将json字符串变为JSON对象 // String testrString = "{\"abc\" : \"[123]\"}";//双引号前加\ // JSONObject reqjson = JSONObject.fromObject(testrString); // // 这个字符串转JSON对象后变成了 {abc : [123]}; // // 本来是字符串 “[123]" 就变成了 [123] 转成数组了。 JSONArray array = clazz.getJSONArray("clazz");//JSON数组 for (int i = 0; i < array.size(); i++) { JSONObject obj = array.getJSONObject(i); System.out.println(obj.getString("name")+"----------"+obj.getString("age")); } }// String json = creatJSONObject(); // if(null!=json){ // JSONObject clazz=JSONObject.fromObject(json); // System.out.println(clazz.getString("clazzname")); // JSONArray array=clazz.getJSONArray("students"); // // JSONObject obj=array.getJSONObject(0); // System.out.println(Arrays.toString(array)); // for (int i = 0; i < array.size(); i++) { // JSONObject obj=array.getJSONObject(i); // System.out.println(obj.getString("name")); // } // // } } public static String creatJSONObject() { Student zhangsan = new Student(20, "张三"); Student lisi = new Student(21, "李四"); Student wangwu = new Student(19, "王五"); Student zhaoliu = new Student(18, "赵六"); Student maqi = new Student(16, "麻七"); JSONObject obj = new JSONObject(); JSONArray array = new JSONArray(); array.add(zhangsan);// 数组用的是添加add array.add(lisi); array.add(wangwu); array.add(zhaoliu); array.add(maqi); obj.put("clazz", array);// put System.out.println(obj.toString()); return obj.toString(); } // public static String creatJSONObject(){ // JSONObject obj=new JSONObject(); // obj.put("name","张三"); // JSONObject obj2=new JSONObject(); // obj2.put("name","李四"); // JSONObject obj3=new JSONObject(); // obj3.put("name","王五"); // JSONArray array=new JSONArray(); // array.add(obj); // array.add(obj2); // array.add(obj3); // // JSONObject clazz=new JSONObject();//对象 // clazz.put("clazzname","一年级一班"); // clazz.put("students", array); // clazz.put("num", 3); // System.out.println(clazz.toString()); // return clazz.toString(); // }}
JSON_Test1
package com.donghe.test;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class JSON_Test1 { public static void main(String[] args) {// TODO Auto-generated method stub String json = creatJSONObject(); if(null!=json){ JSONObject clazz=JSONObject.fromObject(json); System.out.println(clazz.getString("clazzname")); JSONArray array=clazz.getJSONArray("students");// JSONObject obj=array.getJSONObject(0);// System.out.println(Arrays.toString(array)); for (int i = 0; i < array.size(); i++) { JSONObject obj=array.getJSONObject(i); System.out.println(obj.getString("name")); } } } public static String creatJSONObject(){ JSONObject obj=new JSONObject(); obj.put("name","张三"); JSONObject obj2=new JSONObject(); obj2.put("name","李四"); JSONObject obj3=new JSONObject(); obj3.put("name","王五"); JSONArray array=new JSONArray(); array.add(obj); array.add(obj2); array.add(obj3); JSONObject clazz=new JSONObject();//对象 clazz.put("clazzname","一年级一班"); clazz.put("students", array); clazz.put("num", 3); System.out.println(clazz.toString()); return clazz.toString(); }}
0 0
- Java学习第九天
- JAVA 学习第九天
- JAVA学习第九天
- Java学习第九天
- java学习第九天
- Java学习第九天
- java学习笔记--第九天
- 9/19 java学习第九天
- java学习总结——第九天
- JAVA学习 第九天(1)练习题
- 黑马程序员--java学习笔记第九天
- java学习第九天之exception
- 第九天学习java单列工厂
- 程序学习第九天
- 学习的第九天
- C#学习第九天
- .net学习第九天
- rhce学习第九天
- 使用Unity3D的50个技巧
- 3. 找出链表中倒数第k个节点
- Java 正则表达式详解
- 斯坦福《机器学习》Lesson7感想———1、最优间隔分类器
- dwz 右侧部分页面内容跳转(仅仅右侧里面的内容)
- JAVA学习第九天
- 黑马程序员——JAVA概述
- repo管理多个git仓库
- Qt QTimer测试定时精度
- Menu
- 安装Vmtools for linux
- linux下修改系统日期与时间
- Java如何从HttpServletRequest中读取HTTP请求的body
- 登录界面的制作