为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

难度入门
时长 5小时 0分
学习人数
综合评分9.50
1125人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.4 逻辑清晰
  • public class MapTest {

    public Map<String,Student> student;

    public MapTest() {

    this.student=new HashMap<String,Student>();

    }


    public void testPut() {

    Scanner input = new Scanner(System.in);

    int i=0;

    while(i<3) {

    System.out.println("请输入学生的id:");

    String str1 = input.next();

    Student st = student.get(str1);

    if(st==null) {

    System.out.println("请输入学生姓名:");

    String name = input.next();

    Student stu = new Student(str1,name);

    student.put(str1,stu);

    i++;

    }else {

    System.out.println("该学生已经被录入");

    continue;

    }

    }

    }

    public void testPrint() {

    System.out.println("学生总人数为:"+student.size());

    Set<String> keySet = student.keySet();

    for(String stuid : keySet) {

    Student stu = student.get(stuid);

    if(stu.name!=null) {

    System.out.println("学生为:"+student.get(stuid).name);

    }}

    }

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    MapTest demo = new MapTest();

    demo.testPut();

    demo.testPrint();

    }


    }


    查看全部
  • Map接口 1. Map接口提供了一中映射关系,其中的元素是键值对(key-value)的形式存储的,能够实现根据Key快速查找value。Key-value可以是任何对象,是以Entry类型的对象实例存在的。 2.Key是不可以重复的,Value是可以重复的。Key-value都可以为null,不过只能有一个key是null。

     3.map支持泛型,Map<K,V> 

    4.每个键最多只能映射到一个值

     5.Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法 

    6.通过put<K key,V value>,remove<Object key>操作数据 7.HashMap中的Entry对象是无序排列的,HashMap是Map的一个重要实现类,也是最常用的,是基于哈希表来实现的

    5d4f7f010001cee112800720-156-88.jpg

     


    查看全部
  • “==” 和 equals() 有什么区别呢?

    ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

    equals(): 比较存储在两个字符串对象中的内容是否一致


    查看全部
  • 通过迭代器来遍历list

    public void 方法名(){

    Iterator 对象名=List名.iterator();

    while(it.hasNext()){

    类名 对象名=(类名)it.next();//取得List中的元素

    }

    }

    通过foreach访问

    public void 方法名(){

    for(Object obj:List名){

    类名 对象名=(Object) obj;

    }

    }

    查看全部
  • 对象存入集合时都变成Object类型,取出时要进行类型转换

    查看全部
  • Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();


    查看全部
  • java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

    调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.YEAR 等为 Calendar 类中定义的静态常量。

    Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

    Date date=c.getTime();

    查看全部
  • 1.使用format()方法将日期转换为指定格式的文本

    //创建Date对象,表示当前时间

    Date d=new Date()

    //创建SimpleDateFormat对象,指定目标格式

    SimpleDateFormat sdf=new SimpleDateFormat("");

    //调用format()方法,格式化时间,转换为指定格式字符串

    String today=sdf.format();

    //输出转换后的字符串

    System.out.println(today);

    2.使用parse()方法将文本转换为日期

    //创建日期格式的字符串

    String day="2019年09月10号 12:09:00";

    //创建SimpleDateFormat对象,指定字符串的日期格式

    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 

    //调用parse()方法,将字符串转换为日期

    Date date=sdf.parse(day);

    //输出转换后的时间

    System.out.println("当前时间:"+date);

    查看全部
  • 基本类型转换为字符串有三种方法:

    1. 使用包装类的 toString() 方法

    String 字符串名=类型名全称.toString(对象名);

    2. 使用String类的 valueOf() 方法

    String 字符串名=String.valueOf(对象名);

    3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

    String 字符串名=对象名+"";

    将字符串转换成基本类型有两种方法:

    1. 调用包装类的 parseXxx 静态方法

    int 对象名=Integer.parseInt(字符串名);

    2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

    int 对象名=Integer.valueOf(字符串名);


    查看全部
  • 包装类主要提供了两大类方法:

    1. 将本类型和其他基本类型进行转换的方法

    2. 将字符串和本类型及包装类互相转换的方法


    查看全部
  • 将一个字符串转化为数组:byte[] 数组名=字符串名.getBytes();

    查看全部
  • 当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

    StringBuilder str1=new StringBuilder();(创建一个空的StringBuilder对象)

    StringBuilder str2=new StringBuilder("imooc");(创建一个字符串imooc)

    System.out.println(str2);


    查看全部
  • ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

    equals(): 比较存储在两个字符串对象中的内容是否一致

    PS:字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节,1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示。


    查看全部
  • set 中只能用foreach 和iterator 方法。而不能用List中的get()方法。

    因为set是无序的。list是有序的

    set中的元素是不可重复的,添加某个对象,无论添加多少次,最终只会保留一个该对象(的引用),并且,保留的是第一次添加的那一个

    set中可以添加空对象null的


    public static void main(String[] args) {

    // TODO Auto-generated method stub

    CauseToSet test = new CauseToSet();

    test.testAdd();

    Student student1 = new Student("1","CBB");

    Scanner input = new Scanner(System.in);

    for(int i=0;i<3;i++){

    System.out.println("请输入你要选课的id");

    String str = input.next();

    for(Cause ca :test.causetolist) {

    if(str.equals(ca.id)) {

    student1.cause.add(ca);

    //student1.cause.add(null); set中可以添加null

    }

    }

    }

    test.testForEachSet(student1);

    }

    public void testForEachSet(Student student) {

    for(Cause ca :student.cause) {

    System.out.println(ca.id+";"+ca.name);

    }

    }


    查看全部
  • 泛型中除了可以添加规定的类型还可以添加规定类型的子类型。

    1、泛型集合中的限定类型不能使用基本数据类型。如:int、long、boolean

    2、可以通过使用包装类限定允许存入的基本数据类型。如:Integer、Long、Boolean


    public void type() {

    List<Integer> test1 = new ArrayList<Integer>();

    test1.add(1);//这里的1为int类型,被强制转换为包装类Integer类型在加入test1中

    int a =test1.get(0);

    System.out.println(a);

    }

    public void testChird() {

    CauseChrid ca1 = new CauseChrid();

    ca1.id="6";

    ca1.name="CBB";

    causetoselect.add(ca1);



    查看全部

举报

0/150
提交
取消
课程须知
此部分为 Java 课程的进阶内容,适合具有一定 Java 基础的伙伴们学习,如果您是新手,建议您移步 《Java入门第一季》 和 《Java入门第二季》,在理解并掌握面向对象相关知识后再回来进修。
老师告诉你能学到什么?
本课程将学习 Java 中的异常处理、集合框架、字符串、常用类等,逐步学习掌握 Java 高级技术。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!