- 第一题 short s1 = 1; s1 = s1 + 1;与short s1 = 1; s1 += 1;
- 第二题 String 是最基本的数据类型吗?
- 第三题 int 和 Integer 有什么区别?
- 第四题【LeetCode 11】盛最多水的容器
- 对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int型,需要强制转换类型才能赋值给 short 型。
- 而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换。
不是。Java 中的基本数据类型只有 8 个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下的都是引用类型(referencetype),Java 5 以后引入的枚举类型也算是一种比较特殊的引用类型。
第三题 int 和 Integer 有什么区别?Java 是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),int 的包装类就是 Integer, 从 Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。Java 为每个原始类型提供了包装类型。
- 原始类型: boolean,char,byte,short,int,long,float,double
- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
解题思路: 双指针法
class Solution {
public int maxArea(int[] height) {
int l = 0, r = height.length-1;
int ans = 0;
while(r>l){
int area = Math.min(height[l],height[r]) * ( r - l);
ans = Math.max(ans,area);
if (height[l] <= height[r]){
++l;
}else{
--r;
}
}
return ans;
}
}



