20155219 2016-2017-2 《Java程序设计》第2周学习总结
20155219 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结
- 类型:整数,字节(需要逐字节处理数据时,如图像处理,编码处理等,会使用byte类型),浮点数,字符,布尔(boolean类型可以表示TRUE或FALSE,代表逻辑值的真与假)。
- 注释:注意不可叠加注释,会出现编译错误信息。
-常用格式控制符号:(仅写出与c语音不同的符号用法) %% 表示 %;%b表示输出 boolean值(非null输出true,null值输出false)。 - 浮点数输出是确定精度:其中对于:%6.2f,6代表预留了6个字符宽度,不足的要由空格补全,2代表小数点后留两位,小数点也占据一位,故输出结果为 19.23,只占了五个字符故前面要用空格补上。
System.out.printf("example:%6.2f%n",19.234);
- 声明变量:与c语音不同,不用declare a 20。直接int a= 10即可。
- 命名习惯:首先不可与java的关键字同名,其次通常以小写字母开始,并在每个单字开始时的第一个字母大写,驼峰式命名法,使其作用一目了然。
- 忽略符号:在想表达的字符(这个字符在java语法中已经用来表示字符了)前加/即可。
- 逻辑运算符:基本与c语言相同。举例说明&&快捷方式的好处:避免除零错误。
……
if(b!=0&&a/b==5)
……
- 位运算:~(补码);注意与逻辑运算的区别。;左移与右移运算符:1.左移运算符(<<):左移指定位数,被挤掉的位数被丢弃,右边补0;右移运算符:(>>)被挤掉位数被丢弃,左边原来是0则补0,原来是1则补1;(>>>)右移后左边一定补0。
- 类型转换:在程序中写下一个浮点数,程序会默认为double型,为了避免精度遗失错误(double类型8字节,float类型4字节,程序会因为将默认8字节的数放入4字节中),对于以下代码,在数值后加F,即可告诉编译程序要用float类型来存储3.14这个值;如果表达式中含有不同类型的数值,运算时则以长度最长的类型为主,其他类型自动提升类型。
float a=3.14F;
教材学习中的问题和解决过程
- 问题一:对于书上P63页的例子:运行出结果为-1。书上说0在内存中是位00000000,经补码运算后为11111111.那么输出的结果应该是-127才对,但书上说输出为-1,因为byte占内存为1字节。故11111111在计算机中用整数表示则为-1。这与我所学到的补码知识不相符,故有些疑惑。
public class a {
public static void main(String[] args) {
byte n=0;
System.out.println(~n );
}
}
- 解决方案:将代码敲出来,运行结果为-1.但0的补码应该还是0才对。补码运算不是将所有位取反,而是:为负数时除符号位外诸位取反末位加1,正数补码与原码相同。
- 问题三:教材中P69页,关于补码的问题。
- 解决方法:自己敲出代码,得到如下图结果,与书中答案相同。书中说因为当count达到01111111 11111111 11111111 11111111时count+1会变为11111111 11111111 11111111 11111111表示-2147483648.为什么不是变成了10000000 00000000 00000000 00000000?而在问题一中说到教材中说明11111111在计算机中用整数表示则为-1。两者互相矛盾。
public class c{
public static void main(String[] args) {
int count =0,a=1;
while(a==1);
{
if (count + 1 > Integer.MAX_VALUE) {
a=0;
System.out.printf( "%d",count);
} else count++;
}
}
}
代码调试中的问题和解决过程
- 问题一:printf与println的区别,为什么如下代码会出现错误?
- 解决方法:上网查找了一下两者的区别。发现printf用于“a=%d”这种输出格式的;而println在输出内容后自动加上了回车换行符号,且这个函数不可用于输出格式。
课后习题
3.4.2.1求最大公因子
package src.week1;
import java.util.Scanner;
public class e {
public static void main(String[] args) {
Scanner m=new Scanner(System.in);
Scanner n=new Scanner(System.in);
int x,a,b;
a=m.nextInt();
b=n.nextInt();
do {
do {
x = a - b;
a = x;
} while (x >=b);
a = b;
b= x;
}while(!(b==0||b==1));
if(b==0) System.out.printf("%d",a);
else if(b==1) System.out.printf("%d",b);
}
}
运行结果如图
3.4.2.2阿姆斯特朗数
package src.week1;
public class d {
public static void main(String[] args) {
int a,b,c,i,j;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i-100*a)/10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
{
System.out.printf("%d%n",i);
}
}
}
}
运行结果如图
上周考试错题总结
- 填空:(git init )命令可在在工作目录中创建新的 Git 仓库。[错误写为git commit。可以将想要添加的内容添加到仓库而不是创建新的仓库。]
- CH02 选择:教材P49,第4题 (d)[老师,我认为这道题选择a。我打出代码如下所示:可以运行出结果。
- 只有通过(TCK)兼容性测试的实现,才可以使用Java这个商标。[错误原因:对概念理解不到位。]
- CH01 选择:教材P21,第7题 (B)[错选为a。JDK用来编译.class文档;JRE是java执行环境,如果是只需运行已经编译好的.java文件,则只需JRE即可]
- 填空:查找home目录中昨天创建的文件的命令是(find ~ -ctime 1)
[find是查找 -ctime是创建时间n表示n天之前的“一天之内”的文件]
代码托管
- 代码提交过程截图:
- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
- 代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 120/120 | 1/1 | 16/16 | 开始了JAVA学习的第一步! |
第二周 | 346/466 | 1/2 | 23/36 | 了解并学习了Java基础语法 |
计划学习时间:20小时
实际学习时间:23小时
改进情况:对于编译程序有了更深一步的了解,学习的效率有了明显的提高
参考资料
20155219 2016-2017-2 《Java程序设计》第2周学习总结的更多相关文章
- 20155229 2016-2017-2 《Java程序设计》第九周学习总结
20155229 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC(Java DataBaseConnectivity)即java数据库连接 ...
- 20155310 2016-2017-2 《Java程序设计》第九周学习总结
20155310 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 •数据库本身是个独立运行的应用程序 •撰写应用程序是利用通信协议对数据库进行指 ...
- 20155338 2016-2017-2 《Java程序设计》第九周学习总结
20155338 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 · 数据库本身是个独立运行的应用程序 · 撰写应用程序是 ...
- 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 ...
随机推荐
- windows7安装教程(vmware)
这步是正确安装windows的关键,如果不设置那么安装时将不能识别出磁盘,造成安装不成功. 选择No进行自定义修饰,主要是保证C盘大小合适,其他盘可在安装完成之后再调整. 后续安装步骤全自动,完全不用 ...
- oracle 11g创建数据库教程
cd /oracle/app/oracle/product//dbhome_1/bin ./dbca 自定义用户表空间大小. 安装过程半个小时是需要的. 2.配置oracle系统用户环境变量 使用vi ...
- 牛客网 PAT 算法历年真题 1012 : D进制的A+B (20)
D进制的A+B (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 输入两个非负10进制整数A和B(< ...
- MVC的前端和后端的Model Binding
1.前端提交JSON 字符串 {"id":13,"title":"这里是标题33","day":"2018-8 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十一):集成 Shiro 框架
Apache Shiro 优势特点 它是一个功能强大.灵活的,优秀开源的安全框架. 它可以处理身份验证.授权.企业会话管理和加密. 它易于使用和理解,相比Spring Security入门门槛低. 主 ...
- Oracle中如何停止正在执行SQL语句
oracle的用P/SQL客户端中,如何停止正在执行的SQL语句? 我们使用oracle语句查询某个表时,如果查询的表数据太多,如何停止正在执行操作 如查询的表数据超过上万条时,如何停止查询操作
- Jquery源码探索
封装原理 这里参考的jquery来进行封装的一个常用方法的一个库,可作为自己的一个库 原理:创建一个构造函数,将所有方法放在该构造函数原型里,访问$()方法时,返回这个构造函数的实例化,这样就简单的实 ...
- PHP和Mysql事物处理
这几天做支付的时候,又用到了事物,为了方便自己以后查看,今天闲的没事就把以前的东西整理下.(其中引用别人的东西,在这里谢谢他们贡献的代码!) 一.事务处理概述: 事务:是若干事件的集合 事务处理:当所 ...
- VBA续嘘嘘——宏技巧集绵
什么是VBA?它有什么作用? A.实现Excel中没有实现的功能. B.提高运行速度. C.编写自定义函数. D.实现自动化功能. E.通过插入窗体做小型管理软件. VBA在哪里存放的?怎么运行? A ...
- CString、string、const char*的相互转换
环境:vs2010 1.CString转string //第一种方式: CString str = _T("CSDN"); USES_CONVERSION; std::string ...