201711671233《Java程序设计》第2周学习总结
一、教程学习内容总结
第二周主要学了基本数据类型里的字符类型和浮点类型,类型转换运算,输入、输出基本型数据,数组。
(一)字符类型(char型)
1.用单引号括起的一个字符。
2.char型变量,分配2个字节内存,占16位,没有负数的char。
Ps:char型数据一定是无符号的,不允许使用unsigned来修饰(与C语言不同)。
3.转义字符:不能通过键盘输入到字符串或程序中或已经被使用的字符,需要使用转义字符常量,如\n(换行),\b(退格),\”(双引号)等。
(二)浮点类型(单精度float型,双精度double型)默认双精度。
单精度float型:
1. 小数表示法,如231.0f。指数表示法,如2e40f(表示2乘10的40次方)。常量后必须要有后缀f或F。
2. 保留8位有效数字。分配4个字节内存,占32位。
双精度double型:
1. 表示方法和单精度float型相同(小数表示法和指数表示法),后面可以有后缀d或D,但允许省略。
2. 保留16位有效数字。分配8个字节内存,占64位。
(三)类型转换运算
精度低到高:byte < short < char < int < long < float < double
1. 当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型转换。
2. 当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算。
格式:(类型名)要转换的值。
(四)输入、输出基本型数据
1. 输入基本型数据
可以使用Scanner类创建一个对象。如:Scanner reader = new Scanner ( System.in );
2. 输出基本型数据
System.out.println()或System.out.print()可输入串值和表达式的值。
区别:System.out.println()输出数据后换行,System.out.print()输出数据后不换行。
允许使用并置符号+将变量、表达式或一个常数值与一个字符串并置一起输出。
Ps:使用System.out.println()或System.out.print()输出字符串常量时,不可以出现“回车”。若字符串长度较长,可以将字符串分解成几部分,用并置符号+将它们首尾相接。
(五)数组
数组是相同类型的变量按顺序组成的一种复合数据类型(是一些类型相同的变量组成的集合),称这些相同类型的变量为数组的元素或单元。
数组属于引用型变量,创建数组需要声明数组和为数组分配变量。
1.声明数组
格式
一维数组:数组的元素类型 数组名[ ];
数组的元素类型 [ ] 数组名;
二维数组:数组的元素类型 数组名[ ] [ ];
数组的元素类型 [ ] [ ] 数组名;
Ps:Java不允许在声明数组中的方括号内指定数组元素的个数(与C/C++不同)。如,int a[10]会导致语法错误。
2.为数组分配元素
格式:数组名 = new 数组元素的类型[ 数组元素的个数 ];
声明数组后,必须用new运算符为数组分配元素。
Ps:与C语言不同,Java允许使用int型变量的值指定数组的元素的个数。
3.length的使用
一维数组:“数组名.length”的值是数组中的元素个数。
二维数组:“数组名.length”的值是所含有一维数组的个数。
4.数组的初始化
声明数组同时可以赋给数组的元素一个初始值。
5.数组的引用
两个相同类型的数组若具有相同的引用,则它们就有完全相同的元素。
使用赋值语句时,类型必须相同。
二、教程学习中的问题和解决过程
上课的时候,一直不是很懂输入基本型数据,创建Scanner类输入数据,书上的一个例子是Scanner reader = new Scanner( System.in ); 想输入数据的时候打这一行就好了吗?C语言和C++是要输入多少字符就要有多少变量,Java就只要打这一行想输多少字符都行吗?怎么结束输入字符?
三、代码调试中的问题和解决过程
前面学的输入数据创建Scanner类,书本上一道例题上是Scanner scanner = new Scanner( System.in );和前面举的例子Scanner reader = new Scanner( System.in );不同。不知道是不是scanner和reader都行,然后我就换了一下,发现也可以运行。
四、其他
感悟:发现C/C++和Java有不少共同点,但是不同点也很多。比如,Java不允许在声明数组中的方括号内指定数组元素的个数,但是C/C++可以。还有,Java允许使用int型变量的值指定数组的元素的个数,这点也和C语言不同。
五、学习进度条
| 代码行数 (新增/累计) | 博客量 (新增/累计) | 学习时间 (新增/累计) |
目标 | 2500行 | 10篇 | 200小时 |
第一周 | 30 | 1 | 10 |
第二周 | 30/60 | 1/2 | 10/20 |
六、参考资料
Java2实用教程(第5版)