基础知识
1.MyEcplise的常用设置
1.Eclipse与Myeclise的相关常识
1) 初始关系:Eclipse是基础,MyEclipse是插件。
2) 后来关系:MyEclipse将Eclise及其自己集成的插件组装成一体。
2.Java应用常用程序IDE(Integrated Development Environment 集成开发环境) 的优点
1) IDE用于工程化方式管理一个项目的开发过程;
2) 一个相对独立的项目在IDE中表现为一个独立的工程;
3) 项目中涉及的Java源文件资源文件等都是一个统一的项目进行管理。
3.MyEclipse中设置快捷键的步骤
步骤 : 菜单栏下windows --> Preference --> General--> keys
在上面可以进行已有快捷键的修改
要查看有什么组合键也可以通过Ctrl + Shift + L 查看基本快捷键
4.MyEclipse的WorkSpace与Project的关系
1) 一个MyEclipse中可以有很多WorkSpace,一个WorkSpace可以有很多Project。
2) 每个WorkSpace都是相互独立的,每个WorkSpace的配置都可以自己设置,方便每一个使用者设置自己的个人配置。
5.自己设置代码模板
在面板上输入syso + Alt + / 就会自动补齐余下代码,其实这些也可以自动设置的
Window --> Preference --> Java --> Editor --> Templates-->点击右边的New按钮
如上图般设置即可。
其中的${line_selection}是选中想加入代码的内容后右击 ---> surround with --> 选中目标模块
2.JKD5部分新特性
1.静态导入
采用import static 两个关键字连用导入某个包下面的某个类。
关键字:import static
优点:简化书写,在此之前使用类的静态方法要“类名.静态方法名”,有了静态导入后就省去了类名了,直接使用“静态方法了”
例子:
没有使用静态导入
public class Test {
public static void main(String [] args){
System.out.println(Math.max(6, 3)); //没有使用静态导入用类名.方法名
}
}
使用了静态导入
import static java.lang.Math.*;
public class TestStatic {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(max(6,3)); //使用静态导入直接使用方法名
}
}
3.可变参数数组
解决了一个接收接收不同数量参数的问题
格式:访问修饰符[静态修饰符] 参数类型 方法名{参数类型 ….. args}
在没有可变参数之前的同类问题要使用方法重载
如下例:
public class TestAgain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(add(10,20));
System.out.println(add(2,10,3,6));
}
public static int add(int a , int b){
int sum = 0;
sum = a + b;
return sum;
}
public static int add(int a , int b , int c , int d){
int sum = 0;
sum = a + b + c + d ;
return sum;
}
}
或者。。。。
public class TestAgain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = {10,20};
System.out.println(add(arr));
int [] arr2 = {2,10,3,6};
System.out.println(add(arr2));
}
public static int add(int [] nums){ //使用数组,但所有的
int sum = 0;
for(int i = 0 ; i < nums.length ; i ++){
sum += nums[i];
}
return sum;
}
}
用了可变参数之后:
public class TestChance {
public static void main(String [] args){
System.out.println(add(10,20));
System.out.println(add(2,10,3,6));
}
public static int add(int...args){
int sum = 0;
for(int i = 0 ; i < args.length ; i ++){
sum += args[i];
}
return sum;
}
}
优点可想而知:与方法重载则不必定义多个方法,与用数组作为参数相比,则去了把所有要计算的数都要预先放在一个数组中。 总之,可变数组就是集上面两种方法的优点。
更加便捷,减少代码冗余。
4.享元思想模式。
用下面的代码解释什么是享元思想模式。
public class FlyWay {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer i1 = 13 ;
Integer i2 = 13;
System.out.println(i1 == 13); //输出true
i1 = i2 = 128 ;
System.out.println(i1 == 13); //false
}
}
这是JDK1.5后新增的功能
当一个整数处于一个字节b (-128 – 127 ) 之间时,被自动对象成对象后,JVM将这些基本数据类型值很少的基本数据类型存入缓存池中,以便以后程序利用,节省内存。
简单来说,享元思想模式就是 --> 常用之物,放公用。
5.增加的for 循环
还是先举一个例子 在JKD1.5之前,要知道一个数组中的所有数之和。
public class TestFor {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = {30,52,41,41,62};
//调用方法
testFor(arr);
}
public static void testFor(int [] arr){
int sum = 0;
//循环
for(int i = 0 ; i < arr.length ; i ++){
//将每个元素相加
sum += arr[i];
}
System.out.println("数组中的元素之和为:" + sum);
}
}
有了增强后的for循环后
public class TestFor {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = {30,52,41,41,62};
//调用方法
testFor(arr);
}
public static void testFor(int [] arr){
int sum = 0;
//循环,不必再加条件,不用担心什么数组越界的问题
for(int i : arr){
//将每个元素相加,每个元素都只有一个名字 i
sum += i;
}
System.out.println("数组中的元素之和为:" + sum);
}
}
5.1 增加版的for循环相对于以前的for循环:
优点:更加便捷,不用担心数组越界问题;
缺点:功能单一,不能针对某一下标的数组元素进行操作。
如果很多很少的对象他们有很多相同的地方(内部状态) ,就可以将他们变成一个对象,不同的地方作为参数传递(外部状态):享元模式