20155228 2006-2007-2 《Java程序设计》第2周学习总结

教材学习内容总结

类型

  • Java可以区分为基本类型和类类型(或称参考类型)。对于基本类型,使用时得考虑一下数据使用多少内存长度来存比较经济,利用程序语法告诉JVM,然后由JVM自动为你在内存中配置和管理。在Java中的基本类型主要是整数、字节、浮点数、字符、浮点数、字符与布尔。
  • 整数:细分为short(2字节)、int(4字节)取值范围是-2147483648-2147483647、long(8字节)
  • 字节:byte(1字节)取值范围是-128~127
  • 浮点数:主要用来储存小数数值,细分为float(4字节)、double(8字节)。
  • 字符:char(2字节)用来存储字符符号。
  • 布尔:boolean可以表示true和false,无法与其他类型做运算。
  • 单行批注:编译程序会忽略该行//符号之后的文字
    //
  • 多行批注:编译程序会忽略两者之间的文字
    /* */
  • println和print的区别:前者在标准输出中显示文字后换行,后者则不会换行
  • printf:f是format的意思,指的是格式化,就是对输出的文字做格式化后再显示在文本模式中
  • 常用格式控制符号
  • 输出浮点数时指定精度。下面的例子是指,浮点数的总宽度为6位,小数点后有2位,数字的位数不够时前面用空格代替。
"example:%6.2f%n",19.234

变量

  • 基本规则:变量在命名时有一些规则,不可以使用数字作为开头,也不可以使用一些特殊字符:*、&、^、%,而变量名称不可以与Java的关键词同名。
  • 驼峰式命名法:通常会以小写字母开始,并在每个单字开始时第一个字母使用大写。
  • 局部变量:撰写在main()方法中声明的变量称为局部变量。不可以声明局部变量后未指定任何值给它之前就使用变量。如果在指定变量值之后,就不想再改变变量值可以在声明变量时加上final限定
final double PI=3.141596
  • 字面常量

    浮点数除了用小数方式直接表示外,也可以直接使用科学记号表示。

    要表示字符的话必须使用“'”符号括住字符。

    要表示字符,必须使用忽略符号"",编译程序看到""就会忽略下一个字符

double number1=1.23e-3;
double number2=0.00123;
char size ='S';
char symbol ='\'''
  • 数字常量表示法:撰写整数或浮点数常量时可以使用下划线更清楚地表示某些数字
    int mask =0b1010_1010_1010

运算符

  • 算术运算
  • 比较、条件运算:有大于、小于、等于、大于等于、小于等于,比较成立时以布尔类型true表示,比较条件不成立时以false成立。条件运算符
条件式?成立返回值:失败返回值
  • 逻辑运算:&&、||、!对于&&来说,只要左边的操作数为false就直接返回false,不会运算右边的操作数。对于||来来说,只要左边的操作数为true就直接返回true,不会运算右边的操作数
  • 位运算:&、|、~(补码)、^(异或),<(左移),>(右移),位运算是逐位运算。左位移时左边被挤出去的位会被丢弃,右边补上0。右位移时右边被挤出的位会被丢弃,左边补上原来在最左边的位。如果是>>>最左边就补上0。
  • 递增运算
    i=1;
    number=++i;//number=2
    i=1;
    number=i++;//number=1
  • 指定运算

类型转换

  • 在写下一个浮点数时,编译程序默认会使用double类型。如果要将double长度的数据指定给float数据的就会编译出错。解决的办法有两种:
float PI=3.14F;
float PI=(float)3.14;
  • 在写下一个整数时,编译程序默认会使用int类型。即使定义为number变量在赋值时超过int最大值时也会出错,解决办法是:
long number =2147483648L;
  • 如果表达式中有不同类型的变量,则运算时以长度最长的类型为主。如果操作数不大于int,那么就会提升到int进行计算。所以需要注意:
short a=1;
short b=2;
short c=(short)(a+b);
short a=1;
long b=2;
int c=(int)(a+b);

流程控制

  • if else
 if(条件式)
{描述语句;}
else
{描述语句;}
  • switch
switch(表达式)
{
case 表达式可能的结果:
描述语句;
break; case 表达式可能的结果:
描述语句;
break; default:
描述语句;
}
  • for
for(初始式;判断式;重复式)
{
描述语句;
}
  • while
