教材学习内容总结
一.类型、变量与运算符
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的掌握越来越熟悉,也明白了很多其中的小技巧,更清楚了最重要的即是练习与细心 |