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

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的区别

参考资料

原文地址:https://www.cnblogs.com/lxm20145215----/p/5269313.html