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. nginx 与 lua 开发环境搭建

    首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...

  2. 深入掌握Java中的enum

    对于要在程序中要表示有限种类的某事物,一般我们可以采用两种方式,一是使用:public static final String 常量:二是使用enum来表示.一般而言前者简单,但是不能够很好的提供更多 ...

  3. HDU 3374 String Problem (KMP+最大最小表示)

    KMP,在有循环节的前提下: 循环节 t = len-next[len], 个数num = len/(len-next[len]);个人理解,如果有循环节,循环节长度必定小于等于len/2, 换句话说 ...

  4. Uva-11374-Airport Express

    A - Airport Express Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Appoi ...

  5. html不使用cache数据

    <HEAD>      <META   HTTP-EQUIV="Pragma"   CONTENT="no-cache">     &l ...

  6. Linux syslog介绍

    一.简介 syslog是Linux系统默认的日志守护进程.默认的主配置文件和辅助配置文件分别是/etc/syslog.conf和/etc/sysconfig/syslog文件.通常,syslog 接受 ...

  7. nginx如何设置访问跳转到一个固定页面

    方法一 server {    listen 80 ;    server_name  www.xxx.com xxx.com;      index   test.html  index.html ...

  8. 如何在TFS的过程模板中添加报表

    在新建团队项目的过程中,TFS的"新建团队项目向导"会根据用户选择的过程模板类型(CMMI, Scrum,Agile等)自动为团队项目创建一个SSRS(SQL Server Rep ...

  9. 2014 Super Training #6 H Edward's Cola Plan --排序+二分

    原题: ZOJ 3676  http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3676 题意:给每个朋友一瓶可乐,可乐有普通和高 ...

  10. UVA 10405 Longest Common Subsequence --经典DP

    最长公共子序列,经典问题.算是我的DP开场题吧. dp[i][j]表示到s1的i位置,s2的j位置为止,前面最长公共子序列的长度. 状态转移: dp[i][j] = 0                 ...