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 ...
随机推荐
- 转:使用rsync在linux(服务端)与windows(客户端)之间同步
转自:http://blog.csdn.net/old_imp/article/details/8826396 一 在linux(我用的是centos系统)上安装rsync和xinetd前先查看lin ...
- python判断值是否为空
代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是`if x is None`: 第二种是 `if not x:`: 第三种是`if not x is None`(这句这样理解更清晰 ...
- 【leetcode】118. Pascal's Triangle
@requires_authorization @author johnsondu @create_time 2015.7.23 19:54 @url [Pascal's Triangle](http ...
- Atitit. Atiposter 发帖机版本历史 编年史
Atitit. Atiposter 发帖机版本历史 编年史 V1 初步实现sina csdn cnblogs V2 实现qzone sohu 的发帖功能 顺便重构接口实现分离 V3多文件循环发帖 ...
- Atitit.dart语言的特性 编译时js语言大总结
Atitit.dart语言的特性 编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...
- eureka集群高可用配置,亲测成功配置(转)
转自大神的文章:https://blog.csdn.net/tianyaleixiaowu/article/details/78184793 网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白 ...
- md5加密--32位16进制小写
public class ttgameMd5 { public final static String MD5(String str) { char hexDigits[] = { // 用来将字节转 ...
- Iwfu-GitHubclient使用
Git/GitHub介绍 GitHub是著名的项目托管平台,有关Git和GitHub的介绍參考以下链接: Git介绍 url=OlagjwbaAdSJ2pjckgJCLBYd-LFFTDBriRnLt ...
- windows_64下python下载安装Numpy、Scipy、matplotlib模块
本文应用的python3.6.3及其对应的Numpy.Scipy.matplotlib计算模块的cp36版本,其中Numpy是需要MKL版本的Numpy,这是后续安装Scipy的需要(本机系统win7 ...
- log4j日志异步化大幅提升系统性能
.log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位.由于日志级别的不同,对系统的性能影 ...