JAVA基础知识学习技巧总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA基础知识学习技巧总结
JAVA学习交流群:514167678
在这里给大家整理了一篇JAVA的学习小技巧,希望能给大家带来帮助。
1、byte通常用来进行位运算,位宽度窄,一般不用来计算
2、关键字都是小写的,在eclipse中显示为红色。
3、变量给了缺省的初始值,C语言没给,只给分配了空间,里面的数不确定
4、char的缺省值是ASCII码中第1个
5、运行效率:i++>i+=1>i=i+1
6、布尔值不能进行大小比较,只能进行==比较
7、先算&&再算||。另外&&为短路与的意思。
例1:判断以下i的变化。
int i=2,j=3;
boolean b=i>j && i++>2;
System.out.println(i);
答案:2
例2:以下在a,b,i不知道的情况下,判断真还是假。
((a>b)||((3-2)>2))||(5>2)&&(true||(++i>2))
答案:真
8、>>带符号右移,前面移空的位置添加符号位相同的数
0|001 1000 右移两位(正数)
0|000 0110
1|001 1000 右移两位(负数)
1|111 1100
>>>带符号右移,前面移空的位置添加0
9、获得-5到2的随机数
int i;
Random r=new Random();
i=r.nextInt();
// i=Math.abs(i%10)+1;//获得0到10的随机数
i=Math.abs(i%8)-5;//获得-5到-2的随机数
System.out.println(i);
10、数组创建时,大小(内存)可以是前面的变量.可以动态创建数组的大小(内存),创建后就不能再改大小.
例:
int t=9;
int[][] jiu;
jiu=new int[t][];
11、变量的作用域。
定义的数个变量其实是放在一个栈的结构中,后定义的变量先消失,先定义的变量后消失,作用域比后定义的变量大。
12、.基本数据类型参数的传递是值传递,
引用....................址传递.
class Length{
int length;
}
class People{
void walk(Length length){
length.length=+=2;
}
public satic void main(String[] args){
Length l=new Length();
l.length=20;
new People().walk(l);
System.out.println(l.length);
}
}
13、方法的重载,不能通过返回值类型不同来区别,只能通过参数的不同来区别.
14、方法或变量加static和
不加static的方法,是类的对象的方法.对象消失,方法消失
加static的方法,是类的方法.对象消失,方法存在.方法的地址是静态的与类绑定变量和上面也一样.
15、静态方法,只能访问类的静态成员和该方法的成员
16、JAVA不支持多重继承,类似一个树,一个类只有一个父类,但可以有多个接口
C++支持多重继承,类似一个网,一个类可以有多个父类
17、子类默认调用了父类无参构造函数.如果父类没有无参构造函数,必须手动重写子类的构造方法,并用super(参数)调用父类中有参构造的方法.
例:
class People{
private int age;
public People(int age){
this.age=age;
}
}
class Doctor extends People{
//不写以下构造方法则出错.
public Doctor(){
super(23);
}
//或者
public Doctor(int age){
super(age);
}
}
解决方法:在写类的有参构造方法时,最好定义个无参的构造方法.
18、构造方法调用父类的构造方法super()前不能有其他的语句.
19、final可以修饰形式参数,防止被改
例:
void walk(final int length){
}
20、import导入包的理解,重要的事情总要放到前面
21、private与abstract冲突,原因:子类实现(继承)不了接口(抽象类)中被private修饰的成员,但接口(抽象类)中的方法必须要重写,加private就没办法重写了
例:
interface InterfaceTest {
int f();
private abstract int ff();//此句错误,要去掉private
}
22、内部类可以被外部使用,可以访问外部类(宿主类)的privite成员;内部类成员加public 也可以被外部访问,但也危险,定义成private外部不能访问此类了(常用).
public class OutClass {
private int i=2;
public class InnerClass{
public int j=i;
}
}
23、抽象类不用继承也能用
例:
abstract class Out2{
private int i=2;
public abstract int f();
public static Out2 getInstance(){
return new Inner2();
}
private static class Inner2 extends Out2{//static
public int f(){
return 2;
}
}
public static void main(String[] args) {