20175303 2018-2019-2 《Java程序设计》第2周学习总结
•总体的说,第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周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- C# 对轻量级(IoC Container)依赖注入Unity的使用
概述 Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题.构建一个成功应用程序的关键是实现非常松散的耦合 ...
- [转]awsome-python
原文链接 Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Pytho ...
- Android ANR的产生与分析
ANR即Application Not Responding应用无响应,一般在ANR的时候会弹出一个应用无响应对话框.也许有些开发者在使用某些手机开发中不在弹出应用无响应弹出框,特别是国产手机An ...
- Docker 版本
1. Docker 版本 长话短说:现在Docker改为基于YY.MM的版本(像Ubuntu),用户可以选择Stable(发布较慢)或者Edge(发布较快)版本. Docker Engine改为Doc ...
- eclipse工具中使用Data Source Explorer连接数据库(MySQL)
1.进入Eclipse工具,打开Data Source Explorer.Window==>Show View==>Data Source Explorer(注:如果找不到请选择Other ...
- sshpass 实现shell脚本直接加载密登录服务器
主要命令:sshpass 这个命不是系统自带的,需要安装: # which sshpass/usr/bin/sshpass[root@666 tools]# rpm -qf /usr/bin/sshp ...
- 我们在学习JDBC的时候会过度到J2EE。
我们在学习JDBC的时候会过度到J2EE. 在Swing的组件中,基本上都是在AWT组件的名称前面加“J”. 一般情况下,除了Choise等组件: import javax.swing.*;好要加 ...
- Java API获取consumer group最新提交位移的时间
碰到了有人问起这个问题,目前java consumer没有利用OffsetAndMetadata中的metadata字段记录提交的时间,故直接通过java consumer来查询是不行,我们需要直接读 ...
- makefile编译错误情况整理
错误情况1:makefile:5: *** 遗漏分隔符 . 停止 原因:具体的编译动作,开头不可以有空格,留白是由 按tab键形成的. 解决方法:去掉空格,改为tab键后,再执行make命令,成功. ...
- Ext-JS-Classic-Demo 面向pc端示例
基于Ext Js 6.5.1 面向pc端示例,低于此版本可能存在兼容问题,慎用 已忽略编译目录,请自行编译运行 Sencha Cmd 版本:v6.5.1.240 git地址:https://githu ...