20145231第二周Java学习笔记
20145231 《Java程序设计》第2周学习总结
教材学习内容总结
本周的学习采用的依然是先看课本,再看视频,然后实践敲代码,最后根据学习笔记总结完成博客。
第三章:基础语法
知识点比较多比较零碎,整理的都是实际操作中可能会出错的或是之前不太理解的。
1、1字节(byte)=8位(bit),1024字节=1kb,64位的操作系统代表字节是固定由八位二进制构成,字长为64位,每个字由八个字节构成;(思考:64位操作系统与32位操作系统在于构成字的字节数量不同,具体表现就是存储空间不同)
2、负数的二进制表示:取反加一,最高位一定为一;
3、变量:将不确定的数据进行存储;(在内存中开辟空间:名称:变量名,空间类型:数据类型,数据)
4、输入整数默认为int型,输入小数默认为double型;
5、数据类型:基本数据类型和引用数据类型,其中前者又包括:数值型(byte、short、int、long、float、double)、字符型(char)、布尔型(boolean);
6、硬盘与CPU中缓存(缓冲存储空间)越大,运算量越大,效率较高;
7、同一区间内(大括号)不能重复用同一变量名定义,应当在数据不确定,又需要对数据进行存储时,定义变量;
8、运算过程中,不同类型之间不可进行运算,必要时可进行强制转换,运算中出现多种数据类型时,以大为主,小向大提升,强制转换时,可以去掉自动转换时的多余部分,也可能丢失精度;
9、字符串数据和任何数据使用+都是表示相连接,最终都会变成字符串;
10、转义字符:通过\来转变后面字母或符号的含义:\n换行,\b退格,\r按下回车键,\t制表符,相当于tab键;
11、逻辑运算符:用于连接布尔类型表达式;
12、&&与&的区别:&&效率相对更高,当其左边为假时即停止运算,同理||与|也一样,其左边为真即停止运算;
13、位运算:左移:移几位就乘以2的几次幂,右移:移几位就除以2的几次幂(带符号右移,最高位补原来数据最高位值,若是>>>符号,最高位直接补0);
14、&、|、^也可以进行位运算(先转换为二进制,按位运算后,再将二进制结果转换为十进制);
15、一个数异或同一个数两次结果还是原来的数;
16、利用右移可以进行进制转换;
17、三元运算符:优点:可以简化代码;弊端:必须要给出结果(eg:用if语句可不显示结果);
18、对比if语句和switch语句:值不多且满足byte、int、short、char类型时可用switch语句适当提高效率,其他情况一般用if语句;
19、编写代码注重格式和规范化,在编写代码先注明需求、思路、解决步骤等;
20、char类型中写中文是可以的,一个汉字为两个字节,在范围内。
教材学习中的问题和解决过程
问题一:
不理熟悉布尔类型表达式的输出结果;
解决过程:
通过看书上逻辑运算部分理解了布尔类型表达式输出只有两种结果即:true、false,在Java语言中System.out.println(3>4)和System.out.printf("%b%n",3>4)显示结果都是false即逻辑判断的结果。
问题二:看视频时思考的一个问题:用最有效率的方式计算2*8?
解决过程:要是直接计算的话需要转换成二进制计算,2*8相当于2乘以2的三次方,即:2<<3,这样就简化了运算。
问题三:如何在不用第三个变量的情况下对两个整数变量进行互换?
解决过程:定义两个变量m、n,n=n+m;m=n-m;n=n-m;(eg:11=8+3;m=11-3;n=11-8;)
问题四:System.out.println("5+5="+5+5);//显示"5+5=55",结果不是我们想要的怎么解决?
解决过程:System.out.println("5+5="+(5+5))//显示"5+5=10",通过提高运算优先级来实现。
代码调试中的问题和解决过程
首先,先是按照第一周的方法敲代码并运行,然后下载安装了IDEA,学习了简单的使用方法,使得敲代码及编译过程变得容易。如图:
然后对书上代码进行了编译,首次编译出现了问题,原因是没有定义SDK,后经设定SDK,可以成功编译,且在代码中含有println时,后面内容不能出现%n,否则就重复换行。大致操作及运行结果如图:
重新理解了递加递减运算中++i和i++的区别,如图:
通过打印九九乘法表了解了不同循环描述语句的写法,同时第二种写法可读性不是很强,但相对简练,利用了上一条知识点:++j与j++区别,结果如图:
其他(感悟、思考等,可选)
且学且珍惜。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 21/41 | |
第三周 | 500/1000 | 0/0 | 00/00 | |
第四周 | 300/1300 | 0/0 | 00/00 |
参考资料
- Java学习笔记(第8版)
[毕向东Java基础教程视频]
20145231第二周Java学习笔记的更多相关文章
- 第二周java学习总结
学号 20175206 <Java程序设计>第二周学习总结 教材学习内容总结 第二章是基本数据类型与数组,第三章是运算符.表达式和语句的内容.如果说第一章是让我们了解JAVA,那么第二章和 ...
- 2017-04-21周Java学习笔记
2017-04-21-周Java学习笔记... -------------------------------------- 计算机起源于:战争中的炮弹轨道计算.Unix操作系统是使用C语言编写的操作 ...
- 201521123110第二周Java学习总结
1.本章学习总结 本周的Java学习相对前一周更进了一步,初步学习了Java简单的输入和输出,String类的对象创建后不能修改,它是不可变的,在Java中浮点型默认是double型与C中的int型不 ...
- 第二周java学习收获
JAVA学习第二周总结 教材学习内容总结 第二章:讲了标识符与关键字,以及基本数据类型:逻辑类型.整数类型.字符类型.浮点类型. 输入输出,System.in,System.out和数组. 第三章:运 ...
- 201521123021第二周Java学习总结
1.本章学习总结 ①初步掌握了Java程序简单的输入和输出. ②回顾了运算符和表达式的使用. ③在数据类型的学习的中,要注意各类型的取值范围,特别是byte型范围很小,若为128即溢出. ④在Java ...
- 20165203《Java程序设计》第二周Java学习总结
教材学习内容总结 第二章 (一)标识符 注意: 标识符由字母.下画线.美元符号和数字组成,长度不受限制. 标识符第一个字符不能是数学字符. 标识符不能是关键字. 标识符不能是true.false和nu ...
- 《第六周java学习笔记》
教材知识点总结 Java 把 String 类定义为 final 类. new 运算符首先分配内存空间并在内存空间中放入字符序列,然后计算出引用.(new String(char a[],int st ...
- 20165319第五周java学习笔记
教材内容总结 1.String类和StringBuffer类都覆盖了toString方法,都是返回字符串. 所以带不带toString效果是一样的. 2.instanceOf运算符可以用来判断某个对象 ...
- 第二周Python学习笔记
分支结构: ① 单分支结构: 非常简单,if 条件语句,如果为true 则输出结果.否则不输出结果 ② 二分支结构: 条件结果为true则执行语句1,否则就执行语句2 If <条件>: ...
随机推荐
- python redis操作
import redis r = redis.Redis( host='1xx.x24.3xx.x0', #ip, password='xnxnxn&*',#密码 port=6379, #端口 ...
- JavaWeb关于session生命周期的几种设置方法
一般session的生命周期都是建立在用户登录系统后对用户信息进行一个记录,session类似于你有一张银行卡,而卡里的钱就是属于session存储的信息,卡掉了就不能取出里面的钱. 以前sessio ...
- proguard-project.txt和project.properties混淆代码
[转]利用android proguard混淆代码 防止反编译,优化代码 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上的开源demo,终于成功的配置了androi ...
- TreeMap详细介绍(源码解析)和使用示例
本文转自 http://www.cnblogs.com/skywang12345/p/3310928.html 概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学 ...
- JS添加标签
<script> function show(){ $('.add').unbind(); $('.low ...
- Python 是怎么火起来的?
Python 之父 Guido 正在设计 Python 语言,结果家里突然潜入一条大蟒蛇,一番激烈斗争,大蟒蛇把 Guido 叔生吞进肚,并洋洋自得:So Who is Guido Van Rossu ...
- 算法训练 s01串
问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据规模和约定 0~ ...
- Latex技巧:插入参考文献
LaTeX插入参考文献,可以使用BibTex,也可以不使用BibTex. 方法一:不使用BibTeX 先在文章文章末尾写好需要插入的参考文献,逐一写出,例如: \begin{thebibliograp ...
- Dubbo学习和配置(转载)
转载自: 简单了解下Dubbo 1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架, ...
- Eclipse中执行maven命令(转载)
转载自:http://blog.csdn.net/u011939453/article/details/43017865 1.如下图,右击需要执行maven命令的工程,选择"Debug As ...