zoukankan      html  css  js  c++  java
  • 201521123049 《JAVA程序设计》 第2周学习总结

    *1. 本周学习总结
    1.复习了一遍基本类型:整数类型(byte,short,int,long,char)、浮点类型(float,double)、boolean类型(true, false)。
    2.了解与掌握运算符和表达式的使用,例如:算术运算符、赋值运算符、位运算符等。
    3.学习了字符串数据类型,通过学习了解到比较时不能直接用进行比较,因为直接用是比较两字符串的地址。
    4.在课上与实验中,学习与利用选择结构与循环结构编写代码。
    选择结构:
    循环结构:
    5.在编写代码的过程中对基本类型与字符串数据类型的掌握并不熟练,需要多多练习。

    *2. 书面作业
    1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。


    答:String字符串是常量,其值在实例创建后就不能被修改。

    2.为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?
    答:string每次修改字符串都是新建,然后删除旧的串会很影响效率,所以在一些简单的功能上用string会简单;
    而stringBuilder是在字符串的末尾操作,在处理比较大的数据量时,stringBuilder会比string快。

    3.比较两个字符串的值是否相等?为什么不能用直接进行比较?
    答:比较两个字符串的值是否相等可以用equals来进行比较。在比较的时候不能用
    直接比较,如果用==直接比较
    是比较两个字符串的内存地址而不是比较两个字符串的值。

    4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
    String str1 =“hi“, str2=“hi“;
    String str3 = new String(str1)
    System.out.println(str1==str2);
    答:程序输出结果为:true;因为str1与str2为相同的字符串“hi”,所以是同一字符串,str3则为另外一个字符串。

    5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i
    答:Integer i=100可以看作Integer i=new Integer(100),利用了IntValue可以返回int值。

    6.尝试分析下面代码输出结果
    Integer i1 = 127;Integer i2 = 127;
    i1 == i2;//true of false?
    Integer i1 = 128;Integer i2 = 128;
    i1 == i2;//true of false
    答:第一段的代码输出结果为:true;第二段代码的输出结果为:false。因为Integer的valueOf()缓存范围为
    -128~127,第一段代码打包的都是127,在范围内,即i1==i2返回true,而第二段代码打包的为128,超出范围即
    为false。

    7.package与javac、 java、 -classpath、 -d
    在 com.ibm包中编写 StringUtil类,内有一方法
    public static void foo1(){
    System.out.println(StringUtil.class+" method:foo1");
    }

    在edu.jmu包中编写Main类,调用com.ibm.StringUtil的foo1方法
    7.1 尝试用命令行进行编译并运行,截图
    答:

    7.2 将生成的StringUtil.class放到d盘的lib目录下,将Main.class在d: est目录下,尝试命令行下运行,截图。
    答:

    7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。
    答:Eclipse中源代码放在src文件里,class文件放在bin目录中。
    8.自己在这门课的目标与计划 ◦请描述一下你的技术基础(会什么语言,都写了多少行代码)
    ◦一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?
    ◦关于这门课的smart目标参考链接
    答:从大学开始到现在,一共学了C语言,C++到现在刚学的java。即便已经学习了两门编程语言,但是觉得技术基础
    依旧薄弱,一些小的程序还可以自己编写,到一些大的程序只能去百度或者直接不会写。这个学期学习的java无疑是更为
    重要,我一周的50%的课余时间都会放在这门课上;至于写的代码数量要看实际解决的问题,从一些简单的代码程序开始,
    先熟悉基础的语句再慢慢过渡到难一点或复杂一点的程序;遇到问题或难点,我会先百度搜索,再不会就直接请教老师同学。

    *3. 使用码云管理Java代码

    实验小结:
    答:1.在PTA提交时,函数名没有换成Main函数名,导致一直编译错误;
    2.在做第一题实验时,由于在使用switch函数时对转换函数不熟练,最后换成if...else的形式。

  • 相关阅读:
    POJ 1611 The Suspects
    POJ 2001 Shortest Prefixes(字典树)
    HDU 1251 统计难题(字典树 裸题 链表做法)
    G++ C++之区别
    PAT 乙级 1013. 数素数 (20)
    PAT 乙级 1012. 数字分类 (20)
    PAT 乙级 1009. 说反话 (20)
    PAT 乙级 1008. 数组元素循环右移问题 (20)
    HDU 6063 17多校3 RXD and math(暴力打表题)
    HDU 6066 17多校3 RXD's date(超水题)
  • 原文地址:https://www.cnblogs.com/yzb123/p/6485962.html
Copyright © 2011-2022 走看看