# 20145210 《Java程序设计》第02周学习总结
教材学习内容总结
本周我对教材第三章进行了学习,第三章对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周学习总结的更多相关文章
- 2018-2019-3《Java程序设计》第二周学习总结
学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...
- # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结
学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...
- 20155302 2016-2017-2 《Java程序设计》第九周学习总结
20155302 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 基本数据库操作相关的JDBC接口或类是位于java.sql包中.在程序中要取得数据库联机,我 ...
- 20145302张薇 《Java程序设计》第二周学习总结
20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
随机推荐
- jsp 文件引入
<!-- 清除浏览器中的缓存,它和其它几句合起来用,就可以使你再次进入曾经访问过的页面时,ie浏览器必须从服务端下载最新的内容,达到刷新的效果. --><meta http-equi ...
- Sql语句统计多表个数并求和
) FROM ((SELECT BaseID FROM dbo.Life_cheliang WHERE BaseCreateDate BETWEEN '2015-6-5' AND '2015-6-11 ...
- apache本地网址配置
1 实现类似于域名访www.a.com问本地的空间,而不是放在apache下的htocs文件夹下,或者是wamp下的www文件下 2 首先修改C盘WINDOWS\system32\drivers\et ...
- Flume Hello World!
Flume 是 Cloudera 公司开源出来的一套日志收集系统.模型如下所示: 图中Source,Sink分别代表数据源和数据目的地,channel表示Source和Sink之间的通道.配置文件为/ ...
- js基础之arguments、css
arguments就是一个包含传入的参数的数组对象 栗子一: function sum(){ var result=0; for(var i=0;i<arguments.length;i++){ ...
- 如何在android项目中引用project作为类库引用
前言: 在我们开发项目的时候,存在很多多个项目共有一个资源.逻辑代码的情况,这种情况一般我们采用在开发项目中导入别的项目作为引用的类库.资源等. 操作: 1. 新建一个android项目common ...
- soap
sudo apt-get update apt-get install php-soapphp-config --configure-options --enable-soap php -i | gr ...
- 怎么用navicat自动备份mysql数据库
打开navicat客户端,连上mysql后,双击左边你想要备份的数据库.点击“计划”,再点击“新建批处理作业”. 双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务. 点击保存, ...
- CodeForces 534D Program B
Description On February, 30th n students came in the Center for Training Olympiad Programmers (CTOP) ...
- mouseOver与rollOver
区别: 当父容器监听这两个事件,鼠标从父容器移到子容器再移回父容器时,会触发mouseOver.mouseout事件,但是不会触发rollover.rollout事件.