1.本周学习总结

  • 类名第一个字母大写,类名下的方法如main第一个字母要小写;
  • Java有三种基本数据类型:整型(byte,short,int,long,char),浮点型(float,double),boolean型(true,false);
  • 声明一个变量后必须对变量进行显式的初始化;
  • 字符串常量是用“”括起来的字符序列,最后字符不是‘]0’,""为空字符串;
  • 重复性连接字符用StringBuilder的append()函数;

2.书面作业

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

Eclipse->Window->Preferences->Java->Installed JREs



点击右边Edit



点击右边Source Attachment



点击OK完成。

查看String源代码

一般用一下两种方式创建String对象:

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

String创建的对象是不变的,用第一种方式创建的字符串会放在栈里,常量池中。第二种是通过new关键字,java会把new对象放在堆中,在运行时创建。

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

因为String创建的对象是不可变的,虽然String类中提供了很多操作字符串的函数,但是运行慢。如果要频繁地对字符串修则最好用StringBuilder,且StringBuilder的运行效率高。

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

比较两个字符串的值是否相等用equals(),比较的字符串首地址是否相同,若两个字符串指向同一对象则可以用“”,否则不行。

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

String str1 =“hi“, str2=“hi“;
String str3 = new String(str1)
System.out.println(str1==str2);

第一行代码是在字符串常量池中创建一个对象str1,它的值是hi,创建的str2对象的值也为hi,str1、str2的对象是同一个;第二行代码是在字符串池中创建一个新的对象,新对象的值跟str1的值相同,但不是指str1的对象;第三行代码是输出str1==str2的结果,答案是true。

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

这个叫对象的自动封箱与拆箱,Integer i = 100;即Integer i = new Integer(100);调用时自动拆箱得到i.intValue();

