教材学习内容总结

本周我对教材第三章进行了学习,第三章对Java语言的语句、语法、类型、变量的定义等内容进行了比较详细的说明,相比之前的第一章和第二章,我觉得这一章还是比较好理解的,比较容易被接受。Java的基础语法跟C语言的语法有些相似,但又有不同之处,因为以前学过C语言,对于C语言的语法还有印象,所以这一章学起来总体来说还是比较轻松的,下面是我对本周学习内容的总结:

1.类型

•Java共分为两大类型:基本类型、类类型。
•基本类型:整数、字节、浮点数、字符、布尔。
整数:short整数(2字节)、int整数(4字节)、long整数(8字节)
字节:byte(1字节)(可表示-128~127的整数)
浮点数:主要用来储存小数数值,分为float浮点数(4字节)、double浮点数(8字节)
字符:char,储存字符符号,每个字符类型占2字节
布尔:boolean类型可表示true与false

2.批注

“//”单行批注
“/”、“/”多行批注

3.常用格式控制符号

Java语言的常用格式控制符号有一部分和C语言一样,在这里我总结了一些和C语言不同的以及我不太熟悉的符号:
•%e(%E):提供的数必须是float、double、Flaot、Double,%e表示输出格式遇到字母以小写表示,5E表示遇到字母以大写表示
•%s(%S):字符串格式
•%b(%B):%b表示输出结果是true或false,%B表示输出结果是TRUE或FALSE
•%n:换行符号

4.变量

•驼峰式命名法:给变量命名时,以小写字母开始,在每个单字开始时第一个字母使用大写
•要表示字符的话,必须使用“‘”符号括住字符,一对单引号里只能包括一个字符
•数字不可以开头
•不可以使用关键字
•严格区分大小写
•十六进制表示常量:以0x开头
•八进制表示常量:以0开头

5.运算符

•条件运算符:条件值?成立返回值:失败返回值
如果条件式结果为,则返回“:”前面的值,如果条件式结果为假,则返回“:”后面的值
•位运算:“~”为补码运算,将所有0变1,1变0
“<<”左移:将所有位往左移动指定位数,左边被挤出去的位会被丢弃,在右边补0
“>>”右移:将所有位往右移动指定位数,右边被挤出去的位会被丢弃,左边补上原来的位
“>>>”往右移后,最左边一定补0

6.递增、递减运算

•++i与i++的区别:
++i:例如:number=++i; //相当于 i=i+1; number=i;
i++:例如:number=i++; //相当于 number=i; i=i+1;
记忆法:++i,加号在前面,就先加一再返回变量值
i++,加号在后面,就先返回变量值再加一

7.类型转换

•输入的字符一定要不超过变量类型的长度
•有时编译程序会默认输入字符的变量类型,如果需指定类型变量,有两种办法:
第一种:在字符后面加上指定类型变量的大写首字母(例如: float PI = 3.14F)
第二种:在字符前加上指定的类型变量,并用括号括起来(例如: float PI = (float)3.14)
•如果表达式中包括不同类型的数值,则运算时以长度最长的的类型为主,其他数值将自动提升类型
•在哪种类型变量里面进行计算,结果就会是哪种类型变量(例如:System.out.println(10/3); 在int长度的空间中进行运算的答案为3,在double长度的空间里进行运算,结果为3.33)

8.流程控制

•if...else条件式:如果条件式不成立并不想做任何事,则else可以省略
•if...else if
•switch条件式:每个case语句后面都要加上“brak;”,最后面可加“default”,但若没有默认要处理的动作,可以省略"default"
若case中没有任何描述,也没有使用break,就继续往下面的语句执行,直到遇到break离开switch为止
•foe循环:for(初始式;执行结果必须是boolean的重复式;重复式) 在一个描述区块中若想写两个以上的描述句,则使用逗号“,”作分隔
•while循环:循环进行前就进行条件判断
•do...while循环:先执行动作,再判断是否需要重复

9.break与continue

•break可以离开当前switch、for、while、do...while的区块,并执行区块后下一个描述句,在switch中主要用来中断下一个case比较,在for、while、do...while中,主要用于中断当前循环
•continue与break类似,不过使用于循环,break会结束区块执行,而continue会略过之后的描述句,并回到循环区块开头进行下一次循环,而不是离开循环
•标签:以back为例,当break back;时,返回至back标签处,之后整个back区块不执行而跳过,对于continue,标签只能设在for之前

