为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第三季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第三季

陈码农
难度入门
时长 5小时 0分
  • 一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

    查看全部
  • 在 Java 中,字符串被作为 String 类型的对象处理。

    创建 String 对象的方法:

    53a7c2d400016ac005630170.jpg

    查看全部
  • 多次出现的字符常量,Java编译程序只创建一个

    String s1="爱慕课";

    String s2="爱慕课";53a8dcce0001cc7406130396.jpg

    查看全部
  • import java.util.List;
    import java.util.ArrayList;
    public class TestGeneric{
    //带有泛型--Course,的list类型的属性
    public List<Course>courses;
    public TestGeneric(){
    this.courses=new ArrayList<Course>();
    }
    //测试添加
    public void testAdd(){
    Course cr1=new Course("1","大学语文");
    courses.add(cr1);
    //泛型集合中,不能添加泛型规定的类型及其子类型以外的对象
    //courses.add("能否添加一些奇怪的东西呢");(报错)
    Course cr2=new Course("2","java基础");
    courses.add(cr2);}
    //测试循环遍历
    public void testForEach(){
    for(Course cr:courses){
    SYstem.out.println(cr.id+";"+dr.name);
    }}
    public static void main(String[] args){
    TestGeneric tg=new TestGeneric();
    tg.testAdd();
    tg.testForEach();
    }}


    查看全部
  • == 比较两个字符串的内存首地址是否相同

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

    查看全部
  • //往list中添加一些奇怪的东西(报错,因为之前都是添加course类型)
    public void testType(){
    System.out.println("能否往list中添加一些奇怪的东西呢?!");
    coursesToSelect.add("我不是一个课程,我只是一个无辜的字符串");
    
    }


    查看全部
  • 每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法(前面条件运算符章节讲过哦~~)
    查看全部
  • 一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder(后面章节中会讲到)。

    查看全部
  • 字符串的一些使用方法

    整型     length()  字符串长度

    整型     indexOf("xxx" or 'x') 字符串第一次出现“xxx”或"x"的位置

    整型     lastIndexOf("xxx") 字符串最后一次出现“xxx”的位置;如果没有匹配结果,返回 -1

    字符串    substring(位置1) 从位置1到字符串尾的字符串

    字符串    subtring(位置1,位置2) 从位置1到位置2的字符串

    字符串    trim() 把字符串前后的空格去掉

    布尔型    equals(),比较两个字符串

    字符串    toLowerCase() 将字符串转换为小写

    字符串    toUpperCase() 将字符串转换为大写


    查看全部
  • 字符串是一样的内容时,

    如果字符串没有变量,那么他们内存地址是相同的,

    如果字符串有变量的操作,那么只有在运行的时候才知道具体的值,所以不是相同的对象。

    查看全部
  • 遍历  keySet  返回是key     entrySet  返回是键值对 修改 put方法  只需将value中的name更改 添加  put方法 删除   remove(key)

    关于Map: 1.初始化变量 Map<String,Student>students = new HashMap<String,Student>() //初始化key值为String,存放的数据类型为student的students集合 2.put()增加对象 Student newStu = new Student(ID,name); students.put(ID,newStudent);//以ID作为key值 3.查找对象 (1)Set<String>keySet = students.keySet(); for(String stuId:keySet){ Student st =students.get(stuId); }//先用keySet()获取所有的key,再遍历获取每一个对象 (2)Set<Entry<String,Student>>entrySet = students.entrySet();//由于每个键值对都以entry类型存放,yongentrySet()方法获取所有键值对 for(Entry<String,Student>entry:entrySet) {//遍历获取键值对 entry.getKey();//获取key entry.getValue();//获取value } 4.删除 students.remove(ID);//根据key的值删除 5.修改 Student stu = students.get(ID); Student newStudent =new Student(ID,newname); students.put(ID,newStudent); /*Map中没有直接修改的方法,所以采用先找出对象,然后不修改key值,只修改value的方法进行修改*/

    查看全部
  • Map增删改查: 增:map的put(key,value)方法添加。 查:1.利用keyset()方法获得Map中key的集合,再遍历key的集合,利用Map的get(key)方法得到key对应的value值。 2.利用EntrySet方法获取May中Entry对象集:然后用foreach遍历集,再用Entry集的getkay()和getvalue()方法得到每一个key值和value值。 删:remove(object key) 改:put(原有的key,新的value) 通过entrySet可以返回Map中的所有键值对 Set<Entry<String,Student>>entrySet = students.entrySet();

     HashMap 类的方法已经写好,所以你调用HashMap 类的方法的时候当然要用它自己的名字,例如

           Haspmap实例名字.get(KEY)----返回对应的对象方法 ;    

           Haspmap实例名.put(Key, Value)----修改对应键的 Value; 

    首先  Haspmap实例名字.EntrySet <K,V> 也是HashMap 类已经写好的方法,返回一个 Entry<K,Y> 类型的对      象object. 


    查看全部
  • public class Courses{
    public String id;
    public String name;
    public Courses(String id,String name){
    this.id=id;
    this.name=name;}}
    
    
    import java.util.Set;
    import java.util.HashSet;
    public class Student{
    public String id;
    public String name;
    public Set courses;
    public Student(String id,String name){
    this.id=id;
    this.name=name;
    this.coursers=new HashSet();
    }}
    
    
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Iterator;
    public class ListTest{
    //用于存放备选课程的list
    public List coursesToSelect;
    public ListTest(){
    this.coursesToSelect=new ArrayList();
    }
    //用于往coursesToSelsect中添加备选课程
    public void testAdd(){
    //创建一个课程对象,并通过调用add方法,添加到备选课程list中
    Course cr1=new Course("1","数据结构");
    coursesToSelect.add(cr1);
    Course temp=(Course)coursesToSelect.get(0);
    System.out.println("添加了课程:"+temp.id+";"+temp.name);
    
    Course cr2=new Course("2","C语言");
    courseToSelect.add(0,cr2);
    Course temp2=(Course)coursesToSelect.get(0);
    System.out.println("添加了课程:"+temp2.id+";"+temp2.name);
    /**Course cr2=new Course("2","C语言");
    courseToSelect.add(4,cr2);
    报错,数组下标越界*/ 
    
    Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
    coursesToSelect.addAll(Arrays.asList(course));
    Course temp3=(Course)coursesToSelect.get(2);
    Course temp4=(Course)coursesToSelect.get(3);
    System.out.println("添加了两门课程:"+temp3.id+";"+temp3.name+";"+temp4.id+";"+temp4.name);
    Course[] course2={new Course("5","高等数学"),new Course("6","大学英语")};
    
    coursesToSelect.addAll(2,Arrays.asList(course2));
    Course temp5=(Course)coursesToSelect.get(2);
    Course temp6=(Course)coursesToSelect.get(3);
    System.out.println("添加了两门课程:"+temp5.id+";"+temp5.name+";"+temp6.id+";"+temp6.name);}
    
    public void testGet(){
    int size=coursesToSelect.size();
    System.out.println("有如下课程待选:");
    for(int i=0;i<size;i++){
    Course cr=(Course)coursesToSelect.get(i);
    System.out.println("课程:"+cr.id+";"+cr.name);}}
    
    //通过迭代器来遍历list
    public void testIterator(){
    Iterator it=coursesToSelect.iterator();
    System.out.println("有如下课程待选:");
    while(it.hasNext()){
    Course cr=(Course)it.next();
    System.out.println("课程:"+cr.id+";"+cr.name);}}
    
    //通过for each方法访问集合元素
    public void testForEach(){
    System.out.println("有如下课程待选(通过for each访问):");
    for(Object obj:coursesToSelect){
    Course cr=(Course)obj;
    System.out.println("课程:"+cr.id+";"+cr.name);
    }}
    
    //修改list中的元素
    public void testModify(){
    coursesToSelect.set(4,new Course("7","毛概"));
    }
    
    //删除list中的元素
    public void testRemove(){
    //方法1
    /**Course cr=(Course)coursesToSelect.get(4);
    System.out.println("我是课程:"+cr.id+";"+cr.name+",我即将被删除");
    coursesToSelect.remove(cr);*/
    //方法2
    /**System.out.println("即将删除4位置上的课程");
    coursesToSelect.remove(4);
    System.out.println("成功删除课程!");*/
    //方法3
    System.out.println("即将删除4位置和5位置上的课程");
    Course[] courses={(Course)coursesToSelect.get(4),(Course)coursesToSelect.get(5)};
    coursesToSelect.removeAll(Arrays.asList(courses));//将数组转换为集合
    System.out.println("成功删除课程!");
    testForEach();
    }
    public static void main(String[]args){
    ListTest it=new ListTest();
    it.testAdd();
    it.testGet();
    it.testIterator();
    it.testForEach();
    it.testModify();
    it.testForEach();
    it.testRemove();
    }
    }



    查看全部
  • //List的泛型不能是基本类型,只能是包装类。

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

        do{

            //确保集合中无重复值。

            k=random.nextInt(100);}while(Listsort.contains(k));

    }

    Collection.sort(List集合);//对List中的元素进行排序。

    当用于String类型的排序时,以首字母排序。若首字母相同,以后一位排序,直到排序结束。

    查看全部
  • try....catch是用来处理异常的。

    抛出异常用:throw:表示抛出异常的动作,写在方法体里面。

                        throws:写在方法名和方法参数表之后,在方法体之前   例如

    public void 方法名(参数列表)throws 异常列表{}


    查看全部

举报

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

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