•总体的说,第2周主要学习了课本第二章第三章的内容,这周的学习简直比上一周的简单而且容易理解得多。上周的各种安装,注册,眼花缭乱,很早就开始弄,但各种出错,到最后都想放弃了,好在有同学的帮助,帮我正确的安装了大部分东西,能让我大致了解我们需要掌握什么基本操作。也许是因为这周的内容是之前C语言学过的东西,所以理解起来要容易很多。下面列一些我认为需要注意的点:

教材学习内容总结

•除了类名、变量名、数组名、方法名等,文件名也是一种标识符,标识符的开头不能是数字。

•true、false、null不是Java关键字,但也不能作为标识符。

•数据精度由低到高排行及其所占字节内存:byte占1个字节<short占2个字节<char占2个字节<int占3个字节<long占4个字节<float占2个字节<double占4个字节,根据每个数据所占字节内存,可以知道定义数据的范围,如果算一个看起来就很大的整数,可以直接定义为long类型,否则很容易出错,

•float类型数据末尾必须要加上F或f,double型数据末尾可以加D或d,long型数据末尾常加L,所以必须在数据末尾加字母的是float类型数据。

•关于数据类型的转换,将低精度值赋给高精度值不会有问题,高精度值赋给低精度值会有精度损失,编译会出错。

•输入基本型数据,reader对象调用方法时,没有nextChar(),不能输入字符型数据。

•关于数组的定义,最直接的定义形式:int a[] =new int[5];    float b[][] = new float[3][4];  数组b的长度等于它含有一维数组的个数。

•数组索引越界,编译不会出错,但执行时会出现ArrayIndexOutOfBoundsExceptione的异常。

•关系运算符的计算结果,if语句中的条件表达式,while语句中的条件表达式,全都是且只能是Boolean型数据。switch语句中不定有default选项,表达式的值可以是byte、short、int、char,但不能是long型数据。

•输出数组的每一个元素,除了传统的循环,还可以用for(int i:a) { System.out.println(a); } 输出整形数组,for(char i:b) { System.out.println(b); } 输出字符型数组。

•hasNextDouble()的返回值为Boolean类型。

教材学习中的问题和解决过程

•课后习题第49页的第4题的第5问计算8+88+888…的前十项和的时候,将和sum定义为int类型结果总不对,后来定义为long类型结果就对了。

第一次编译执行得出来的结果就是1286608608,显然不等于8+88+888…前十项的和,最后一位应该是0;,因为计算结果超出了int型数据的范围,所以将sum的类型改为long,编译执行得出来9876543200就对了。

代码调试中的问题和解决过程

•用循环来计算1!+1/2!+1/3!+……的前二十项的和,例题用得是while,习题是都do-while和for,不论哪一种,都会有一句item = item*(1.0/i(或者1+i)),这里的1.0如果写成1,1/i(或1+i)就会等于0,而不是一个分数或小数,程序最后计算结果为1.0。
调试程序运行到第九行,已经运行了item = item*(1.0/(1+i))这一语句,结果item=0.0,而不是0.5,说明第8行代码有问题。把第8行的1改成1.0,就对了。

代码托管

上周考试错题总结

1、表达式-2 >>> 1的值为(A)

A .2^31 – 1            B .2^15 – 1            C .1           D .-1     错因:在百度上找到的有关移位计算符的知识,得知<<<是无符号移位运算符,但是结果还是没算出来。

2、表达式15&250的值为(B)

A .FF         B .1           C .255          D .1    解:这题应该是15(0000 1111)与  250(1111 1010)按位与,结果是0000 1010 ,应该是10,但答案里没有。

3、下列说法错误的是(BC)

A .“字符类型”中的“字符”指Unicode表中的一个字符。

B .使用System.out.println(“”)输出反斜线。

C .short类型与char类型均分配2个字节内存,两者取值范围一致。

D .使用(int)’A’观察一个字符在Unicode表中排序位置。   解析:错主要在c选项上,short数据类型的范围为-32768---32767,而char字符类型的范围为0---65535。

其他

•除了类名、变量名、数组名、方法名等,文件名也是一种标识符,标识符的开头不能是数字。在蓝墨云里有一个学习项目,带包的代码的编译执行,就是要新建一个名为‘20175303’的文件夹,新建以后编译执行带包代码都没问题,可上传到码云时候却一直出错,问同学,同学查看仓库,等等都还是没上传,这时候我在之前上传正常的文件夹里面,上传了一个shi(试)的文件夹,这个可以上传,后来猛地一想,是不是文件名也不能以数字开头,同学说是,把‘20175303’改成‘c2017503’再上传就没问题了。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 400小时  
第一周 553/500 1/1 15/24  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. C# 对轻量级(IoC Container)依赖注入Unity的使用

    概述 Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题.构建一个成功应用程序的关键是实现非常松散的耦合 ...

  2. [转]awsome-python

    原文链接 Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Pytho ...

  3. Android ANR的产生与分析

      ANR即Application Not Responding应用无响应,一般在ANR的时候会弹出一个应用无响应对话框.也许有些开发者在使用某些手机开发中不在弹出应用无响应弹出框,特别是国产手机An ...

  4. Docker 版本

    1. Docker 版本 长话短说:现在Docker改为基于YY.MM的版本(像Ubuntu),用户可以选择Stable(发布较慢)或者Edge(发布较快)版本. Docker Engine改为Doc ...

  5. eclipse工具中使用Data Source Explorer连接数据库(MySQL)

    1.进入Eclipse工具,打开Data Source Explorer.Window==>Show View==>Data Source Explorer(注:如果找不到请选择Other ...

  6. sshpass 实现shell脚本直接加载密登录服务器

    主要命令:sshpass 这个命不是系统自带的,需要安装: # which sshpass/usr/bin/sshpass[root@666 tools]# rpm -qf /usr/bin/sshp ...

  7. 我们在学习JDBC的时候会过度到J2EE。

    我们在学习JDBC的时候会过度到J2EE.   在Swing的组件中,基本上都是在AWT组件的名称前面加“J”. 一般情况下,除了Choise等组件: import javax.swing.*;好要加 ...

  8. Java API获取consumer group最新提交位移的时间

    碰到了有人问起这个问题,目前java consumer没有利用OffsetAndMetadata中的metadata字段记录提交的时间,故直接通过java consumer来查询是不行,我们需要直接读 ...

  9. makefile编译错误情况整理

    错误情况1:makefile:5: *** 遗漏分隔符 . 停止 原因:具体的编译动作,开头不可以有空格,留白是由 按tab键形成的. 解决方法:去掉空格,改为tab键后,再执行make命令,成功. ...

  10. Ext-JS-Classic-Demo 面向pc端示例

    基于Ext Js 6.5.1 面向pc端示例,低于此版本可能存在兼容问题,慎用 已忽略编译目录,请自行编译运行 Sencha Cmd 版本:v6.5.1.240 git地址:https://githu ...