黑马程序员基础加强---基础知识

基础知识

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

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循环:

   优点:更加便捷,不用担心数组越界问题;

   缺点:功能单一,不能针对某一下标的数组元素进行操作。

如果很多很少的对象他们有很多相同的地方(内部状态) ,就可以将他们变成一个对象,不同的地方作为参数传递(外部状态):享元模式

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值