Java 编程基础

来源:互联网 发布:java总是安装失败 编辑:程序博客网 时间:2024/05/16 11:13

 标识符:

可以由中文字符、英文字符、下划线,$,和数字构成

不能以数字打头

避开Java的关键字(例如 abstract,case,for等)

标识符没有长度限制

 

修饰符,private,default(默认,不加任何修饰符),protected,public,对类,类的属性以及类的方法进行访问权限的控制

private->default->protected->public

类内部,同一包中,子类中,其他

 

this(当前类的实例)关键字经常出现在方法中,用途:

1.返回调用当前方法的对象的引用

2.在构造方法中调用当前类中的其他构造方法

3.当方法参数名和成员变量名相同时,进行区分

 

super(父类的实例):

调用父类的构造方法或调用父类中的方法或属性

 

在static修饰的方法中,不能调用没有static修饰的方法和属性,也不能使用this和super关键字

 

一个对象修改静态属性值后,会影响其他对象

 

public class A(){

 public static int p=0;

}

A.p

或者

A a=new A();

a.p;

都可以

 

static{

...

}

静态自由块,通常用于初始化静态变量

 

final修饰类,表示该类不能再被继承;修饰属性,表示该变量是一个常量;修饰方法,表示该方法不能在子类中重写

 

instanceof是运算符

if(o instanceof A){

  A a=(A)o;

}

 

简单数据类型和引用数据类型

boolean

char

byte,short,int,long

float,double

 

Integer.MAX_VALUE<Float.MAX_VALUE

 

float f=3.4错

float f=3.4f对

 

局部变量必须先初始化(如果后面的代码有访问到它),成员变量有默认初始值,

成员变量存储在堆内存,而局部变量存储在栈内存

 

传参:值传递,引用传递

 

Java中不存在“运算符重载”

 

&逻辑与,&&短路与

 

x++和++x

 

boolean flag=age>30?true:false;

 

short s=0;
  s=s+1;(对)
  s+=1;(错,Java会自动进行强制类型转换)

 

字符串的+操作,底层实现时靠StringBuilder类的实例方法append

 

==和equals()是不同的

 

String s="abc" //采用的是字符串缓冲池机制,效率高

String s=new String("abc")//

 

String[]a;
  a=new String[]{"1","2"};

或者

String[]a={"1","2"}

 

int[][]a={{1,2},{3,4}};
  for(int[]a1:a){
   for(int a2:a1){
    System.out.println(a2);
   }
  }

 

数组的复制:

arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

Array.sort(int[]a),经过调优的快速排序算法

 

数组索引越界异常