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