16.强制类型转换:将容量大的数据类型转换为容量小的数据类型,但可能造成精度降低或溢出。
17.字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
18.计算机底层都以二进制补码的方式来存储数据。
19.正数(最高位是0)的原码、反码、补码都相同,负数(最高位是1)的补码是其反码+1。
20.赋值运算符:= += -= *= /= %=,运算的结果不会改变变量本身的数据类型。short i = i + 1;由于常量“1”默认是int型的,所以编译会报错,使用short i += 1,则做到了+1的作用,也没有改变数据类型。
21.&与&&、| 与 | | 的区别:&&、| | 具备短路功能,左边的条件成立或者不成立,右边的条件不用再判断,&、| 不管什么情况,都要把所有条件判断完。
22.位运算:位运算符操作的都是整型的数据。(左移运算符)<< :在一定范围内,每向左移1位,相当于 * 2(右移运算符)>> :在一定范围内,每向右移1位,相当于 / 2
23.流程控制:顺序结构:程序从上到下执行。分支结构:if - else、switch-case循环结构:for、while、do-while
24.数组属于引用数据类型变量,但是数组的元素既可以是基本数据类型,也可以是引用数据类型。
25.数组的长度一旦确定就不能修改,初始化完成,长度就定了。
26.数组静态初始化:数组元素的初始化和数组元素的赋值同时进行。例如:int a[ ] = new int [ ] { 1,2,3 };
27.数组动态初始化:数组元素的初始化和数组元素的赋值分开进行。例如:int b[ ] = new int [5]; b[0] = 1 ;
28.数组元素的默认初始化值:整型:0浮点型:0.0字符型:0或者’\u0000’,而非’0’布尔类型:false引用数据类型:null
29.关键字 break、continue 可以带标签使用(类似于C语言的goto语句)break label;//结束指定标识的一层循环结构。continue label;//结束指定标识的一层循环结构当次循环。
30.面向对象vs面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
面向过程编程(Procedural Programming)是一种以顺序执行的函数为基础的编程范式。它把问题分解为一系列的步骤,以函数为最小单位,强调程序的结构和功能行为的实现。在面向过程的方法中,数据和函数是分离的,数据通过参数传递给函数,函数通过返回值传递结果。
而面向对象编程(Object-Oriented Programming,OOP)则是一种以对象为基础的编程范式。面向对象的方法将问题抽象为具备属性和行为的对象,通过定义类来创建对象。在面向对象的方法中,对象封装了数据和函数,对象之间通过消息传递来进行通信和交互。