20145206邹京儒《Java程序设计》第2周学习总结
20145206 《Java程序设计》第2周学习总结
教材学习内容总结
一、类型
- Java可区分为基本类型和类类型两大类型系统,其中,类类型也称为参考类型。
- 在Java中的基本类型主要可区分为整数、字节、浮点数、字符与布尔。整数:可细分为short 整数(占两字节)、int 整数(占4字节)与long整数(占8字节);字节:byte类型顾名思义,长度就是一字节,若用于表示整数,byte可表示-128~127的整数;浮点数:主要用来储存小数数值,可分为float浮点数(占4字节)与double浮点数(占8字节);字符:每个字符类型占2字节,汉字字符与英文字符在Java中同样都是用双字节储存;布尔:boolean类型可表示true与false,分别代表逻辑的“真”与“假”
- 批注问题:单行批注“//”;多行批注“/”与“/”。
- System.out.println(),这会在标准输出中显示文字后换行,如果使用System.out.print()则输出文字后不会换行,其中f就是format的意思,也就是格式化。
二、变量
- 基本规则:变量在命名时有一些规则,它不可以使用数字作为开头,也不可以使用一些特殊字符;而变量名称不可以与Java的关键字同名,也不可以与Java保留字同名;命名习惯,通常会以小写字母开始,并在每个单字开始时第一个字母使用大写,这种命名方法称为驼峰式命名法。在Java中,不可以声明局部变量后未指定任何值给它之前就使用变量;如果在指定变量值之后,就不想再改变变量值,可以在声明变量时加上final限定。
- 字面变量:在Java中写下一个值,该值称为字面常数;要表示字符的话,必须使用“'”符号括住字符。
- 数字常量表示法:有时候,想要以二进制方式表示某个值,则可以用0b作为开头。
三、运算符
- 算数运算:“+、-、*、/”;模数运算符:%;算数运算符使用上与学过的加减乘除一样,也是先乘除后加减。
- 比较、条件运算:“>、>=、<、<=、==、!=",比较条件成立时以boolean类型true表示,比较条件不成立时以false表示。条件运算符:条件式?成立返回值:失败返回值。
- 逻辑运算:“&&、||、!”&&与||有所谓快捷方式运算:只要左操作数评估为false,就会直接返回false,对||来说,只要左操作数评估为true,就会直接返回true,就不会再去运算右操作数。
- 位运算:“&、|、^、~”“<<、>>"左移被挤出去的位会被丢弃,右边补0;右移被挤出去的位会被丢弃,如果左边原来是什么就补什么;“>>>”这个运算符在右移后,最左边一定补0.
- 递增、递减运算:将++或——写在变量前,表示先将变量值加或减一,再返回变量值;将++或--写在变量后,表示先返回变量值再对变量加或减一。
- 指定运算:“+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>="
四、类型转换
整数中默认类型为int型;小数中默认类型为double型;如果表达式中包括不同类型数值,则运算时以长度最长的类型为主,其他数值自动提升类型。
五、if...else条件式、switch条件式、for循环、while循环、break、continue
这一部分在C语言学习时就已经了解,在这里只总结一下自认为不太熟悉的知识点。
switch在效率上比if...else要好;for循环中,在一个描述区块中若想写两个以上的描述语句,则使用逗号做分隔;do...while:后测试循环;break与continue还可以配合标签使用。
教材学习中的问题和解决过程
问题一:在视频学习中,发现有这样一段代码:System.out.println(60);运行结果是打印出60这个数字,于是产生困惑,为什么不用加双引号呢?就像System.out.println(“Hello World"); 解决过程:问了一些同学,但现在还没有明确的解释。
问题二:byte b=2;这个赋值语句,2默认为int型,按理来说不能赋值给byte型啊,这样会丢失精度的。 解决过程:看了视频,觉得了解一些,但对类型转换这方面还是有些不熟练,需要继续巩固。
代码调试中的问题和解决过程
在IDE中进行书上代码调试:
代码一:
代码二:
代码三:
总结:其中第三个代码要特别注意空格问题,之前由于没有注意这个问题导致运行了很多次,出现的效果都连在一起,无法分辨每一个的结果,后来经过调整成功了。
其他(感悟、思考等,可选)
本章的学习感觉虽然知识点较多,比较琐碎,但内容还是比较简单的,很多知识在学习C语言时就已经掌握了,比起第一二章抽象的东西觉得第三章比较容易理解,但还是有一些小的知识点理解的不够透彻,比如说类型转换,比如说break与continue还可以配合标签使用,还需要多花时间在这上面,毕竟本章的内容是基础,学好基本语法才能在以后的学习中不吃力。
课后练习题:
操作题1:
public class Zuida {
public static void main(String[] args) {
int m=1000,n=495,i;
for(i=n;i>=1;i--)
{
if(m%i==0&&n%i==0)
break;
}
System.out.println(i);
}
}
运行结果:

操作题2:
public class amu {
public static void main(String[] args) {
int i,m,n,p,q,w;
for(i=100;i<=999;i++) {
m = i % 10;
n = (i - m) % 100;
p = (i - m - n) % 1000;
q=n/10;
w=p/100;
if (m * m * m + q*q*q + w*w*w == i)
System.out.println(i);
}
}
}
运行结果:
总结:第一个操作题因为在C语言时就已经练习编写过,所以容易一些;在进行第二个操作题时,在分离百位、十位、个位时出错,导致运行不出结果,后来经过修改成功执行。
托管代码:
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 100/100 | 1/2 | 10/15 | 编译helloworld程序 |
| 第二周 | 100/200 | 2/4 | 15/30 | 会使用IDE并成功运行代码 |
参考资料
20145206邹京儒《Java程序设计》第2周学习总结的更多相关文章
- 20145206邹京儒《Java程序设计》课程总结
20145206邹京儒<Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/ZouJR/p/5213572.html http ...
- 20145206邹京儒 web安全基础实践
20145206邹京儒 web安全基础实践 一.实践过程记录 关于WebGoat 1.我们在命令行里执行:java -jar webgoat-container-7.0.1-war-exec.jar运 ...
- 20145206邹京儒 Exp8 Web基础
20145206邹京儒 Exp8 Web基础 一.实践过程记录 Apache (一)环境配置 1.查看端口占用:在这里apach2占用端口80 2.测试apache是否正常工作:在kali的火狐浏览器 ...
- 20145206邹京儒 EXP7网络欺诈技术防范
20145206邹京儒 EXP7网络欺诈技术防范 一.实践过程记录 URL攻击实验前准备 1.在终端中输入命令:netstat -tupln |grep 80,查看80端口是否被占用,如下图所示 2. ...
- 20145206邹京儒Exp6 信息搜集与漏洞扫描
20145206邹京儒Exp6 信息搜集与漏洞扫描 一.实践过程记录 openvas漏洞扫描 1.openvas-check-setup来查看下他的安装状态: 如下图所示:在步骤7中出现错误,显示需要 ...
- 20145206邹京儒MSF基础应用
20145206邹京儒MSF基础应用 一.MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台 ...
- 20145206邹京儒《网络对抗技术》 PC平台逆向破解
20145206邹京儒<网络对抗技术> PC平台逆向破解 注入shellcode并执行 一.准备一段shellcode 二.设置环境 具体在终端中输入如下: apt-cache searc ...
- 20145206邹京儒《网络对抗》逆向及Bof基础实践
20145206邹京儒<网络对抗>逆向及Bof基础实践 1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:ma ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
随机推荐
- iOS开发——高级篇——换肤、静态库
一.换肤 1.思路1> 解决方案1,使用颜色作为图片素材的命名关键字 问题1:要保证每套图片的文件名 颜色+ 名称.png的格式比较麻烦 问题2:如果要将某一个图片应用到其他皮肤不方便2> ...
- iOS开发——UI基础-按钮内边距,图片拉伸
一.内边距 UIButton有三个属性,分别可以设置按钮以及内部子控件的内边距 1.contentEdgeInsets 如果是设置contentEdgeInsets, 会把UIImageView和UI ...
- UNITY3d在移动设备上的一些优化实战(一)-概述
转自:UNITY3d在移动设备上的一些优化实战(一)-概述 http://blog.csdn.net/leonwei/article/details/39233921 项目进入了中期之后,就需要对程序 ...
- C,C++经典笔试题(答案)转自:http://blog.163.com/jianhuali0118@126/blog/static/377499702008230104125229/
一.请填写BOOL , float, 指针变量 与“零值”比较的 if 语句.(10分) 请写出 BOOL flag 与“零值”比较的 if 语句.(3分) 标准答案: if ( fla ...
- html5跨域通讯之postMessage的用法
转自:http://www.cnblogs.com/wshiqtb/p/3171199.html postMessagePortal.html 页面代码 <!DOCTYPE html> & ...
- MySQL客户端Workbench
MySQL客户端除了Navicat之外,还有官方推出的MySQL Workbench,能看到数据库包含的存储过程,而Navicate不能. 下载链接: 32位:http://cdn.mysql.com ...
- 2017/1/7 学习笔记 jar包,maven
① 关于tar,jar,war文件 tar是通用的另一种打包格式,为了部署到服务器时方便. jar是java app server识别的java部署格式,其实是Zip文件,只是内部的文件有规范. wa ...
- 解决file_get_contents无法请求https连接的方法
PHP.ini默认配置下,用file_get_contents读取https的链接,就会报如下错误,本文给出解决方法 错误: Warning: fopen() [function.fopen]: Un ...
- ip netns相关命令
1.增加虚拟网络命名空间 ip netns add net0 2.显示所有的虚拟网络命名空间 EULER:~ # ip netns list net0 也可通过查看/var/run/netns ...
- Linq查询非泛型集合要指定Student类型(比如List)
#region Linq to 集合查询非泛型集合要指定Student类型 //ArrayList list = new ArrayList(); //li ...