1.本周总结

本周老师讲了和自己掌握了以下内容:

(1).三元条件运算符

表达式1?表达式2:表达式3;

(2). 字符串String类

String的不可变优点:编译器可以让字符串共享,效率高。但是如果涉及到频繁修改字符串的话,会产生大量字符串对象。

(3).String对象的拼接和StringBuilder

String对象的拼接方法:使用+拼接字符串会产生新的String对象,而不会修改原先的字符串,会产生大量字符串对象。

(4).不可变字符串-字符串池

对于使用包裹起来的字符串字面常量,会先在字符串池中进行查找,如果有则不新建。

(5).检测字符串内容是否相等

当比较字符串的内容而且不分大小写时可以用"str1".equalsIgnoreCase("str2")进行比较;当用==时,只能比较是否为同一对象,不然==比较的是引用的值。

(6).输入输出-Scanner(扫描器)

Scanner使用分隔符将输入分解为标记,默认的分隔符为空白符,如空格、回车换行等

(7).结构化程序设计三种基本流程:

"顺序结构"、"选择结构"、"循环结构"



选择结构:Java语句提供了两条基本的分支选择语句,if["二选一"]和switch["多选一"]。

循环结构:Java语句中有三种循环结构,如下图。



(8).一维数组、二维数组、多维数组以及不规则数组的初始化。

2.书面作业

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



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

答:因为string是传统的处理字符串方式,再处理频繁的字符串时string的效率大大不如StringBuilder的高。

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

答:==比较字符串是否引用同一地址,如果2个字符串是同一个对象,那可以用==,如果不是同一个对象,只是比较内容是否一致,则不可以用==。

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

String str1 =“hi“, str2=“hi“;

String str3 = new String(str1)

System.out.println(str1==str2);

答:因为对于包裹起来的字符串字面常量,会先在字符串池中进行查找,而且str1和str2的引用地址相同,所以输出true。创建了两个字符串对象。

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

答:因为Integer i=100相当于Integer i=new Integer(100),在调用时会自动拆箱,然后相当于得到 int b=i.intValue,所以可以将100赋值给i.

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。因为自动装箱与拆箱的功能事实上是编译程序蜜糖,在编译时期根据所写的语法决定是否进行装箱或拆箱动作。第一个程序代码由于127在-128~127之间,所以 i1会 从缓存中传回Integer实例,Integer i2=127执行时要打包的同样是127,也是从缓存中返回同一实例,所以i1与i2会参考到同一个Integer实例,使用==比较会返回true。第二个程序是128不在-128~127之间, 所以i1直接建立新的Integer实例,Integer i2=128执行时,同样也是直接建立新的Integer实例,所以i1与i2不会参考到同一个Integer实例,使用==比较就会返回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:\test目录下,尝试命令行下运行,截图。

答:

7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。

答:源代码放在JDK中的src目录中;class文件放在JDK的bin目录。

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

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

我们学习过了C语言,数据结构,Java这个学期开始学习,但是我自己只会编写一下八角简单的代码,如果代码天长的或者难一点的就很难写出来了。我的语言基础很薄弱,自己课后也没有学习过什么与专业有关的东西,所以在上实验课时或者写老师布置的实验时会迷茫。我自己写过的代码比较少,不超过300行。

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

现在一周发在这门科目上的时间比较多,一周除了睡觉时间60%空余时间都花在Java上,但是自己基础挺薄弱的,成效比较低,现在也挺想把握好基础,但是大一没有掌握好基础现在漏洞很多,以至于大部分实验写不出来。现在一周打算把老师布置的作业独立完成,实在有困难的就会参考同学的,给自己一周写代码的目标是100~150行。以前主要的学习方式是看书还有敲代码以及通过老师布置的作业来掌握所学的语言,课后有时也会问同学一些问题,但是问老师的比较少。现在打算不仅通过上述所讲的方式学习,还需要课后通过相关书籍还有资料在掌握Java语言。。。。希望老师给个建议,怎么学习Java还有补回以前的漏洞。因为语言基础的薄弱,所以在学习Java语言时会遇到挺多问题的,一般时问同学或者参考以前相关代码解决,或者去百度一下,查阅资料比较少。打算今后学习遇到问题会加多查阅相关书籍的通道还有问老师的方式。

