20165208 2017-2018-2 《Java程序设计》第二周学习总结
20165208 2017-2018-2 《Java程序设计》第二周学习总结
教材学习内容总结
2.1 标识符与关键字
- 标识符
标识符的第一个字符不能是数字字符。
标识符不能是关键字。
标识符不能是true、false和null。
标识符是区分大小写的。
2.2 基本数据类型
共8种基本数据类型,特殊记忆:逻辑类型boolean,整数类型byte。
- 逻辑类型:常量true、false;变量boolean on=true,off;
- 表格整理
数据类型 | 所占字节 | 占位 |
---|---|---|
int | 4 | 32 |
byte | 1 | 8 |
short | 2 | 16 |
long | 8 | 64 |
char | 2 | 16 |
float | 4 | 32 |
double | 8 | 64 |
- 注意事项
- long型常量用后缀L来表示,float型常量用后缀f或F来表示。
- java没有无符号的byte,int,short和long;
- char x='a'和char x=97是等价的。
- char型一定是无符号的,且不允许使用unsigned来修饰。
- float保留8位有效数字,double保留16位有效数字。
2.3 类型转换运算
- 精度按低到高排列 byte-short-char-int-long-float-double
由低到高赋值时系统自动完成数据类型的转换。
由高到低赋值时应如例int z=(int)1999L
2.4 输入、输出数据
- 可以使用Scanner类创建对象
Scanner reader = new Scanner(Syste.in);
;reader.next数据类型()
调用命令行输入的各种基本数据类型。 - System.out.println和 System.out.print的区别是前者输出数据后换行,后者不换行。
- 可以使用
+
将变量表达式或一个常数值与一个字符串并置一起输出。 - %md:输出的int型数据占m列;
%m.nf:输出的浮点型数据占m列,小数点保留n位。
2.5 数组
- 等价关系
int a[ ]与int [ ]a
int a[ ],b[ ];与int [ ]a,b[ ];
int [ ] a,b[ ];与int a[ ],b[ ][ ]; - java不允许在声明数组中的方括号內制定数组元素的个数。
- 为数组分配元素
数组名 = new 数组元素的类型[数组元素的个数];
- 声明和创建数组
float boy[] = new float[4]
; - 特殊之处:java允许使用int型变量的值指定数组的元素的个数。二维数组中一维数组的长度可以不相同。
- 数组名.length在一维数组中指的是数组中元素的个数,在二维数组中指的是含有一维数组的个数
3.1 运算符与表达式
- 加减乘除和求余以及自增自减运算符的操作元都必须是整形霍夫典型。
- x++ 和++ x都相当于x=x+1。不同之处在于++ x是先执行x=x+1再使用x的值,x++则是先使用x的值再执行x=x+1。
- 算术混合计算时以最高精度为标准进行计算,最高精度低于int型按int计算。
- 逻辑运算符:
&&
逻辑与,||
逻辑或,二者也称为短路逻辑运算符。&
按位与,|
按位或 - 符号位0是正数,1是负数。
- instanceof运算符左边操作元是对象,右边是类。左面的对象是右面的类或子类创建的对象时是true。
3.5 循环语句
do-while循环至少被执行一次
3.7 for语句与数组
for(声明循环变量:数组的名字)
指对于循环变量依次取数组的每一个元素的值。
教材学习中的问题和解决过程
- 问题1:标识符中包含关键字如_int能否作为标识符?
- 问题1解决方案:上网没有找到明确的答案,但是利用排除法做课后习题,_int是可以的。
- 问题2:印象中C语言也可以使用
num[size]
进行对数组元素个数的定义,N不算int型变量么? - 问题2解决方案:C语言中定义是
# define size 30
,而java是int size = 30
;前者相当于定义了一个常数,后者则是在使用int型变量的值 - 问题3:对于书上所说“如果想输出char型数组的引用,必须让数组a和字符串做并置运算,如
System.out.println(""+a)
,则输出数组a的引用为def879”,不是很懂他这个过程 - 问题3解决方案:暂时还没有弄懂
- 问题4:char ch=‘ABCD’为什么不对
- 问题4解决方案:char ch 只能容纳1个字符。
单引号括起的叫字符常量,只能容纳1字节。
'A' ,'B','C','D','\0' 是合法字符常量。'ABCD' 不是合法字符常量。
char ch='D'; // 正确,字符常量
char ch[]="ABCD"; //正确,字符数组,字符串。
char ch[5]="ABCD"; //正确, 字符数组,字符串。
char ch[4]={'A','B','C','D'} ; //正确, 字符数组,4个字符常量
代码调试中的问题和解决过程
-
问题1:
-
问题1解决方案:
-
问题2:
尝试了一下,发现有“ ”和无“ ”是一样的效果,所以还不是很懂“ ”的存在意义是什么
代码托管
上周考试错题总结
- publicstaticvoid买你9String args[])中的main和args不可修改。这句话是错的,args是数组名称,可任意指定。
- 运行时java命令后市该java源文件的名字(不包括扩展名)。这句话是错的。运行是java 文件名。编译是javac 文件名.java。
参考资料
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 36/36 | 4/4 | 30/30 | |
第二周 | 464/500 | 1/5 | 18/48 |