# 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可以 ...
随机推荐
- 《Play for Java》学习笔记(六)文件上传file upload
一. Play中标准方法 使用表单form和multipart/form-data的content-type类型. 1.Form @form(action = routes.Application.u ...
- Caffe 深度学习框架介绍
转自:http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作. Caffe是 ...
- linux 新增挂载新硬盘
1. 添加磁盘,查看磁盘状况 [root@db1 /]# fdisk -l Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sector ...
- 一个漂亮灵活的PHP图片验证码
<?php class Imagecode{ private $width ; private $height; private $counts; private $distrubcode; p ...
- spring+springmvc+mybatis整合
1.web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version=&qu ...
- 基础的 Linux 网络命令,你值得拥有
导读 有抱负的 Linux 系统管理员和 Linux 狂热者必须知道的.最重要的.而且基础的 Linux 网络命令合集.在 It's FOSS 我们并非每天都谈论 Linux 的"命令行方面 ...
- android应用程序如何调用支付宝接口(转)
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...
- MySQL为数据表的指定字段插入数据
username not null 没有默认值/有默认值 insert不插入username字段 均不报错 2014年07月23日21:05 百科369 MySQL为数据表的指定字段插入数据 ...
- 转: JSP中include指令和include动作的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如果 ...
- hdu 4605 Magic Ball Game
http://acm.hdu.edu.cn/showproblem.php?pid=4605 可以离线求解 把所以可能出现的 magic ball 放在一个数组里(去重),从小到大排列 先不考虑特殊 ...