教材学习中的问题和解决过程

问题1:

教材62页的代码

教材中说会分别输出true、false、true,但是语句里并没有格式控制符号%b,为什么会输出true和false?

解决:

逻辑运算符有返回值,返回为布尔型,因为代码中用的是println,printfln输出自动换行,里面不需要加输出格式可自动返回返回值,但是如果用printf的话就需要加上输出格式了。

问题2:

对于教材75页的乘法表不是很理解

解决:

通过看教材以及和同学讨论,我理清了这个代码的思路:i从2开始,j从1开始,判断i是否等于9,若i不等于9,就执行“:”后面的语句,i加一,此时j不变,不换行;若i等于9,则执行“:”前面的语句,语句里面是++j/j,实现了j的自加,同时,j是先自加再返回j值,所以++j/j一直等于1,再加1以后等于2,就把新值2赋给i,根据输出语句,此时换行,再进行刚才的循环,实现了九九乘法表

代码调试中的问题和解决过程

代码都是按照书上的代码进行练习的,没有出现大的问题,在编译运行的时候只出现了一些细节性的小问题,类似于名称打错、括号只打了一个、一些标点用的是中文表标点的小错误,以后练习的时候一定多注意这些细节。

其他(感悟、思考等,可选)

我认为Java语言和C语言的语法其实很类似,Java的一些类型、格式控制符、运算符、语句都跟C语言基本相同,学习过C语言之后再学习这些语法感觉并不是很困难,比较容易接受,感觉自己通过不断地看视频、看书、看博客、看代码、敲代码之后,对于Java这门课程的学习也有很大的进步,相信自己通过不断的练习会对Java越来越熟练,越来越有感觉!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 1/3 18/38

参考资料

Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导

# 20145210 《Java程序设计》第02周学习总结的更多相关文章

  1. 2018-2019-3《Java程序设计》第二周学习总结

    学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...

  2. # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结

    学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...

  3. 20155302 2016-2017-2 《Java程序设计》第九周学习总结

    20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...

  4. 20145302张薇 《Java程序设计》第二周学习总结

    20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...

  5. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  6. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  7. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  8. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  9. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  10. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

随机推荐

  1. HDUoj-------(1128)Self Numbers

    Self Numbers Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  2.  BP神经网络

     BP神经网络基本原理 BP神经网络是一种单向传播的多层前向网络,具有三层或多层以上的神经网络结构,其中包含输入层.隐含层和输出层的三层网络应用最为普遍. 网络中的上下层之间实现全连接,而每层神经元之 ...

  3. Java集合涉及的类(代码)

    Customer: public class Customer implements Comparable{        private Integer customerId;        pri ...

  4. mysql 5.7 zip 文件在 windows下的安装

    1.下载mysql最新版本. http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.15-winx64.zip 2.解压到文件夹. D:\softwa ...

  5. C#入门篇6-11:字符串操作 查找与替换

    #region 查找与替换 public class C4 { //查找 public static void StrFind() { //目标字符串 string str1 = "~awe ...

  6. C#入门篇6-8:字符串操作 深入研究字符串的内存驻留机制

    //字符串的内存驻留机制 public static void Test() { //当有多个字符串变量包含了同样的字符串实际值时, //CLR可能不会为它们重复地分配内存,而是让它们统统指向同一个字 ...

  7. c++普通高精加

    //作为一名蒟蒻,还请诸位不要吐槽. //第一次打c++高精加,内心有点小激动. //为codevs3116 高精度练习之加法 //程序太简单,就不打注释了. #include<cstdio&g ...

  8. Elasticsearch内存分配设置详解

    Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置都太小了.如果你正在使用这个默认堆内存配置,你的集群配置可能会很快发生问题. 这里有两种方式修改Elastic ...

  9. C++-函数模板特化如何避免重复定义

     我正在用一个基于模板的库源代码,该库包含一些针对特定类型的模板函数特化.类模板,函数模板和模板函数特化都在头文件中.我在我的.cpp文件中 #include 头文件并编译链接工程.但是为了在整个工程 ...

  10. POJ 3207 2-sat

    题目大意: 在圆上顺时针n个点,给定m个连接,可以通过圆内或者圆外相交,问能不能找到一种方式,使这些连接的边都不相交 这里很容易看出的是,这些边只有在圆外或者圆内两种连接方式,而且必须选择其中一种 所 ...