201521123040《Java程序设计》第2周学习总结
1. 本周学习总结
本周学习目录:
<1>回顾(Java程序)
<2>掌握各种数据类型的使用
<3>掌握运算符和表达式的使用
<4>枚举类、String类
<5>Math类
<6>掌握Java程序简单的输入输出方法
<7>流程控制与数组
<8>掌握Java API文档的使用方法
①基本了解了数据的基本类型有:整数类型(byte,short,int,long,char),浮点类型(float,double),boolean类型(true, false),引用类型有:数组,类,接口,null类型。
②基本掌握运算符和表达式的使用方法,不过对于三元运算符的使用并不是很熟练。
③枚举类型看起来似乎简单,实际上使用的时候我还是觉得没有if else好用。
④string类是重点难点,我还是有点云里雾里,尤其StringBuilder的使用不懂什么情况。
⑤Math类 是什么东西?百度的出来的都是些Java中比较常用的几个数学公式总结,是指这些常用的函数吗?
Math.floor(-1.8); //取整,返回小于目标函数的最大整数,如下将会返回-2
Math.ceil(); //取整,返回发育目标数的最小整数
Math.round(); //四舍五入取整
Math.sqrt(); //计算平方根
Math.cbrt(); //计算立方根
Math.exp(3); //返回欧拉数e的n次幂
Math.pow(3,2); //计算乘方,下面是计算3的2次方
Math.log(); //计算自然对数
Math.abs(); //计算绝对值
Math.max(2.3,4.5); //计算最大值
Math.min(,); //计算最小值
Math.random; //返回一个伪随机数,该数大于等于0.0并且小于1.0
⑥已掌握JAVA简单的输入输出方法。
⑦了解了流程控制与数组
⑧不了解掌握Java API文档的使用方法
2. 书面作业
#(1)使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。
*使用Eclipse关联jdk源代码的步骤如图所示:

*按住Ctrl+左键点击String即可查看String对象的源代码

#(2)为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?
- String类型在做字符串的连接操作时,效率很低,每做一个连接操作,都会在内存中创建一个新的对象,占用大量的内存空间。StringBuilder对象在做字符串连接操作时是在原来的字符串上进行修改,改善了性能。
#(3)比较两个字符串的值是否相等?为什么不能用==直接进行比较?
-Java中,如果两个字符串是这样 Sting a=“a” 赋值方式时,同样也可以使用 == 来比较是否相等,但实际上也不是在比较两个变量的内容,当新一个变量赋值时( Sting a=“a” 赋值方式会把值放到栈中)先会从栈中找是否有相同的值,如果有就会直接指向那个值,所以使用==也可比较是否相等。
-但如果是new String("a")这样new出字符串对象时,即使内容完全一样,使用==比较也是false,因为==比较的是堆内存中的地址,所以只能是用equals()方法比较内容。
#(4)尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:
String str1 =“hi“, str2=“hi“;
String str3 = new String(str1)
System.out.println(str1==str2);
输出结果为“true”。
代码创建了两个字符串对象。str1和str2地址相同,str1和str3地址不同。所以是两个字符串对象。
#(5)Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i
在编译Integer i = 100的时候,会将其翻译成Integer i=Integer.valueOf(100),即将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
第一个输出“ture”,第二个输出“false”.
int常量池中初始化-128~127的范围,当Integer i=128时,128不在常量池范围内,所以在自动装箱过程中需new 128,所以地址不一样,输出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,尝试分析背后实现的原理。
#(8)自己在这门课的目标与计划
一周花课余时间完成作业,代码尽力而为,但是我觉得这门课的难度有点大, 我学的有点吃力,并不是很有信心。遇到问题不明白的先百度然后和舍友讨论吧,再者就是问问学长学姐这样。
3. 使用码云管理Java代码
在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图

201521123040《Java程序设计》第2周学习总结的更多相关文章
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
随机推荐
- POJ 2411 Mondriaan's Dream:网格密铺类 状压dp
题目链接:http://poj.org/problem?id=2411 题意: 给你一个n*m的网格 (1<=n,m<=11) ,往里面铺1*2或2*1的砖块,问你铺完这个网格有多少种不同 ...
- /dev/null 2>&1解释
/dev/null 2>&1 解释 crontab内容 :50 18 5-30 * * /script/myscript.sh 1> /dev/null 2>&1 其 ...
- init.ora, pfile, spfile
实例启动时,查找初始化参数文件的顺序为: spfile<sid>.oraspfile.orainit<sid>.ora 如果以上3个文件都不存在,则实例无法启动. init.o ...
- shell /bin/bash^M: bad interpreter错误解决
错误原因之一很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0x0D, 0x0A.可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是M ...
- 【EntityFramework 6.1.3】个人理解与问题记录(3)
前言 说点题外话:前几天接连微软老爹发布了 .net core 2.0 / asp.net core 2.0 / ef core 2.0 / .net standard 2.0(此处撒花,不管是否后面 ...
- Python二分法查找及变种分析
基于Python3 普通二分法查找目标值的index 二分法查找的思路很简单,先确定好列表nums的一头start一尾end,中间值middle根据头尾数值之和用地板除法除以2,即(start + e ...
- SQL笔记 --- 数据库设计步骤(转)
SQL笔记 --- 数据库设计步骤 目录 总体设计过程需求分析概念结构设计逻辑结构设计数据库物理设计数据库实施数据库运行和维护 总体设计过程 0 » 下一篇:vim 命令集 posted @ 2012 ...
- SQl语句收藏(转)
/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysq ...
- java 数组去重总结
如果一个数组中有重复元素,用什么方法可以去重?有其他方法继续更新 一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> ...
- WeQuant交易策略—Chaikin A/D
策略名称:AD指标策略 多空双方力量浮标- AD(Chaikin A/D线)策略关键词:ChaikinA/D线.多空对比.AD指标是一种非常流行的平横交易量指标, 用于估定一段时间内该证券累积的资金流 ...