1: 本周学习总结

  1. 本周学习java的数据类型,两种数据类型:基本数据类型和引用数据类型。
  2. 学习关于String和StringBuilder之间不同。
  3. 本周还学习数组。一维数组,多维数组,和动态数组。

2: 书面作业

1:String-使用Eclipse关联jdk源代码

  1. 查看String对象的源代码(截图),分析String使用什么来存储字符串?



    String是通过char[]数组来存储字符串。

  2. 分析其构造函数public String(char value[])的作用?

    函数作用:通过一个char[]数组,生成String的字符串对象。

  3. 阅读public String replace(char oldChar, char newChar)方法的代码,回答String的不可变性在该函数中如何体现?(重点)

    oldChar表示要被替换的数组,newChar表示新的数组。通过函数最后的返回值 return new String(buf, true); 可知最后函数返回值的是新创的新的String,这体现的String的不变性,可知String是创一个新的对象,而不是在原有的数组进行操作。

  4. 简述String与字符数组的关系,使用字符数组就可以处理字符串,为什么还需要String呢?

    String是字符串,是类,而字符串数组相当与char[],就是数组。因为String对象的方法很多,对字符串进行操作比字符数组容易。比如求字符串的长度,数组需要循环遍历相加,但使用String可以直接使用length() 方法。

2: StringBuilder

  1. 结合PTA -2(StringBuilder) ,说明为什么频繁修改字符串时,应该使用StringBuilder而不是String?

    因为String是不可变的对象类型,每次改变都有分配新的空间,所以在某些题目上,例如字符的拼接,不宜用String。而StringBuilder是对对象本身进行操作,而不是生成新的对象。所以在频繁修改时应用StringBuilder。

  2. StringBuilder的append(char[] str)方法功能是什么?试分析StringBuilder内部使用什么来存放字符?调用StringBuilder的append(char[] str)方法时,是如何实现添加字符的操作?

    StringBuilder的append(char[] str)是进行字符串的拼接,StringBuilder内部使用char[]数组。 StringBuilder对象是先给一些内存,当进行新的字符添加时会自动扩展内存,进行拼接。

3:字符串与字符串池

  1. 尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
String str1 ="hi", str2="hi";
String str3 = new String(str1) ;
System.out.println(str1==str2);

结果为true,因为str1和str2是指向了同一个对象。创建了两个。

String str1="hello"; String str2=new String("hello"); 

这两种创建String对象的方法有什么差异吗?当然有差异,差异就在于第一种方法在字符串词池中拿对象,第二种方法直接生成新的对象。

  1. 对基本类型我们可以使用比较两个值是否相等,对于引用类型(如String, Integer、数组等)为什么不能使用比较?应该怎样比较他们的值是否相等呢?

    ==用于比较两个引用类型变量存放的引用是否相等。比较他们的值是否相等应该使用equals.

4:Wrapper(包装类)

1. Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i?Integer x = 100; int y = x+1;x++;这一串命令中包含了些什么操作?

这种语法是自动装箱,将基本类型转换为Integer类型。 包含了自动装箱,自定拆箱。

2. Java为什么有了基本数据类型,还需要其包装类呢?包装类能给我们带来什么好处呢?

每种基本类型都有对应的包装类,方便讲将数字、字符抽象成对象,便于操作,面向对象。 方便对涉及到对象进行操作,包含了基本数据类型的属性和操作方法。

5:实验总结

  1. 结对编程实践

    结对题目:PTA-8 ArrayList入门 结对成员:罗佳 感受:结对编程会拓宽思路,遇到难题可以相互讨论解决,可能会比较节省时间,换一个人换个思路更容易看出来自己看不出来的问题。但是结对编程,有时候会产生分歧,不好统一意见,对方也不一定能理解的思路,队友可能还要发一定的时间去理解另一个人的思路。

  2. PTA-1综合小测验

    本题采用switch语句进行选择,以及调用子函数。斐波那契子函数比较简单,第二个功能,先用子函数,digits[i]=Integer.parseInt(strDigits[i]);进行转换,再用Arrays.sort(digits);进行数组排序,功能三查找位置,int pos=Arrays.binarySearch(digits,digit);可直接数组里查找所求位置,功能四就是采用String year=id.substring(6,10);进行截取,在拼接。

  3. PTA-3身份证排序

    本题耗费了我很长的时间,舍友说本题应该是在sort1 sort2 e全部输完在出答案才是正确,所以我设置了一个动态数组,while(ch.equals("sort1")||ch.equals("sort2")先判断输入是不是sort1,sort2 。是就加入动态数组当中。执行sort1先对身份证进行截取拼接,在用Arrays.sort(data);进行排序。sort2采用冒泡法进行排序,对年月日截取,放在新的数组里,并转换为数值,进行比较大小,然后对截取的数组进行大小交换,同时身份证的数组也进行交换。 本题我一开始我采用的是直接交换法,调用截取拼接年月日的子函数,比较的时候没有转换为数值,出现看答案错误。

  4. PTA-4动态数组

    本题采用二维数组的方法,先创一维的,在根据每一行创列数,接下去采用两重循环,外层控制行,内层控制列,array[j][k]=(j+1)+"*"+(k+1)+"="+(j+1)*(k+1);放入字符串元素,打印的时候要注意句尾不加空格,应用If语句来判断是不是最后一个的输出。还需要注意打印完乘法口诀表后使用Arrays.deepToString打印二维数组中的内容。 每一项表达式之间共有包含7个字符,所以应采用%-7s的形式打印输出。

  5. PTA-8 ArrayList入门

    ArrayList strList=new ArrayList();先创建动态数组,strList.add(ss);用于数组里添加元素,(strList.contains(a)); /查询是否有所求的元素,strList.indexOf(a)); 数组从前往后查找所求元素所在位置,strList.lastIndexOf(a)); 则从后往前查找位置,strList.remove(0)用于移除元素, strList.set(1,b);是替换元素。在运行时答案显示正确,但是pta提交会出现System.out.println(strList.contains(a));这行显示编译错误。

