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

    1、本周学习总结

    各种数据类型,运算符,表达式的使用;
    枚举是初步了解及使用;
    字符串String类```
    
    #2.书面作业
    
    **Q1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。**
    ![](http://images2015.cnblogs.com/blog/1109851/201703/1109851-20170302210840032-380890427.png)
    
    ![](http://images2015.cnblogs.com/blog/1109851/201703/1109851-20170302210854251-32416422.png)
    ```String对象不变,两种方式,一种是直接='string';,一种是=new String("string");
    前种方式将字符串放在栈里,后一种通过new关键字,java会把new对象放在堆中,在运行时创建。```
    
    **Q2.为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?**
    
    ```String的每次使用都要重新建立一个新的对象,所以运行慢,为提高效率我们选择SringBuilder。```
    
    **Q3.比较两个字符串的值是否相等?为什么不能用==直接进行比较?**
    
    ```当字符串开辟一个新的空间来存储相同的内容,用==不能判断内容是否相同,要用equals来判断。
    ==比较引用地址时,如果是一个对象,则可以;比较引用内容时,如果是两个对象,即使内容相同,则不可以。```
    
    **Q4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
    String str1 =“hi“, str2=“hi“;
    String str3 = new String(str1)
    System.out.println(str1==str2);**
    
    ```建立了2个字符串对象,str1与str2为同一个字符串池的“hi”,所以输出true。```
    
    **Q5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i**
    
    ```Java在编译Integer i = 100的时候,会将其翻译成Integer i=Integer.valueOf(100),即将100值赋给i,即涉及到自动拆箱与自动装箱。```
    
    **Q6.尝试分析下面代码输出结果
    Integer i1 = 127;Integer i2 = 127;
    i1 == i2;//true of false?
    Integer i1 = 128;Integer i2 = 128;
    i1 == i2;//true of false**
    
    ```true,false。
    对于-128到127之间的数,会进行缓存,Integer i5 = 127时,会将127进行缓存,下次再写Integer i6 = 127时,就会直接从缓存中取,就不会new了。Integer i1 = 128因为对象不一样,所以为false。所以结果为true,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 尝试用命令行进行编译并运行,截图
    ![](http://images2015.cnblogs.com/blog/1109851/201703/1109851-20170304175631376-319898316.png)
    
    
    7.2 将生成的StringUtil.class放到d:lib正确的目录结构下,将Main.class在d:	est正确的目录结构,尝试在命令行下运行,并截图。
    ![](http://images2015.cnblogs.com/blog/1109851/201703/1109851-20170304175656829-694968723.png)
    
    
    7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。
    
    ```源代码放在src中,class文件放在bin中```
    **Q8.自己在这门课的目标与计划
    请描述一下你的技术基础(会什么语言,都写了多少行代码)
    一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?
    关于这门课的smart目标.**
    
    ```目前仅仅学会基础C语言,并刚开始学习JAVA。代码行数没记过,最多的是C语言课设几人一起写的两百多行。
    一周课余时间的百分之六七十都讲花在Java身上,目前准备好好解决课堂及作业问题,之后选择多看多写的方法,遇到困难不会的一定要问清楚,找会的同学,找老师。
    Smart目标,写个全文字对话系列选择小游戏。```
    
    #3. 使用码云管理Java代码
    ![](http://images2015.cnblogs.com/blog/1109851/201703/1109851-20170304180454985-513225472.png)
    
    
    
    #4. PTA实验实验中碰到的问题、思考、收获与解决方案
    ```JAVA中的函数非常多,可用于很多解决方法,遇到很多基本并且很难用繁琐代码解决的问题,一定要上网寻找是否有相关函数可以直接调用。
    在决定数据类型后,一定要统一需要本数据地方的数据类型
    再次提醒自己,class用Main```
    #5.小任务(加分)
    ```没做...```
  • 相关阅读:
    使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)
    便携版WinSCP在命令行下同步文件夹
    ffmpeg (ffprobe)分析文件关键帧时间点
    sqlite删除数据或者表后,回收数据库文件大小
    ubuntu 20.04下 freeswitch 配合 fail2ban 防恶意访问
    ffmpeg使用nvenc编码的结论记录
    PC版跑跑卡丁车 故事模式 亚瑟传说章节 卡美洛庆典 2阶段 心灵之眼 攻略
    There was an error loading or playing the video
    Nvidia RTX Voice 启动报错修复方法
    火狐浏览器 关闭跨域限制
  • 原文地址:https://www.cnblogs.com/GOB8023/p/6500688.html
Copyright © 2011-2022 走看看