while(条件式)
{
描述语句;
} do
{
描述语句;
}while(条件式);
  • break和continue:对于循环,前者是终止循环直接跳出去,后者是终止本次循环重新开始循环。两者都可以配合标签使用,当使用break back或者continue back时,会跳到back:的地方

教材学习中的问题和解决过程

  • 教材P64名为Shift的代码有误,以下是正确代码:
  System.out.printf("2^0 %d%n",number);
System.out.printf("2^1 %d%n",number=number<<1);
System.out.printf("2^2 %d%n",number=number<<1);
System.out.printf("2^3 %d%n",number=number<<1);
  • 关于number=i++和number=++i的区别

  • 关于强制类型转换的问题:IDEA的方便在于类型有问题时会提示



课后习题



代码托管

  • 代码提交过程和代码量截图:

上周考试错题总结

  • 判断:执行 git clone 命令可以拷贝一个远程 Git 仓库到本地,让自己能够查看该项目,或者进行修改。(ok)
  • 填空:IDEA教程中有关调试有四种断点:行断点,方法(函数)断点,(条件断点)和临时断点。
  • CH02 选择:教材P49,第4题 (d)注意第二行string是小写

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 15篇 400小时
第一周 10/10 1/1 12/12
第二周 120/130 1/2 9/21
  • 计划学习时间:12小时

  • 实际学习时间:9小时

参考资料

20155228 2016-2017-2 《Java程序设计》第2周学习总结的更多相关文章

  1. 20155334 2016-2017-2 《Java程序设计》第九周学习总结

    20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...

  2. 20155321 2016-2017-2 《Java程序设计》第九周学习总结

    20155321 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JDBC-OD ...

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

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

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

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

  5. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  8. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  9. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  10. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

随机推荐

  1. 洛谷P3311 [SDOI2014]数数 AC自动机+dp

    正解:AC自动机+dp 解题报告: 传送门! 首先看到多串匹配balabala显然想到建个AC自动机? 然后可以用一点儿数位dp的思想地想下(,,,其实并不算QAQ 幸运数可以分为两类:位数<n ...

  2. 对oracle中SQL优化的理解

    Oracle数据库里SQL优化的终极目标就是要缩短目标SQL语句的执行时间.要达到上述目的,我们通常只有如下三种方法可以选择:1.降低目标SQL语句的资源消耗.2.并行执行目标SQL语句.3.平衡系统 ...

  3. 代码控如何实现配置fiddler

    很多小哥哥总觉得测试点点点很low,总想码代码.那么fiddler除了一些手动设置外,还可以进行丰富的代码编写,用以完成任务. 打开fiddler,工具栏选择Rules->Customize R ...

  4. 帝国cms文章页调用当前文章URL如何操作?

    前面我们讨论过dedecms文章页调用地址(当前文章URL)如何操作,作为同台竞技的帝国cms也能在文章页调用当前文章URL吗?答案是肯定的!那就随ytkah一起来探索一下吧 帝国cms模板是在后台直 ...

  5. 【UNIX网络编程(三)】TCP客户/server程序演示样例

    上一节给出了TCP网络编程的函数.这一节使用那些基本函数编写一个完毕的TCP客户/server程序演示样例. 该样例运行的过程例如以下: 1.客户从标准输入读入一行文本,并写给server. 2.se ...

  6. SQL assistant

    SQL assistant取消自动生成别名 SQL assistant-->Options-->DB option -->SQL Servers-->Auto Complete ...

  7. 轻松了解JS中this的指向

    JS中的this指向一直是个让人头疼的问题,想当初我学的是天昏地暗,查了好多资料,看的头都大了,跟他大战了那么多回合,终于把它搞定个七八分,其实往往都是我们复杂化了,现在就让大家轻松看懂this的指向 ...

  8. Tf中的SGDOptimizer学习【转载】

    转自:https://www.tensorflow.org/api_docs/python/tf/train/GradientDescentOptimizer 1.tf.train.GradientD ...

  9. 块结构在文件中的表示IOB【转载】

    转自:http://www.coderjie.com/blog/43b3601e0a2411e7841d00163e0c0e36 1.块在内存中以树的形式存储,分好块的文本在文件中用IOB标记存储: ...

  10. 配置android.support.v7.widget.Toolbar 搜索框样式

    AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...