教材学习内容总结

一.类型、变量与运算符

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程序设计》第二周学习总结的更多相关文章

  1. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  2. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  3. 20145229吴姗珊 《Java程序设计》第9周总结

    20145229吴姗珊 <Java程序设计>第9周总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交 ...

  4. 20145229吴姗珊 《Java程序设计》第8周学习总结

    20145229吴姗珊 <Java程序设计>第8周总结 教材学习内容总结 第十四章 NIO与NIO2 NIO: InputStream.OutputStream的输入输出,基本上是以字节为 ...

  5. 20145229吴姗珊 《Java程序设计》第7周学习总结

    20145229吴姗珊 <Java程序设计>第7周学习总结 教材学习内容总结 第13章时间与日期 即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间. 秒的单位定 ...

  6. 20145229吴姗珊 《Java程序设计》第6周学习总结

    20145229吴姗珊 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入\输出 1.java将输入\输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象 2.输入串 ...

  7. 20145229吴姗珊 《Java程序设计》第5周学习总结

    20145229吴姗珊 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 1.设计错误对象都继承自java.lang.Throwable类 2.Java中所有错误都会 ...

  8. 20145229吴姗珊两天小总结 《Java程序设计》第4周学习总结

    20145229吴姗珊两天小总结 <Java程序设计>第4周学习总结 教材学习内容总结 由于自己的基础不好对知识的理解不透彻,所以这两天的学习还是集中在第六章和第七章,对知识点多了一点理解 ...

  9. 20145229吴姗珊 《Java程序设计》第4周学习总结

    20145229吴姗珊 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1继承共同行为 1.继承基本上就是避免多个类间重复定义共同行为 简单的类的定义 使用s ...

  10. 20145229吴姗珊 《Java程序设计》第3周学习总结

    20145229吴姗珊 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 4.1类与对象 1.对象(Object):存在的具体实体,具有明确的状态和行为 2.类(Cl ...

随机推荐

  1. 转:使用rsync在linux(服务端)与windows(客户端)之间同步

    转自:http://blog.csdn.net/old_imp/article/details/8826396 一 在linux(我用的是centos系统)上安装rsync和xinetd前先查看lin ...

  2. python判断值是否为空

    代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是`if x is None`: 第二种是 `if not x:`: 第三种是`if not x is None`(这句这样理解更清晰 ...

  3. 【leetcode】118. Pascal&#39;s Triangle

    @requires_authorization @author johnsondu @create_time 2015.7.23 19:54 @url [Pascal's Triangle](http ...

  4. Atitit. Atiposter 发帖机版本历史 编年史

    Atitit. Atiposter 发帖机版本历史 编年史 V1  初步实现sina csdn cnblogs V2  实现qzone sohu 的发帖功能  顺便重构接口实现分离 V3多文件循环发帖 ...

  5. Atitit.dart语言的特性  编译时js语言大总结

    Atitit.dart语言的特性  编译时js语言大总结 1. 原型环境1 1.1. Dart可以编译js3 2. 第二个期待的理由是Dart的语言特性,没有什么特别特性好像,类似java c#一小时 ...

  6. eureka集群高可用配置,亲测成功配置(转)

    转自大神的文章:https://blog.csdn.net/tianyaleixiaowu/article/details/78184793 网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白 ...

  7. md5加密--32位16进制小写

    public class ttgameMd5 { public final static String MD5(String str) { char hexDigits[] = { // 用来将字节转 ...

  8. Iwfu-GitHubclient使用

    Git/GitHub介绍 GitHub是著名的项目托管平台,有关Git和GitHub的介绍參考以下链接: Git介绍 url=OlagjwbaAdSJ2pjckgJCLBYd-LFFTDBriRnLt ...

  9. windows_64下python下载安装Numpy、Scipy、matplotlib模块

    本文应用的python3.6.3及其对应的Numpy.Scipy.matplotlib计算模块的cp36版本,其中Numpy是需要MKL版本的Numpy,这是后续安装Scipy的需要(本机系统win7 ...

  10. log4j日志异步化大幅提升系统性能

    .log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位.由于日志级别的不同,对系统的性能影 ...