20145229吴姗珊《Java程序设计》第二周学习总结
教材学习内容总结
一.类型、变量与运算符
1.类型
整数:可细分为short整数、int整数和long整数。不同长度的整数可储存的整数范围也不同。
字节:byte类型顾名思义。长度就是一字节,需要逐字节处理数据时则需要使用。用于整数时,可表示-128~127的整数。
浮点数:主要用来储存小数数值,主要分为float和double。
字符:char类型用来储存‘A','B','林'等字符符号。
布尔:boolean类型可表示true和false,分别表示真和假。
2.变量
基本规则:用关键词来声明各种类型的变量,其中byte、short、int、long为整数类型,float、double为浮点类型,char为字符型,boolean为布尔型。
字面变量:在Java中写下一个值,该值称为字面常数;要表示字符的话,必须使用“'”符号括住字符
数字常量表示法:在Java SE7之后,撰写整数或者浮点数常量时可以使用下划线更清楚的表示。想要以二进制表示则可以用0b作为开头。
在程序中看到//符号,这是java程序的单行批注,另一个批注的符号是/与/包括的多行批注。
3.运算符
1.算术运算
“+、-、*、/”;模数运算符:%;算数运算符使用上与学过的加减乘除一样,也是先乘除后加减。
2.比较、条件运算
大于(>),不小于(>=),小于(<),不大于(<=),等于(==),不等于(!=)。注意一个等号(=)是赋值运算的意思,例如x=y将y的值给x。而不是比较x、y是否相等。
3.逻辑运算
逻辑中所谓的且、或、反相也对应着java中&&(AND)、||(OR)、!(NOT)。其中有所谓的快捷运算:只要左操作数评估为false,就会直接返回false,对||来说,只要左操作数评估为true,就会直接返回true,就不会再去运算右操作数。
4.位运算
运算结果为位串(位向量),常用于掩码(Mask)运算。位运算是逐位运算,有左移<<、右移>>两个运算符
5.递增、递减运算
++或--写在变量前,表示先将变量值加减1,然后在返回变量值 a=++i相当于i=i+1;a=i;++或--写在变量后,表示先返回变量值,再对变量值加减1,a=i--相当于a=i;i=i-1;
二.类型转换
短->长(widening)是安全的,长->短(narrowing)必须强制转换
如果表达式中包括不同类型数值,则运算时以长度最长的类型为主,其他数值自动提升类型。
三.流程控制
顺序:计算机结构决定语句是顺序执行的,正常情况下都是顺序执行的
分支:分支用来处理异常情况的
循环:执行最常用的语句,这是计算机的特长
教材学习中的问题和解决过程
问题1:一开始不清楚“&”和“&&”的区别,觉得两者差不多
解决方式:询问同学同学也不太了解,后面看视频发现,原来&,左边无论真假,右边都进行运算;&&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
问题2:Byte与byte有什么区别
解决方式:通过询问同学和进行百度,Byte是包装类型,byte是基本类型,两个可以互相转换。包装类型默认是null。
代码调试中的问题和解决过程
由于在练习的过程中,其实还是按照书上的代码敲打的比较多一点,因为不太熟练所以主要以书上的为主。所以在练习的过程中,没有出现太大的问题,也不过是把符号打错或者是大小写没有分清楚,在以后的练习中最重要是的还是要细心,毕竟错了一个符号就不能成功的运行。
比如这个
最开始的编译并没有通过,显示有非法字符(如下图所示)。后面一遍遍核对才发现default后面的“:”没有用英文的冒号,所以导致编译不成功。证明在java中,与c语言相同的是都需要耐心与细心,一个小问题就能让整个程序运行不了。

