20145215《Java程序设计》第二周学习总结

教材学习内容总结

Java语言中的很多基本语法都和C语言类似,在这里我总结一下Java中的基本语法:

标识符:

  • 标识符是程序中自定义的一些名称。
  • 由26个英文字母大小写,数字:0-9 符号:_ $ 组成
  • 定义合法标识符规则:

    1、数字不可以开头。

    2、不可以使用关键字。
  • Java中严格区分大小写。
  • 注意:在起名字的时,为了提高阅读性,要尽量有意义
  • Java中的名称规范:

    1、包名:多单词组成时所有字母都小写,例如xxxyyyzzz。

    2、类名接口名:多单词组成时,所有单词的首字母大写,例如XxxYyyZzz。

    3、变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,例如xxxYyyZzz。

    4、常量名:所有字母都大写,多单词时每个单词用下划线连接,例如XXX_YYY_ZZZ。

注释:

  • 单行注释

    格式://注释文字
  • 多行注释

    格式:/* 注释文字*/
  • 文档注释

    格式:/** 注释文字*/

常量基本类型:

  • 整数:

    short整数(2字节)、int整数(4字节)与long整数(8字节)
  • 字节:

    byte类型(1字节,一般用于逐字节处理数据)
  • 浮点数:

    float浮点数(4字节),double浮点数(8字节)
  • 字符:

    char类型(2字节)
  • 布尔:

    较为特有,只有两个数值,true和false,不用在意其长度

变量:

  • 变量的数值可以在同一类型范围内不断变化
  • 定义变量的格式:数据类型 变量名 = 初始化值;

运算符:

  • 算术运算符:+(数值相加)、-、*、/、%、++、--、+(字符串相加,例如“He”+“llo”,结果为“Hello”)
  • 赋值运算符:=、+=、-=、*=、/=、%=
  • 比较运算符:==、!=、<、>、<=、>=,比较运算符的结果都是布尔型,要么为true,要么为false
  • 逻辑运算符:&、|、^、!、&&、||
  • 位运算符:<<、>>、>>>(无符号右移)、&、|、^、~,位运算是对二进制进行运算

类型转换:

  • 自动类型提升:所有的byte型、short型和char的值将被提升到int型,其他的操作数是什么类型,计算结果就是什么类型
  • 强制类型转换:强制将一个类型的操作数转换为另一个类型,例如:byte b = 3;

    b = (byte)b+4;

    如果此处不进行强制转换,就会报错

流程控制:

  • 判断结构:if-else语句
  • 选择结构:switch语句
  • 循环结构:while语句、do while语句、for语句
  • 其他语句:break,continue语句等,基本结构语句和C语言类似,在此就不一一赘述。

代码托管:

具体流程及注意事项可以参考我的另一篇博客(http://www.cnblogs.com/lxm20145215----/p/5268624.html)

代码托管成功后,在网页上会有如图所示的提示:

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

教材第64页代码有错,纠正后代码如下:

public class Shift
{
public static void main(String[] args)
{
int number=1;
System.out.printf("2 的 0 次方: %d%n",number);
System.out.printf("2 的 1 次方: %d%n",number << 1);
System.out.printf("2 的 2 次方: %d%n",number << 1);
System.out.printf("2 的 3 次方: %d%n",number << 1);
}
}

纠正后的运行结果与课本上的结果一致

代码调试中的问题和解决过程

在运行以下代码时:

public class Comparison
{
public static void main(String[] args)
{
System.out.println("10 > 5 结果 %b%n",10 > 5);
System.out.println("10 >= 5 结果 %b%n",10 >= 5);
System.out.println("10 < 5 结果 %b%n",10 < 5);
System.out.println("10 <= 5 结果 %b%n",10 <= 5);
System.out.println("10 == 5 结果 %b%n",10 == 5);
System.out.println("10 != 5 结果 %b%n",10 != 5);
}
}

弹出了错误

后来通过查阅资料发现println是用于输出参数内容,然后换行,其参数个数固定为一个,而printf是用于输出带各种数据类型的占位符的参数,其参数个数是不定的,所以上面的代码只能用printf,而不能用println。

心得体会

在我看来,对于目前仍处在菜鸟级别的我们来说,学习java最简单也是最笨的方法就是敲教材上的代码,我看到有些人只是一味的在那看代码、背代码,却从不动手去做,到头来一看到弹出错误就慌了神。我觉得很多时候敲书上的代码是在寻找自己敲代码的手感,也是在锻炼自己解决问题的能力,看似没有什么新意的举动却往往是最实用的,也能学到很多东西,比如说上面的这串代码,如果不经过运行,可能也不会发现printf和println的区别原来有这么大,最终也就这样含含糊糊过去了。所以说,学习java,从动手敲代码开始。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时 编写了Hello Java代码
第一周 100/100 2/2 12/12 编写了Hello Java代码
第二周 200/300 2/4 15/27 理解了printf和println的区别

参考资料

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Effective Java 15 Minimize mutability

    Use immutable classes as much as possible instead of mutable classes. Advantage Easy to design, impl ...

  2. Memcache修改端口

    修改端口 网上很多的说法都无法起作用(像下面这样) D:\.......memcached -p 10000 -d start 现在有两种解决方法 ①直接修改注册表 HKEY_LOCAL_MACHIN ...

  3. 烂泥: KVM虚拟机Linux系统增加硬盘

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. Linux虚拟机在使用过程中,硬盘空间不够使用.由于前期没有做LVM,所以只能手动添加新的硬盘. 给虚拟机添加硬盘有两种方法: 1.通过virsh at ...

  4. C语言杂谈(一)scanf()、scanf_s()与错误 C4996

    错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误. ...

  5. 字符串_KMP算法(求next[]模板 hdu 1711)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 问题描述:给两个序列a,b,长度分别为n,m(1<=n<=1000000,1< ...

  6. Lighttpd

    一.简介 Lighttpd 是一个德国人领导的开源Web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全.快速.兼容性好并且灵活的web server环境.具有非常低的内存开销,cpu占用率 ...

  7. 【node.js】安装express后,'express' 不是内部或外部命令的问题

    因express默认安装是最新的版本,已经是4.x.x的版本.而最新express4.0+版本中将命令工具分出来了,所以必须要安装express-generator,执行: D:\TOOLS\Node ...

  8. c++字符串互相转换

    1.string vs char* //string to char* string str; const char* cch = str.c_str(); ]; strcpy(ch,cch); // ...

  9. java分别通过httpclient和HttpURLConnection获取图片验证码内容

    前面的文章,介绍了如何通过selenium+Tesseract-OCR来识别图片验证码,如果用接口来访问的话,再用selenium就闲的笨重,下面就介绍一下分别通过httpclient和HttpURL ...

  10. 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)

    在一款游戏中,除了华丽的界面 UI 直接吸引玩家外,另外重要的就是游戏的背景音乐与音效:合适的背景音乐以及精彩的音效搭配会令整个游戏上升一个档次. 在 Android 中.常用于播放游戏背景音乐的类是 ...