(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()缓存,其大小不能超过127,所以第一个输出结果为true,而第二次赋值超过127,就不能缓存为基本类型,输出就为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,尝试分析背后实现的原理。

源代码放src目录,class文件放bin目录。

**(8)自己在这门课的目标与计划 **

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

我会C、C++、Java(算不得会,才刚入门,要学的还很多),C与C++能打上百行代码,但也不能说很精通。

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

从目前看来一周从头到尾都有在这门课上花时间,因为不仅有写博客这样的书面作业,还有pta上的选择判断和几道编程题(其实很多又很难(┬_┬)),最重要的是有时间限制,天啦鲁,为了完成作业我们也是很拼的↖(ω)↗,有时很晚都在打代码。Java老师并没有像学C、C++那样手把手教我们打代码,以致于我们在之前编程的作用起到很小的情况下要打出正确完美的代码异常艰辛,通常解一道题要查阅很多的文档查看很多类方法的使用方式与格式,这就导致了作业完成时间的加长。当然了,这并不是不能完成作业的借口,所以,在平常的学习中,我们不仅要多查阅类方法的使用并应用,碰到不懂的要及时与同学讨论或向老师求助,(有很方便的度娘可以问啊_,能解决的自己解决strong)加快作业完成效率,更深入地学习好Java这门课。

  • 关于这门课的smart目标

特点SMART:

  • Specific:具体的,无二义性的,能描述 “成功” 是什么样的。
  • Motivating: 目标能激发对目标的兴趣么?实现目标对学生来说说意味着什么?他们会为之自豪么?
  • Achievable: 能做到么?是挟泰山以超北海?还是把墙角一堆砖头搬走?
  • Relevant: 和学生来到大学的大方向、目标吻合
  • Trackable: 能衡量进度的,和有些资料提到的 Measurable 相似。

远大的目标当然是精通Java,变身实力码奴,走上人生巅峰。(果然很虚无飘渺啊(~ ̄▽ ̄)~)

,现在只能先定一个小目标了,从目前和长远来看,一周都绝对不能放弃码代码啊,不练就忘(┬_┬),所以必须温故而知新,一周也就一百行代码(没问题吧?必须的(^-^)V)。职业规划什么的(那是啥?),还真没有,虽说现在都大二了,还有两年(其实很快)就出社会(面临残酷现实)了,不能啥准备都没有,所以......我不是正准备着嘛╭(╯^╰)╮。

3. 使用码云管理Java代码

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

正在进行中,还有很多没做,请多包涵Σ( ° △ °|||)︴。

4. PTA实验

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

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

问题老多了,就第一题我都要折腾好久,还没做完,目前只能这样了啦o_O。

5. 小任务(加分)

现有choice.txt文件,里面包含上千行,上百题选择题。先在老师要将其中的题目转化为PTA网站的选择题。然而PTA网站上的选择题对输入格式有要求。要求如下:##

- 题面第1行及选项行前不能有空格,题面其他行无此要求。

- 题面第1行结尾要包含答案字符串,内容形式@C,代表该题答案为C,分值为2

- PTA出题格式需符合Markdown要求,才能有良好的效果。先在要求每一行结尾一定要有2个或以上的空格。

- 统计:题目数量

- 输出:最后生成outChoice.txt,包含经过处理过的所有问题。文件第1行,代表题目数量。

提示1:使用Scanner处理输入文件, 使用PrintWriter输出文件。

提示2:题目很简单,大概50行左右,不要畏难。

进阶:可以为将来的自动出题、组卷系统做准

额呵呵:-),对于现在的我困难不止一点点啊。

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

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

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

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

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 《Java程序设计》第二周学习总结

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. kali linux安装到U盘并增加persistence功能

    这里写两种方法,其实本质是一样的,都是利用grub4dos重新写mbr,同时建立persistence分区并写入配置文件. 一, 1,首先将U盘分区,分两个即可,一个可当U盘使用存储数据,另一个则用来 ...

  2. CentOS 7 服务器配置--安装MongoDB

    #下载MongoDB源文件: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.7-tgz 注意:wget此处 ...

  3. Python初学——多线程Threading

    接着上篇继续跟着沫凡小哥学Python啦 1.1 什么是多线程 Threading 多线程可简单理解为同时执行多个任务. 多进程和多线程都可以执行多个任务,线程是进程的一部分.线程的特点是线程之间可以 ...

  4. jvm系列 (三) ---锁的优化

    锁的优化 目录 jvm系列(一):jvm内存区域与溢出 jvm系列(二):垃圾收集器与内存分配策略 jvm系列(三):锁的优化 我的博客目录 锁的四种状态 从低到高,只能升级不能降级 无锁状态 偏向锁 ...

  5. 关于FPU

    关于FPU,比较运算有几个地方需要关注,mark一下. he result of the comparison is reported in the condition codes field of ...

  6. JPA 中文乱码问题

    背景 Spring Boot使用JPA,当前端传入到后端的数据为中文的时候,入库变为??? 解决方法 修改下项目的配置文件中DB的配置,新增characterEncoding=utf-8即可 spri ...

  7. 家中路由添加静态IP映射(一)

    登录路由器配置页面,选择更多功能来添加IP和MAC地址映射关系

  8. Json安全

    1.不要使用顶级JSON数组,避免被<script>标签引用. 2.使用POST+密钥获取JSON,尽量不要用GET方式. 3.不要使用eval()将对象放入内存,eval()会执行所传入 ...

  9. 使用Java模拟一个简单的Dos学生成绩管理系统:

    使用Java模拟学生成绩管理系统... ------------------- 学生成绩管理系统:需要实现的功能:1.录入学生的姓名和成绩2.显示列表.列表中包括学生姓名与成绩3.显示最高分.最低分的 ...

  10. Kotlin代理属性--官方文档翻译

    代理属性 Delegated Properties 本文为个人翻译的Kotlin官方文档, 原文连接: Delegated Properties 一些特定的常见类型的属性, 尽管我们可以在每次需要的时 ...