20145335郝昊《Java程序设计》第2周学习总结
20145335郝昊《Java程序设计》第2周学习总结
教材学习内容总结
一、类型、变量与运算符
1、类型
整数:
可细分为为short整数(占2字节),int整数(占4字节),long整数(占8字节)。可表示的整数范围从大到小依次为long,int,short。
字节:
byte类型,需要逐字节处理数据。可表示-128~127的整数
浮点数:
要用来储存小数,分为float浮点数(占4字节)与double(占8字节)
字符:
char类型用来储存字符符号等信号。
布尔:
boolean类型可表示true和false,代表逻辑的“真”与“假”。
2、变量
对于基本类型使用所对应的关键词,一些变量名称不可以使用数字作为开头,也不可以使用一些特殊字符。大部分采用驼峰是命名法
当需要表示一些符号的时候,需需要采用“/”就会忽略下一个字符,而不是将下一作为语法的一部分。例如要表示“'”就要用“/'”。
在程序中看到//符号,这是java程序的单行批注,另一个批注的符号是/与/包括的多行批注。
在方法中声明的变量成为局部变量,不可以声明局部变量后未指定任何值给它之前就使用变量,编译程序遇到这种情况也会编译错误。在声明变量时加上final限定,如果后续撰写程序时,不经意想修改final变量,就会出现编译错误。
在java SE7之后,撰写整数或浮点数可以使用下划线更清楚的表示某些数字。
3、运算符
算数运算:+、—、*、/,运算法则也是先乘除再加减。其中%运算符计算到的结果是除法后的余数
比较、条件运算:大于(>),不小于(>=),小于(<),不大于(<=),等于(==),不等于(!=)。注意一个等号(=)是赋值运算的意思,例如x=y将y的值给x。而不是比较x、y是否相等。
逻辑运算:&&(AND)、||(OR)、!(NOT),&&和||有快捷方式运算,&&有一个为假则整个结果为假,||有一个为真则整个结果为真。
位运算:位运算是逐位运算,有左移<<、右移>>两个运算符
递增和递减运算:选择i++(i--)表示先返回变量值,然后在对变量加(减),若++i(--i)表示先将变量值加(减),再返回变量值。
二、类型转换
double型到float型,int型到long型或short型,因为会存在字节的遗失。
在运算中,如果表达式中包括不同类型数值,则运算时以长度最长的类型为主,会存在类型的转换。
三、流程控制
if...else条件式
if(条件式)
{
描述语句;
}
else{
描述语句;
} 条件式运算结果true会执行if的{与}中的描述语句,否则执行else的{与}中的描述语句。如果条件式不成立并不想做任何事,则else可以省略。如果有多个if...else语句嵌套,条件式一不满足执行第二个语句的if的条件式二。
switch条件式
switch(变量或表达式)
{
case 整数、字符、字符串或Enum:
描述语句;
break;
case 整数、字符、字符串或Enum:
描述语句;
break;
...
default:
描述语句;
}
switch的括号当中要取得值的变量或表达式,值必须是整数、字符、字符串等,之后会与case进行比较,操作case中的相应的描述语句,之后break;跳转语句,如果没有对应的case语句,执行default语句,如果没有默认要处理的动作,可以省略default。
while循环
while(条件式){
描述语句;
}
while主要用于停止条件必须在执行时期判断的重复性动作。前测试循环,因为会在循环执行前就进行条件判断。
do {
描述语句;
}while(条件式);
这个为do...while循环,先执行一些动作,再判断要不要重复。
break、continue
break可以离开当前switch、for、while、do...while的区块,并执行区块后下一个描述语句,在switch中主要用来中断下一个case比较,在for、while与do...while中,主要用于中断当前的循环。
continue的作用与break类似,不过用于使用与循环,break会结束区块执行,而continue只会略过之后的描述语句,并回到循环区块进行下一次的循环而不是离开循环。
教材学习中的问题和解决过程
首先对于java语言中,虽然之前对于java的语言的语法有所了解,但是对于具体的细节还存在问题。对于输出函数System.out.printf()和Syetem.out.println()的区别,看书后得知Syetem.out.println()函数在编译后会换行,在第一章的“hello world”中就采用了这个函数,而System.out.printf()输出文字后不会换行,是标准的API
看书也知道了一些常用格式的控制符号,之前在编译的时候不能准确区分这些符号的区别。比如%d用来十进制整数格式输出,%f以十进制浮点数格式输出,%e以科学记号浮点数输出等。
对于在编译的时候不知道如何预留出字符的宽度。后来看书知道采用常用格式控制符+数字可以预留出相应的字符宽度。
最后在看书有关于类型转换部分的知识存在疑问。其中在表达式中包括不同类型,则运算时会以最长的类型为主,例如short a=1 long b=2 int c=a+b;会存在精度遗失的问题。一开始说的很乱,不太好理解,还有关于两种处理精度遗失的解决办法存在问题。后来照着书上的操作的方法,用电脑进行简单操作掌握了相应的知识。
代码调试中的问题和解决过程
在定义时候定义变量,在赋值变量时候会有存在赋值超过范围的是时候,需要注意。
这个代码为左移运算。

