20145232 韩文浩 《Java程序设计》第2周学习总结
教材学习内容总结
这周主要学习了注释的使用,运算符的基本使用,认识了类型,变量与常量,以及一些语句语法。复习了进制转换。
- 整数
Short整数占用2字节,储存整数范围-32768 ~ 32767(2-15 ~ 215-1)
int整数占用4字节,储存整数范围-21474836548 ~ 2147483647(2-31 ~ 232-1)
long整数占用8字节,储存整数范围2-63 ~ 263-1 - 字节
byte长度就是1字节,在需要逐字节处理数据时(如图像处理、编码处理等),就会使用byte类型,若用于表示整数,byte可表示-128~127的整数 - 浮点数
储存小数数值,分为float(4字节)和double(8字节) - 字符
Char用来存储‘A’‘B’字符符号。每个字符类型占2字节,汉字字符和英文字符都是双字节储存。 - 布尔
boolean类型可表示true和false
float PI = 3.14将double类型放入float变量中,会损失4字节的数据的问题
此时需要强制类型转换
解决方法:float PI = 3.14F 或者 float PI =(float)3.14
强制将3.14转化为byte类型
关于整数类型的转换
编译时出现integer number too large错误,原因是程序中写下一个整数时,默认不超过int类型的长度
解决方法:long number = 2147483648L //用long配置长度
int a = 10; double b = a * 3.14
如果表达式中包括不同类型数值,则运算时以长度最长的类型为主,其他数值自动提升类型
如果操作数都是不大于int的整数,则自动提升为int类型进行运算。
输出a的值使用“a=”
System.out.println(“a=”+a) // +代表字符串相加
转义字符 通过 来转变后面的字母或者符号的含义
\n:换行
\b:退格 相当于backspace
\r:按下回车键 windows中回车符是有两个字符来表示\r\n
\t:制表符 相当于tab
赋值运算符
x+=4; //x=x+4
if语句
a.每一个格式都是单条语句
b.第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是可以写在其他表达式中
c.条件表达式无论写成什么样,只看最终的结构是否是ture或者falseswith语句
a.switch语句选择的类型只有四种 byte short int char
b.case之间与default没有顺序。先执行第一个case,没有匹配的case执行default
c.结束switch语句的两种情况:遇到break,执行switch语句结束
d.如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或switch结尾for语句
For里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,直到条件不满足为止。Break语句应用于选择结构和循环结构,continue语句用于循环结构。
代码调试中的问题和解决过程
代码调试中的问题和解决过程
根据书上的代码,可以得到基本类型的范围
public class Range{
public static void main(String[] args) {
//byte、short、int、long范围
System.out.printf("%d ~ %d%n",Byte.MIN_VALUE,Byte.MAX_VALUE);
System.out.printf("%d ~ %d%n",Short.MIN_VALUE,Short.MAX_VALUE);
System.out.printf("%d ~ %d%n",Integer.MIN_VALUE,Integer.MAX_VALUE);
System.out.printf("%d ~ %d%n",Long.MIN_VALUE,Long.MAX_VALUE);
//float、double精度范围
System.out.printf("%d ~ %d%n",Float.MIN_EXPONENT,Float.MAX_EXPONENT);
System.out.printf("%d ~ %d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT);
//char可表示的Unicode范围
System.out.printf("%h ~ %h%n",Character.MIN_VALUE,Character.MAX_VALUE);
//boolean的两个值
System.out.printf("%b ~ %b%n",Boolean.TRUE,Boolean.FALSE);
}
}
但是在编译中编码出现问题,请教了高其同学后得到解决。
结果如下图
而关于下面这个代码
public class Demo{
public static void main(String[] args)
{
int x=4270
x = x /1000 *1000;
System.out.println(x);
}
}
运行结果应该是4000
X是int型,1000也是int型,运算结果也应该是int型而不该是double型,小数部分应该舍去。
关于算数运算符的语法
public class Demo{
public static void main(String[] args)
{
int a = 3,b;
b = a ++;
System.out.println(b);
System.out.println(a);
}
}
运算结果是 3 4
代码应该理解为a先赋值给b然后a=a+1, 如果代码是b=++a,则结果为 4 4
关于赋值运算符的错误使用
public class Demo{
public static void main(String[] args)
{
short s = 4;
s = s + 5;
System.out.println(s);
}
}
出现编译错误,没有考虑从int转换到short可能会有损失,容易丢失精度
可以改成s+=5;
教材学习中的问题和解决过程
课本P64代码修改为
public class Shift
{
public static void main(String[] args)
{
int number=1;
System.out.printf("2 的 0 次方: %d%n",number);
System.out.printf("2 的 1 次方: %d%n",number << 1);
System.out.printf("2 的 2 次方: %d%n",number << 1);
System.out.printf("2 的 3 次方: %d%n",number << 1);
}
}
其他(感悟、思考等,可选)
还要不断敲代码加以巩固,流程控制和一些语法很多与C类似,也是c的巩固与复习。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 16篇 | 300小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 200/400 | 1/3 | 25/45 |
参考资料
20145232 韩文浩 《Java程序设计》第2周学习总结的更多相关文章
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
- 20155213 2016-2017-2 《Java程序设计》第二周学习总结
20155213 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 关于Unicode和UTF 很抱歉,没能读完娄老师推荐的网址,关于Unicode和UTF的介 ...
- 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可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20165223《JAVA程序设计》第二周学习总结
20165223 <JAVA程序设计>第二周学习总结 教材学习内容总结 第二章要点 标识符与关键字 基本数据类型 类型转换运算 输入输出数据 数组 第三章要点 运算符与表达式 语句概述 i ...
随机推荐
- BTC和BCH 区别和联系?
在比特币刚刚出现的时期,中本聪对区块的大小限制在1M.这种限制既保障性能较弱的个人电脑能够参与其中,同时也起到了防止攻击者让比特币网络超载的风险发生,毕竟那时系统还很脆弱.在1M的限制下,10分钟一个 ...
- js计算日期增加
<div class="time"> <i class="visa_icon prev"></i><span id=& ...
- IDEA安装小配置
1. view-->toolbar+toolbuttons 2. 根据大小写IDEA能准确提示 配置自动导入包 定义代码模板 提示忽略大小写 配置虚拟机内存,修改idea64.exe.vmopt ...
- java异常与spring事务关系的知识点查漏补缺
一.基础概念 java的异常结构图 从图中可知 Throwable是所有异常的根,java.lang.Throwable Error是错误,java.lang.Error Exception是异常,j ...
- Python.tornado.2.tornado.options
记录Tornado-4.0.2源码的阅读,学习,分析 options.py 1. imports 部分 1.1 __future__ from __future__ import absolute_i ...
- Linux使用touch批量修改文件/文件夹时间戳
Linux下touch是一个非常有用的命令. touch语法结构如下: touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间 ...
- python基础之Day4
流程判断 一.if 1.语法一 各条件都执行 if条件1: if条件2: if条件3: 2.语法二 if多分支,自上而下执行,一旦满足条件,后面代码即使满足条件也不会执行 if条件1: elif条件2 ...
- ceres入门学习
转载自https://www.jianshu.com/p/e5b03cf22c80 Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的开源激光雷达slam项目cartographe ...
- Java学习笔记:数据校验
在后台开发过程中,需要对参数进行校验. validation bean 是基于JSR-303标准开发出来的,使用注解的方式实现,是一套规范,可以实现参数的校验. Hibernate Validator ...
- SQL 存储过程调用存储过程
研究一个别人做的项目代码看到数据库里有一段存储过程调用存储过程的代码,原来的代码比较复杂. 于是自己打算写一个简单的例子学习一下. 一.首先创建了被需要被调用的存储过程. USE [MSPetShop ...