3:码云及PTA

  1. 在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图



2. 截图题集“Java基本语法”PTA提交列表



  1. 使用老师发的jar程序统计每周的代码量



周次 总代码量 新增加代码量 总文件夹 新增加文件夹
2 520 520 16 16

学号:201621123032 《Java程序设计》第2周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 学号20145303 《Java程序设计》第一周学习总结

    学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...

  3. 学号20145322 《Java程序设计》第一周学习总结

    学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...

  4. 201521123061 《Java程序设计》第九周学习总结

    201521123061 <Java程序设计>第九周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1 ...

  5. 201521123038 《Java程序设计》 第九周学习总结

    201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...

  6. 201521123045 <java程序设计>第11周学习总结

    201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问 ...

  7. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

  8. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  9. 2018-2019-3《Java程序设计》第二周学习总结

    学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...

  10. # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结

    学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...

随机推荐

  1. VS2013 图片背景·全透明背景图(转)

    Note: 1.xaml编辑器和个别的编辑器(如HTML的)因为是承载在VS的一个子窗口上,所以背景依然是黑色的. 2.该背景必须在VS实验环境下使用. 效果图: 1.准备工作 1.先准备Visual ...

  2. Struts2【开发Action】知识要点

    前言 前面Struts博文基本把Struts的配置信息讲解完了.....本博文主要讲解Struts对数据的处理 Action开发的三种方式 在第一次我们写开发步骤的时候,我们写的Action是继承着A ...

  3. 【BZOJ1146】网络管理(主席树,树状数组)

    [BZOJ1146]网络管理(主席树,树状数组) 题面 BZOJ权限题,洛谷题面 题解 树上带修改主席树 貌似和\(Count\ On\ A\ Tree\)那题很相似呀 只需要套上一个树状数组来维护修 ...

  4. [BZOJ3110][ZJOI2013]K大数查询(整体二分)

    BZOJ Luogu sol 整体二分,其实很简单的啦. 对所有询问二分一个答案mid,把所有修改操作中数字大于mid的做一个区间覆盖(区间加1) 查询就是区间查询 然后左右分一分即可 注意是第k大 ...

  5. 初读 c# IL中间语言

    对一段c#编写的代码,有一些疑问,想通过IL中间语言看看,编译后是怎么处理的.代码如下: static StringBuilder sb = new StringBuilder(); ; ; /// ...

  6. 两种插入排序算法java实现

    两种方法都编译运行通过,可以当做排序类直接使用. 折半插入排序: public class Sort1 { public static void main(String[] args) { Inser ...

  7. Java环境变量,真的还有必要配吗?

    作为年龄上堪称老鸟而技术上却是菜鸟的老菜鸟,为了祖国的编程事业,不惜拿出一个月工资,淘了一台配置稍高的二手笔记本,打算与老笔记本中的撸啊撸片彻底说再见,誓要在新机种开启一番撸啊撸的新事业.当然,撸代码 ...

  8. 产生AJAX跨域问题的原因

    1.浏览器限制 浏览器出于安全的角度,当产生跨域,则浏览器会对请求进行一些校验,校验不通过,则报跨域安全问题 2.跨域指发出去的请求不是本域的,协议.域名.端口任何一项不一样就认为是跨域 3.XHR( ...

  9. Kon-boot v2.5介绍与使用方法总结(支持win10)

    Kon-boot这个工具相信大家都不陌生,这是一款专门针对Windows.Linux.MAC登陆密码破解工具,他能绕过系统所设有的登陆密码,让你的登陆畅通无阻.KON-Boot的原理是在于处理BIOS ...

  10. XIB中拖UIScrollView的困难

    最近在开发中有一个移植代码的工作,但是呢那块代码是n多年前写的,虽然还没看时就感觉到坑不小,到真正看的时候才发现是个陨石坑.具体的说呢,所有的界面都是xib托的而且没用Auto Layout约束,而且 ...