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 <条件>: ...
随机推荐
- 在NodeJS中使用流程控制工具Async
本文介绍一款流程控制工具async,在编写接口或者编写测试用例的过程中总是会用到它. 由于nodejs是异步编程模型,有一些在同步编程中很容易做到的事情,现在却变得很麻烦.Async的流程控制就是为了 ...
- C++11写算法之二分查找
同样的,二分查找很好理解,不多做解释,要注意二分查找的list必须是排好序的. 这里实现了两种二分查找的算法,一种递归一种非递归,看看代码应该差不多是秒懂.想试验两种算法,改变一下findFunc函数 ...
- 用训练好的caffemodel对单个/批量图片进行分类
一.单个图片进行分类 这个比较简单,在*.bat文件中输入以下代码: @echo off set BIN_DIR=D:\caffe\caffe-windows\Build\x64\Release se ...
- Kotlin——中级篇(一):类(class)详解
在任何一门面向对象编程的语言里,类(class)是非常基础.但也是非常重要的一项组成,通俗的说就是万般皆对象,而所说的对象就是我们生成的类.Kotlin也是如此,下面详细为大家介绍Kotlin中的类的 ...
- 1084 矩阵取数问题 V2
1084 矩阵取数问题 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个M*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,先从左上走到右下 ...
- 单片机c语言教程:C51循环语句
单片机c语言教程第十三课 C51循环语句 循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 ...
- echarts+thinkphp 学习写的第一个程序
一.前台 建个名为map.html,代码如下. <!doctype html><html lang="en"><head> <meta c ...
- eclipse content assist 出现错误
解决方法是,在Window->preference->java->editor>Content Assist->advanced ,将 time out 由50 ms 改 ...
- 对宽度的控制原则 git commit -a -m "M 1、完成less计算得出图片的均分布局;";git push origin master:master
<script> import wepy from 'wepy' import api from '../api/api' export default class recharge ex ...
- 解决IE,z-index失效
在影响显示顺序的模块加上: style="position:relative;z-index:-1;" 解决IE,z-index失效