9.没有做

  1. 使用码云管理Java代码

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

  2. PTA实验

    •题目集:jmu-Java-02-Java基本语法 中的判断、选择、编程(8道)

    •实验种碰到的问题、思考、收获与解决方案

    问题: 1.没有在程序开始时写import…………,会提示找不到符号的错误。

    2.在写密码生成器的时候,开始用Arrays.toString(arr),每个字符之间会用逗号隔开。

    3.很多时候在PTA上提交是答案错误或者是编译错误,但是在eclipse里面编译执行时是正确的。

    4.在eclipse里面编程时很多时候第一次提交不能成功,编译成功了,但是输出答案有误。

    思考:1.还不习惯java中在开头要有类;

    2.在PTA上提交时不能有包名,主函数名要是Main,否则是答案错误。

    收获:1.通过实验掌握了数组的初始化,还了解了新的内容动态数组;

    2.掌握了ArrayList和subSring的一些基本应用,需要排序时不用在写一个排序函数,可以直接调用ArrayList;

    3.通过编写实验了解到了eclipse里面的一些快捷按键给我们带来的便利,为编写程序省一点时间。

  3. 小任务(加分)

    没有写

201521123059 《Java程序设计》第二周学习总结的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 2017面向对象程序设计(Java)第二周学习总结

    2017面向对象程序设计(Java)第二周学习总结 直系学妹学弟们好!额...不要问我为什么把学妹放前面,我也不知道!我只是你们和蔼可亲的学长一枚而已.也不要问为什么是第二周学习总结而不是第一周,因为 ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第二周学习总结

    丁宣元 <面向对象程序设计(java)>第二周学习总结 正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...

  5. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 201871010121 王方 《面向对象程序设计(java)》 第二周学习总结

    这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11475 ...

  9. 杨其菊201771010134《面向对象程序设计Java》第二周学习总结

    第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...

  10. 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

随机推荐

  1. 马的遍历 洛谷 p1443

    题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入输出格式 输入格式: 一行四个数据,棋盘的大小和马的坐标 输出 ...

  2. Ubuntu16.04LTS 环境下编译安装Xen

    一.编译安装xen4.6过程 操作系统使用ubuntu16.04,通过下载xen4.6的源代码并编译安装来创建xen4.6环境. 一.依赖包的安装 sudo apt-get install gcc m ...

  3. python练习题一

    1.使用while循环输出1 2 3 4 5 6     8 9 10 答:i=0 while i<10:     i += 1     if i!=7:         print(i) 2. ...

  4. C#内存管理解析

    前言:对于很多的C#程序员来说,经常会很少去关注其内存的释放,他们认为C#带有强大的垃圾回收机制,所有不愿意去考虑这方面的事情,其实不尽然,很多时候我们都需要考虑C#内存的管理问题,否则会很容易造成内 ...

  5. python 第二天

    list,tuple,dict,set list,tuple,dict,set 是今天学习的四种 Python 内置类型 list list 即数组,有序的集合,可以使用索引的方式来访问 list 的 ...

  6. 设计模式,Let's Go! (上)

    * { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...

  7. Vim入门基础

    公司新员工学习有用到,Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础.在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来.特点是偏向基础,但对入门者来说足够全面 ...

  8. testNG java.net.SocketException: Software caused connection abort: socket write error

    执行用例报错,提示 java.net.SocketException: Software caused connection abort: socket write error java.net.So ...

  9. git命令中带有特殊符号如@

    使用带用户密码clone的方式:git clone https://username:password@remote 当username和password中含有特殊符号会导致出错,因为为http的请求 ...

  10. 电脑重装系统按什么键进U盘PE

    电脑重装系统按什么键进U盘PE... -------------------------- 各品牌电脑重装系统快捷按键进U盘PE: -------------------------- Dell电脑重 ...