• 201521123113 《Java程序设计》第2周学习总结


    1.本周学习总结

    • 学习了各种java数据类型以及各种运算符的使用
    • string类之所以好用是因为这是人可以看得懂的类型,操作简便
    • Scanner扫描器与标准输出输入用法上的不同,Scanner较标准输入输出来说比较简单易懂且好用
    • java中的顺序、选择、循环结构都跟c或c++的流程一样,没有多少出入,其中for (变量类型 变量名称 : 对象)等同于c中的for循环
    • 学习了一维,二维数组的用法
    • Arrays工具类的用法
    • 学习了包是完全限定类名,如何用cmd对带有包名的文件进行编译

    2.书面作业

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




    Q2.为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?

    • StringBuuilder是在字符串末尾操作,String在操作时先创一个内存储存字符串再把原来的字符串删除,如果要大量拼接字符串的话,String较StringBuuilder浪费空间时间。

    Q3.比较两个字符串的值是否相等?为什么不能用==直接进行比较?

    • 因为字符串的变量名代表字符串的首地址的指针,不是字符串的内容,用==号比较的话只能比较是否是同一个对象,结果只能是false或ture。

    Q4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:

    String str1 =“hi“, str2=“hi“;
    String str3 = new String(str1)
    System.out.println(str1==str2);
    
    • str1和str2在字符串池分别创建了一个"hi"的对象,str3在字符串池中创建了另一个对象为str1的对象,总共创建了两个对象。
    • 输出结果为true。

    Q5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i

    • Integer i = 100会自动转换成Integer i = new Integer(100),实际上调用的是Integer.valueOf(int i),Integer数在-127到128之间。

    Q6.尝试分析下面代码输出结果

    Integer i1 = 127;Integer i2 = 127;
    i1 == i2;//true of false?
    Integer i1 = 128;Integer i2 = 128;
    i1 == i2;//true of false
    
    • 第一个i1和i2的赋值在-128~127之间,是同一个对象,结果为true;
    • 第二个i1和i2的赋值为128,越界了,所以是不同对象,结果为false。

    Q7.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.3Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。

    • 源代码放在src文件夹中,class文件放在bin文件夹中。

    Q8.自己在这门课的目标与计划

    8.1请描述一下你的技术基础(会什么语言,都写了多少行代码)

    • PTA上的基础入门能较快的写出来,基本语法写起来较慢,基础较不扎实

    8.2一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?

    • 一天准备花1~2个小时学习java,写代码,至少两天要写一个题目;
    • 学习方法就是多打代码,多看例子,多找资料
    • 遇到困难百度或者向同学问问题

    8.3关于这门课的smart目标参考链接

    3.使用码云管理Java代码

    • 提交失败,还在找原因...

    4. PTA实验

  • 相关阅读:
    美团面试(c++方向)
    浪潮面试-软开
    ofo C++面试
    B树、B+树等
    爱奇艺2017秋招笔试(C++智能设备方向)
    腾讯内推一面C++
    i++ 相比 ++i 哪个更高效?为什么?
    进程间的通讯(IPC)方式
    一台服务器能够支持多少TCP并发连接呢?
    可重入和不可重入
  • 原文地址:https://www.cnblogs.com/leexd/p/6486720.html
Copyright © 2020-2023  润新知