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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 关于Gerrit code review 介绍与安装
代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略.在实践中,给大家推荐一款免费.开放源代码的代码审查软件Gerri ...
- TableView 无数据时展示占位视图
UITableView+NoDataView.m #import "UITableView+NoDataView.h" #import "NoDataView.h&quo ...
- MVP模式和Clean模式
从类图上来看,MVP都是一个业务一个Presenter,每个Presenter都是一个接口,它还包含了View的接口,用于定于和View相关的行为,然后Activity等业务类实现View的接口,因为 ...
- CentOS 7.2编译安装PHP7
原文: https://typecodes.com/web/centos7compilephp7.html?utm_source=tuicool&utm_medium=referralPHP官 ...
- 批量替换存储过程内容脚本sp_SqlReplace
开始 在数据库开发过程中,如果某一个表字段名被重命名.那么在使用到该字段的存储过程,对应的表字段名也要修改. 当存在多个存储都有使用该表字段,需要逐个去修改替换,是一件比较繁琐的事情,我们需要一个能实 ...
- FFmpeg中subtitle demuxer实现
[时间:2019-01] [状态:Open] [关键词:字幕,ffmpeg,subtitle,demuxer,源码] 0 引言 本文重心在于FFmpeg中subtitle demuxer的实现逻辑. ...
- 【iCore4 双核心板_uC/OS-II】例程六:信号量——任务同步
一.实验说明: 信号量是一个多任务内核提出的一个协议机构,上一个实验中我们介绍了信号量访问共享资源 的功能,其实信号量最初是用来控制访问共享资源的,它还可以用来同步一个中断服务函数和一个任 务,或者同 ...
- 运行yarn的时候提示 node不是内部或外部命令
背景:准备react native 搭建,装完nodejs npm 重启cmd,再次管理员运行即可!
- C语言 sscanf用法详解
/* sscanf用法详解 */ #include <stdio.h> /* sscanf头文件 */ #include <stdlib.h> #include <str ...
- 树莓派mariadb 设置密码
参考: sudo mysql -u root -p select Host,User,plugin from mysql.user where User='root'; plugin(加密方式)是un ...