其他(感悟、思考等,可选)
在这周的学习过程中,我觉得最大的收获就是一定要动手去做,这点与c语言很相同,发现不管书上的知识写得有多详细多具体,最终要能学到知识必须还是得在实践中出真理。可能刚开始,要我自己编写出很复杂的代码我的确不会,但是根据书上的一些代码,就算是练习书上的代码,通过理解去练习,也会学到很多java的一些小细节以及编译不成功时的一些常见的错误。
我相信,在继续的学习中,经常的练习,一定可以熟能生巧,然后自己也可以编写出正确的代码。在java中学到让自己终生受益的知识。
学习进度条
|
代码行数 |
博客量 | 学习时间 | 重要成长 | |
| 目标 |
5000行 |
48篇 | 400小时 | |
| 第一周 | 80行 | 1篇 | 15小时 |
在这一周的学习中,初步的学习让 我掌握了基本用法,有了基本概念 |
| 第二周 | 100行 | 1篇 | 17小时 | 在这一周的学习中,我对java的掌握越来越熟悉,也明白了很多其中的小技巧,更清楚了最重要的即是练习与细心 |
20145229吴姗珊《Java程序设计》第二周学习总结的更多相关文章
- 20145304 刘钦令 Java程序设计第二周学习总结
20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...
- 201521123063 JAVA程序设计 第二周学习总结
1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...
- 20145229吴姗珊 《Java程序设计》第9周总结
20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...
- 20145229吴姗珊 《Java程序设计》第8周学习总结
20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...
- 20145229吴姗珊 《Java程序设计》第7周学习总结
20145229吴姗珊 <Java程序设计>第7周学习总结 教材学习内容总结 第13章时间与日期 即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 秒的单位定 ...
- 20145229吴姗珊 《Java程序设计》第6周学习总结
20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...
- 20145229吴姗珊 《Java程序设计》第5周学习总结
20145229吴姗珊 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 1.设计错误对象都继承自java.lang.Throwable类 2.Java中所有错误都会 ...
- 20145229吴姗珊两天小总结 《Java程序设计》第4周学习总结
20145229吴姗珊两天小总结 <Java程序设计>第4周学习总结 教材学习内容总结 由于自己的基础不好对知识的理解不透彻,所以这两天的学习还是集中在第六章和第七章,对知识点多了一点理解 ...
- 20145229吴姗珊 《Java程序设计》第4周学习总结
20145229吴姗珊 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1继承共同行为 1.继承基本上就是避免多个类间重复定义共同行为 简单的类的定义 使用s ...
- 20145229吴姗珊 《Java程序设计》第3周学习总结
20145229吴姗珊 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 4.1类与对象 1.对象(Object):存在的具体实体,具有明确的状态和行为 2.类(Cl ...
随机推荐
- About the Apple Captive Network Assistant
If you’re a mac user, you likely have seen a strange popup window appear on your computer when you t ...
- linux 下mtime,ctime,atime分析
一.atime.ctime与mtime atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的.网上很多资料都声称cat.more等读取文件的命令 ...
- Andrew Ng机器学习笔记+Weka相关算法实现(五)SVM最优间隔和核方法
这一章主要解说Ng的机器学习中SVM的兴许内容.主要包括最优间隔分类器求解.核方法. 最优间隔分类器的求解 利用以一篇讲过的的原始对偶问题求解的思路,我们能够将相似思路运用到SVM的求解上来. 详细的 ...
- android Webview 实现js调用java代码实现Activity跳转
今天有了一个需求,在android里webview加载的html页面,要求点击html页面的按钮实现Activity的跳转. 咱是是菜鸟,webview的接触不多,于是就和度娘来了次亲密接触.在其中也 ...
- Linux上部署Java应用+Python3环境搭建
给了Linux的测试环境,目前需要install JDK, Tomcat,此处记录下小白的操作过程. 1. 查询Linux发行版本,包括内核信息 (1) Linux查询内核信息 $ uname -a ...
- centos6.9使用NTFS-3G挂载ntfs文件系统
centos6.9使用NTFS-3G挂载ntfs文件系统 工作中,难免需要到linux 系统上拷贝文件,但linux 自己不支持ntfs,下面就是解决问题的办法. NTFS-3G是一个开源软件,支持在 ...
- Linux中openmpi配置
到 http://www.open-mpi.org/ 下载openmpi并解压,事先安装gcc或g++. 我是openmpi-1.6.5,进入解压文件夹,执行 ./configure 这一步执行时间会 ...
- 解决google登录界面input输入框颜色不正确问题
加入以下样式: input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px #e2e2e2 inset !important; }
- ImportError: No module named '_sqlite3'
问题: Python 3.5.1 报错如下 Traceback (most recent call last): File "manage.py", line 16, in < ...
- Memcached 常用的方法
Memcache常用方法 Memcache::add — 添加一个值,如果已经存在,则返回false Memcache::addServer — 添加一个可供使用的服务器地址 Memcache::cl ...