20145206 《Java程序设计》第2周学习总结

教材学习内容总结

一、类型

  1. Java可区分为基本类型和类类型两大类型系统,其中,类类型也称为参考类型。
  2. 在Java中的基本类型主要可区分为整数、字节、浮点数、字符与布尔。整数:可细分为short 整数(占两字节)、int 整数(占4字节)与long整数(占8字节);字节:byte类型顾名思义,长度就是一字节,若用于表示整数,byte可表示-128~127的整数;浮点数:主要用来储存小数数值,可分为float浮点数(占4字节)与double浮点数(占8字节);字符:每个字符类型占2字节,汉字字符与英文字符在Java中同样都是用双字节储存;布尔:boolean类型可表示true与false,分别代表逻辑的“真”与“假”
  3. 批注问题:单行批注“//”;多行批注“/”与“/”。
  4. System.out.println(),这会在标准输出中显示文字后换行,如果使用System.out.print()则输出文字后不会换行,其中f就是format的意思,也就是格式化。

二、变量

  1. 基本规则:变量在命名时有一些规则,它不可以使用数字作为开头,也不可以使用一些特殊字符;而变量名称不可以与Java的关键字同名,也不可以与Java保留字同名;命名习惯,通常会以小写字母开始,并在每个单字开始时第一个字母使用大写,这种命名方法称为驼峰式命名法。在Java中,不可以声明局部变量后未指定任何值给它之前就使用变量;如果在指定变量值之后,就不想再改变变量值,可以在声明变量时加上final限定。
  2. 字面变量:在Java中写下一个值,该值称为字面常数;要表示字符的话,必须使用“'”符号括住字符。
  3. 数字常量表示法:有时候,想要以二进制方式表示某个值,则可以用0b作为开头。

三、运算符

  1. 算数运算:“+、-、*、/”;模数运算符:%;算数运算符使用上与学过的加减乘除一样,也是先乘除后加减。
  2. 比较、条件运算:“>、>=、<、<=、==、!=",比较条件成立时以boolean类型true表示,比较条件不成立时以false表示。条件运算符:条件式?成立返回值:失败返回值。
  3. 逻辑运算:“&&、||、!”&&与||有所谓快捷方式运算:只要左操作数评估为false,就会直接返回false,对||来说,只要左操作数评估为true,就会直接返回true,就不会再去运算右操作数。
  4. 位运算:“&、|、^、~”“<<、>>"左移被挤出去的位会被丢弃,右边补0;右移被挤出去的位会被丢弃,如果左边原来是什么就补什么;“>>>”这个运算符在右移后,最左边一定补0.
  5. 递增、递减运算:将++或——写在变量前,表示先将变量值加或减一,再返回变量值;将++或--写在变量后,表示先返回变量值再对变量加或减一。
  6. 指定运算:“+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>="

四、类型转换

整数中默认类型为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周学习总结的更多相关文章

  1. 20145206邹京儒《Java程序设计》课程总结

    20145206邹京儒<Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/ZouJR/p/5213572.html http ...

  2. 20145206邹京儒 web安全基础实践

    20145206邹京儒 web安全基础实践 一.实践过程记录 关于WebGoat 1.我们在命令行里执行:java -jar webgoat-container-7.0.1-war-exec.jar运 ...

  3. 20145206邹京儒 Exp8 Web基础

    20145206邹京儒 Exp8 Web基础 一.实践过程记录 Apache (一)环境配置 1.查看端口占用:在这里apach2占用端口80 2.测试apache是否正常工作:在kali的火狐浏览器 ...

  4. 20145206邹京儒 EXP7网络欺诈技术防范

    20145206邹京儒 EXP7网络欺诈技术防范 一.实践过程记录 URL攻击实验前准备 1.在终端中输入命令:netstat -tupln |grep 80,查看80端口是否被占用,如下图所示 2. ...

  5. 20145206邹京儒Exp6 信息搜集与漏洞扫描

    20145206邹京儒Exp6 信息搜集与漏洞扫描 一.实践过程记录 openvas漏洞扫描 1.openvas-check-setup来查看下他的安装状态: 如下图所示:在步骤7中出现错误,显示需要 ...

  6. 20145206邹京儒MSF基础应用

    20145206邹京儒MSF基础应用 一.MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台 ...

  7. 20145206邹京儒《网络对抗技术》 PC平台逆向破解

    20145206邹京儒<网络对抗技术> PC平台逆向破解 注入shellcode并执行 一.准备一段shellcode 二.设置环境 具体在终端中输入如下: apt-cache searc ...

  8. 20145206邹京儒《网络对抗》逆向及Bof基础实践

    20145206邹京儒<网络对抗>逆向及Bof基础实践 1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:ma ...

  9. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  10. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

随机推荐

  1. 【转】php 下载保存文件保存到本地的两种实现方法

    来源:http://www.jb51.net/article/40485.htm 第一种: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function d ...

  2. android 4种启动模式

    在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...

  3. MySQL中的运算符

    一.算法运算符: (A) 除法运算和模运算中,如果除数为0,非法,返回结果为NULL. 二.比较运算符: (A) 比较结果不确定是返回NULL. (B) 比较运算符可以用于比较数字.字符串和表达式.数 ...

  4. php预定义常量$_SERVER

    1.需求 了解预定义常量$_SERVER 2.属性 $_SERVER['REQUEST_URI'] //URI 用来指定要访问的页面.例如 "/index.html" $_SERV ...

  5. Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

    在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...

  6. JSP Servlet WEB生命周期

    [转载] JavaWeb的生命周期是由Servlet容器来控制的总的来说分为三个阶段1.启动阶段:加载web应用相关数据,创建ServletContext对象,对Filter和servlet进行初始化 ...

  7. 3D音效

    摘自:http://baike.baidu.com/view/1330437.htm?fr=aladdin 3D音效就是用扬声器仿造出似乎存在但是虚构的声音.例如扬声器仿造头顶上有一架飞机从左至右飞过 ...

  8. jquery.cookie中的操作

    http://w3school.com.cn/js/js_cookies.asp jquery.cookie中的操作: jquery.cookie.js是一个基于jquery的插件,点击下载! 创建一 ...

  9. Oracle语句优化之一

    public List<TdDepartment> createZtreeDep(String compId) { List<TdDepartment> dd = new Ar ...

  10. display:inline 遇上 li 无效? why?

    若制作导航栏时,使用列表li 的定义时,若想加上一个背景图 ,这时候若定义li的一个属性为:li{display:inline ; width:83px; height:30px;},则浏览器会无视后 ...