这里用if...else语句编译学生成绩的等级划分代码。

下面代码为9*9乘法表。成功例子,但是有个问题,为什么i的取值从2开始?
还按照书上的参考编辑了位运算和do...while语句的练习等,强化java编程训练。
其他(感悟、思考等,可选)
java是一门程序编辑课,有些知识点和c语言是相同相通的,就比如各种的循环语句也是相同的,所以需要多编程多练习。
在编译过程中需要多注意,不仅要注意逻辑上的顺序与问题,还有代码细节上的问题。
学习进度条
| 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
|-------| :----------------:|:----------------:|:---------------: |:-----:|
| 目标 | 4000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 480/500 | 3/4 | 34/38 | |
| 第三周 | /1000 | /7 | /60 | |
| 第四周 | /1300 | /9 | /90 | |
参考资料
20145335郝昊《Java程序设计》第2周学习总结的更多相关文章
- 20145335郝昊 Java学习心得 密码学代码复写
20145335郝昊 Java学习心得 密码学代码复写 本学期我们学习了现代密码学这门课程,在上课的时候接触到了很多种类型的密码体制,对于一些典型很通用的密码体制有自己的学习和设计.不论是从密码体制还 ...
- 20155210潘滢昊 2016-2017-2《Java程序设计》第一周学习总结
20155210 2016-2017-2<Java程序设计>第一周学习总结 教材学习内容总结 1.1.1: 本节主要讲了Java的由来,1995年5月23日是Java公认的诞生日.还有版本 ...
- 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可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- nginx的allow和deny配置
转自:http://www.ttlsa.com/linux/nginx-modules-ngx_http_access_module/ 单看nginx模块名ngx_http_access_module ...
- iermu爱耳目
百度推出720P 云直播摄像头 查看直播请点击 直播 互联网网盘新动向实现初见端倪,之前写过一篇关于互联网网盘的思考. 我只是仅仅有想法而已,百度已经实现了一部分. 具体功能参见http://www. ...
- .net应用程序安装部署时异常 Error 1001. 在初始化安装时发生异常 System.BadImageFormatException:未能加载文件或程序集 的解决办法【成功解决】
采用.net 4.0框架开发的一个桌面应用程序在某学校的一体机(Windows7的32位操作系统)上做安装部署时抛出异常,安装程序回滚,多次尝试仍不成功. Error 1001. 在初始化安装时发生异 ...
- 让网站全面支持v4/v6 HTTP、HTTPS、HTTP/2最简单方法是增加Nginx反向代理服务器
bg6cq/nginx-install: nginx install script https://github.com/bg6cq/nginx-install [原创]step-by-step in ...
- closure--- 闭包与并行运算
闭包有效的减少了函数所需定义的参数数目.这对于并行运算来说有重要的意义.在并行运算的环境下,我们可以让每台电脑负责一个函数,然后将一台电脑的输出和下一台电脑的输入串联起来.最终,我们像流水线一样工 ...
- Apache Kafka源码分析 – Broker Server
1. Kafka.scala 在Kafka的main入口中startup KafkaServerStartable, 而KafkaServerStartable这是对KafkaServer的封装 1: ...
- Flask之flask-migrate
简介 flask-migrate是flask的一个扩展模块,主要是扩展数据库表结构的. 官方文档:http://flask-migrate.readthedocs.io/en/latest/ 使用fl ...
- Sping-Spring JDBC框架
JDBC框架概述 在使用普通的JDBC数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关闭数据库连接等.但Spring JDBC框架负责所有的底层细节,从开始打开连接,准备和执行SQL语句,处理 ...
- (1.3.1)连接安全(连接实例与网络协议及TDS端点)
连接安全是sql server安全配置的第1道防线,它保证只有许可的客户端能够连接sql server,而且可以限制连接可用的通道(各种网络协议). 1.连接到sql server实例 sql ser ...
- 关于理财和买房 http://shouce.jb51.net/phpcms/ https://www.bj.cmbchina.com/bjtransweb/wsgzd_employ/login.jsp
对于绝大多数家境普通的年轻人来说,青年阶段无疑是一生中手头最紧的时候.原因很简单,这个阶段花钱最多,挣钱却最少.年轻人收入往往是硬性的低,开支却往往是硬性 的高.已经加班到晕头转向的小职员,很难再 ...