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. phpMyAdmin 缺少 mysqli 扩展。请检查 PHP 配置

    好久没有在windows下配置php了,今天,按照前一篇文章配置好,打开phpmyadmin时,出现如下问题: phpMyAdmin 缺少 mysqli 扩展.请检查 PHP 配置 网上搜索解决方案, ...

  2. jQuery学习:用按键移动方块

    <!doctype html> <html> <head> <meta charset="utf-8"> <style typ ...

  3. EasyUI中Dialog的使用

    $(function () { $('<div id="dlgContent"></div>').appendTo($('body')); $('#dlgC ...

  4. Java多线程基础知识(四)

    一. Condition 接口 1. Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式. 但是这两者在使用方式以及功能特性上还是有差别的. 2. 支持多 ...

  5. shareSDK

    一. 编写sharesdk代码 在AppDelegate.m中 //shareSDK相关 #import <ShareSDK/ShareSDK.h> #import "Weibo ...

  6. [POJ2109]Power of Cryptography

    [POJ2109]Power of Cryptography 试题描述 Current work in cryptography involves (among other things) large ...

  7. word20161129

    1. nested 英[nestɪd]美[nestɪd]adj. 嵌套的;v. 筑巢( nest的过去式和过去分词 );[例句]In the makeGrades method I use a cod ...

  8. java中的jComBox的基本用法

    jComBox获取选中的字符串 getSelectedItem().toString()返回一个字符串 getSelectedItem()返回一个对象. getSelectedIndex()得到选择值 ...

  9. c#的问号?和双问号??

    1.问号?表示该变量可以为空 int? a=new int?(); Console.Writeline(a);//a是null 等价于: int? a=null; 也等价于下面这行,表示该变量默认为n ...

  10. PHP程序员如何突破成长瓶颈(php开发三到四年)

    看了这篇博文,我正好处于这个阶段,也有心要突破自己,呵呵! 作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题, ...