今天开始学习阿里云的Java零基础入门课程,首先是JAVA自测,20题错了5道,题目及自己的解析如下:
(1)
解析:int型为32位无符号整数 , 其表示范围是2的32次方,最大整数为 2的31次方-1,最小值为-的2的31次方,即-2147483648~2147483647,题目中 num + 2后值为147483649,溢出两个数,因此后移两个数。即为-3147483647。
(2)
解析:题目中num为long型,x为int型,long型的取值范围大于int型,因此long型变为int型需要进行强制类型转换,原代码更正为:int x = (int)num + 2;更正后执行结果为102。
(3)
解析:A选项:JAVA小数默认类型为double型,应更正为:float f = 1.3f,B选项:未赋值,C选项:byte的取值范围为-128~127,D选项正确。
(4)
解析:int型取值范围小于long型,因此是自动转换,所以运行后temp的值为2147483649,但题目要求输出的是num的值,因此还是20147483647。
(5)
解析:Java关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,还有特别意义的变量。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。
final:用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量。enum:枚举。assert(断言):用来进行程序调试。
此外,今天还学习了Java的发展概述和主要特点,除了JVM外,Java还具有可移植性、开发足够简单、是为数不多的支持多线程编程的开发语言、支持自动垃圾收集处理、是面向对象的编程语言等特点。