知识点1:java中的字面量和常量的区别:
java中字面量是指双引号引起来的引起来的一系列的字符串,其中,字符串中可以没有东西,也可以只有一个字符,也可以有多个字符。
java中的常量 public static final String a = "aaaaa"; 看常量的修饰词 共有的 静态的 不可变的 最大的区别是 final 变量是不可变的,而字面可以
知识点2:java中成员变量和局部变量
成员变量:声明在类括号题内的,有默认的初始值,在方法括号体外,又有字段、全局变量和类成员支撑。作用域:整个类
局部变量:声明在方法括号体内的,局部变量没有默认的初始值,需要手动给他一个默认的初始值。作用域是整个方法体。
知识点3:java中的8种基本数据类型
布尔型:类型 占用空间取值范围 默认值
boolean1 true/falsefalse
字符型:char 2 0~2^16-1 '\u0000'
单精度浮点型:float 4-3.4E+38~3.4E+38 0.0f
双精度浮点型:double 8-1.7E+308~1.7E+308 0.0
字节型:byte 1 2^7~2^7-1 0
短整型:short 2-2^15~2^15-1 0
整型:int 4 -2^31~2^31-1 0
长整型:long 8 -2^63~2^63-1 0
补充:相互转化规则:
小的自动向上转化(隐式类型转化)
大的强转向下转化(显示类型转化)
备注 :boolean类型不能转化为其他基本数据类型,short,byte,char之间不会相互转换,在运算的时候,它们是先转换为int类型去计算的。
知识点4:java中&,|与&&,||的区别?
&和|运算时,左边的即便是假也要运算右边的,&&和||,左边为假的时候,右边不做运算直接返回假
知识点5:for循环的执行顺序?
for(int i = 0; i<10;i++){
System.out.println("aaaa");
}//执行顺序是:int i = 0; i < 10; "aaaa",i++;i<10,"aaaa";i++
知识点6:方法的重载和方法的重写的区别?重载是否可以改变返回值类型?
方法的重载是写在一个类中的,它们的方法名都一样,方法的参数类型,个数不一样,返回值类型也可以不一样。
方法的重写是父类与子类之间的一种关系,方法吗和参数列席,个数返回值都必须一样。
以上两种都是java的特征多态的表现,多态分为运行时多态和编译时多态。方法的重载是编译时多态的体现,方法的重写是运行时多态的体现。
知识点7:冒泡排序、选择排序和插入排序,并用一句话总结它们
冒泡:依次对比相邻的两个数,将小的放在前面,大的放在后面
for (int i = 0; i < arr.length; i++){
for (int j = 0; j < arr.length - i - 1;j++){//-1防止数组越界 -i是已经排序好的数据,不需要再排了
if (arr[j] > arr[j+1]){//相邻两个数对比
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
选择:将i与i之后的元素依次对比,将小的放在前面,大的放在后面
for (int i = 0; i < arr.length;i++){
for (int j = i; j < arr.length;j++){
if (arr[i] > arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
插入:将当前值记录下来(从1开始),与其之前的元素对比,将小的放在前面,大的放在后面
for (int i = 1; i < arr.length; i++){
int temp = arr[i];
for (int j = i - 1; j >= 0 && temp > arr[j]; j++){
arr[j+1] = arr[j];//i=j+1
}
arr[j+1] = temp;
}