# 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可以 ...
随机推荐
- border用处多
1. 使用border属性实现梯形 给定一个div,通过设定div四个边框不同的颜色且设置比较粗的边框线条,可以看到div除了中间的content部分,四个边框均成梯形状,既然已经有了梯形的雏形 ...
- hdu 1695 GCD(莫比乌斯反演)
GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Objective-C:@class和#import
@class和#import是OC中引用一个类的两种方式,其区别在于: #import相当于把被引用文件的内容拷贝到目标文件,这会包含被引用类的所有信息,包括被引用类的变量和方法(会降低编译性能 ): ...
- Oracle知识整理
1.自带三种登录方式: Scott/tiger sys/manager system/manager 2.基本的操作 1) 建数据库 create tablespace 表空间的名称 dat ...
- 9个充满想象力的 JavaScript 物理和重力实验
在这个列表中挑选了9个物理和重力实验,用来展示 Javascript 的强大.几年前,所有这些实验都必须使用 Java 或 Flash 才能做.在下面这些惊人的例子中,就个人而言,我比较喜欢仿真布料的 ...
- tomcat 集群配置,Session复制共享
本配置在tomcat7上验证通过.通过此方法配置的集群,session信息将会被自动复制到各个节点. 1.配置Server.xml 在Server.xml中,找到被注释<Cluster/> ...
- 2016年5月19日php,mysql配置
1.php配置 1. 配置disable_functiondisable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshe ...
- shell中的数组
在shell脚本中,除了通常使用的shell变量外,有时也需要复杂的数据结构去实现一些功能,这里简单说明一下shell数组的使用方法: 初始化方法 _array_name[0]="rando ...
- 12.Object-C--浅谈OC的内存管理机制
昨天学习了OC的内存管理机制,今天想总结一下,所以接下来我要在这里bibi一下:OC的内存管理. 首先我要说的是,内存管理的作用范围. 内存管理的作用范围: 任何继承了NSObject的对象,对其他基 ...
- not use jquery
document.getElementById('myElement');document.querySelector('#myElement'); document.getElementsByCla ...