java Eclipse

来源:互联网 发布:php的resource类型 编辑:程序博客网 时间:2024/06/15 04:38

Eclipse

1.1    Eclipse概述

l 概述

Eclipse是一个专门针对Java的集成开发工具(IDE),是IBM公司的产品。是免费、开源、由Java语言编写。所以,需要有JRE运行环境并配置好环境变量。它可以极大地提升我们的开发效率。可以自动编译,检查错误。在公司中,使用的就是Eclipse进行开发。

l 特点描述

n 免费

n 纯Java语言编写

n 免安装

n 扩展性强

l 下载和安装

n 下载 http://eclipse.org/

n 安装         绿色版    解压就可以使用(Eclipse)

n  卸载(只需要将文件夹删除就可以了)

注意: 开发软件的安装目录中,不要出现空格与中文与特殊符号

1.2    Eclipse基本使用

l 选择工作空间

n 工作空间  其实就是我们写的源代码所在的目录

l 用Eclipse来完成一个HelloWorld案例

n 创建项目

n 创建包

n 创建类

n 编写代码

n 编译

n 运行

1.3    基本配置

l 行号的显示和隐藏

n 显示:在代码区域的左边空白区域,右键 -- Show Line Numbers

n 隐藏:将上面的操作再做一遍

l 字体大小及颜色

n  修改java代码的字体大小与颜色

u  Window -- Preferences -- General -- Appearance -- Colors and Fonts-- Java -- Java Editor Text Font选中后,点击Edit,进行修改

n  修改其他字体大小与颜色

u  Window -- Preferences -- General -- Appearance -- Colors and Fonts-- Bacic -- Text Font 选中后 点击Edit ,进行修改

l 解决窗体布局乱了

n  Window – Perspective -- Reset Prespective

l 解决控制台找不到

n  Window--Show View—Console

1.4    快捷键

l 内容辅助键:alt+/

                  A:main方法

                          main,然后alt+/,回车

                  B:输出语句

                          syso,然后然后alt+/,回车

l 其它快捷键:

                  A:注释

                          单行         选中内容,ctrl+/,再来一次就是取消

                          多行         选择内容,ctrl+shift+/,ctrl+shift+\

                  B:格式化

                          ctrl+shift+f

1.5    项目的删除和导入

l 删除项目

n 选中项目– 右键 – 删除

n 从项目区域中删除

n 从硬盘上删除

l 导入项目

n 在项目区域右键找到import

n 找到General,展开,并找到

u Existing Projects intoWorkspace

n 点击next,然后选择你要导入的项目

u 注意:这里选择的是项目名称

第2章   强化训练

2.1    键盘录入月份,输出对应的季节

l 需求:

一年有四季;3,4,5春季;6,7,8夏季;9,10,11秋季;12,1,2冬季

l  使用if语句实现

publicclassDemo01Test {

    publicstaticvoidmain(String[]args) {

        // 键盘录入一个月份,Scanner实现

        Scanner sc= new Scanner(System.in);

        // 接收数据

        System.out.println("请输入一个月份(1-12)");

        intmonth =sc.nextInt();

        // 判断该月份是几月,根据月份输出对应的季节

        /*

        if (month == 1) {

            System.out.println("冬季");

        } else if (month == 2) {

            System.out.println("冬季");

        } else if (month == 3) {

            System.out.println("春季");

        } else if (month == 4) {

            System.out.println("春季");

        } else if (month == 5) {

            System.out.println("春季");

        } else if (month == 6) {

            System.out.println("夏季");

        } else if (month == 7) {

            System.out.println("夏季");

        } else if (month == 8) {

            System.out.println("夏季");

        } else if (month == 9) {

            System.out.println("秋季");

        } else if (month == 10) {

            System.out.println("秋季");

        } else if (month == 11) {

            System.out.println("秋季");

        } else if (month == 12) {

            System.out.println("冬季");

        } else {

            System.out.println("你输入的月份有误");

        }

        */

       

        //代码太长了,能不能简单一些呢?

        //能,如何简单一些呢?

        //我们可以把相同季节的月份放到一起来判断

        //(month==3|| month==4 || month==5)

        if(month==1 ||month==2|| month==12) {

            System.out.println("冬季");

        }elseif(month==3 ||month==4|| month==5) {

            System.out.println("春季");

        }elseif(month==6 ||month==7||month==8) {

            System.out.println("夏季");

        }elseif(month==9 ||month==10|| month==11) {

            System.out.println("秋季");

        }else{

            System.out.println("你输入的月份有误");

        }

    }

}

l  使用switch语句实现

n  普通switch方式代码实现

publicclassDemo02Test {

    publicstaticvoid main(String[] args) {

        // 键盘录入一个月份,Scanner实现

        Scanner sc = new Scanner(System.in);

        // 接收数据

        System.out.println("请输入月份(1-12)");

        intmonth = sc.nextInt();

        // switch语句实现

        switch (month) {

            case 1:

                System.out.println("冬季");

                break;

            case 2:

                System.out.println("冬季");

                break;

            case 3:

                System.out.println("春季");

                break;

            case 4:

                System.out.println("春季");

                break;

            case 5:

                System.out.println("春季");

                break;

            case 6:

                System.out.println("夏季");

                break;

            case 7:

                System.out.println("夏季");

                break;

            case 8:

                System.out.println("夏季");

                break;

            case 9:

                System.out.println("秋季");

                break;

            case 10:

                System.out.println("秋季");

                break;

            case 11:

                System.out.println("秋季");

                break;

            case 12:

                System.out.println("冬季");

                break;

            default:

                System.out.println("你输入的月份有误");

                break;

        }

    }

}

n  case穿透原理

u  case条件只判断一次,在判断完一次case条件后,所有的case判断语句将不再起作用,而剩余语句正常执行。这是switch语句的穿透。(了解)

publicclassDemo02Test{

    publicstaticvoidmain(String[]args) {

        // 键盘录入一个月份,Scanner实现

        Scanner sc= new Scanner(System.in);

        // 接收数据

        System.out.println("请输入月份(1-12)");

        intmonth =sc.nextInt();

        //case 穿透

        switch(month) {

            case1:

                System.out.println("hello");

                //break;

            case2:

                System.out.println("world");

                break;

            default:

                System.out.println("over");

                break;

        }

    }

}

n  通过case穿透现象改进代码

publicclassDemo02Test {

    publicstaticvoid main(String[] args) {

        // 键盘录入一个月份,Scanner实现

        Scanner sc = new Scanner(System.in);

        // 接收数据

        System.out.println("请输入月份(1-12)");

        intmonth = sc.nextInt();

        //通过case穿透现象改进代码

        switch(month) {

            case 1:

            case 2:

            case 12:

                System.out.println("冬季");

                break;

            case 3:

            case 4:

            case 5:

                System.out.println("春季");

                break;

            case 6:

            case 7:

            case 8:

                System.out.println("夏季");

                break;

            case 9:

            case 10:

            case 11:

                System.out.println("秋季");

                break;

            default:

                   System.out.println("你输入的月份有误");

                   break;

        }

    }

}

2.2    打印5位数中所有的回文数

l 需求:

什么是回文数呢?举例:12321是回文数,个位与万位相同,十位与千位相同。

publicclass Demo03Test {

    publicstaticvoidmain(String[]args) {

        //5位数告诉了我们数据的范围,用for循环实现

        for(intx=10000;x<100000;x++){

            //获取每一个5位数,然后得到它的个位,十位,千位,万位

            intge =x%10;

            intshi =x/10%10;

            intqian =x/10/10/10%10;

            intwan =x/10/10/10/10%10;

           

            //把满足条件的数据输出即可

            if((ge==wan)&& (shi==qian)){

                System.out.println(x);

            }

        }

    }

}

2.3    求数组中满足要求的元素和

l 需求:

(1)定义一个int类型的一维数组,内容为{171,72,19,16,118,51,210,7,18}

(2)求出该数组中满足要求的元素和。

         (3)求和的元素的个位和十位不能包含7,并且只能为偶数。

publicclass Demo05Test {

    publicstaticvoidmain(String[]args) {

        //定义一个int类型的一维数组

        int[]arr = {171,72,19,16,118,51,210,7,18};

       

        //定义一个求和变量

        intsum = 0;

       

        //遍历数组,获取到数组中的每一个元素

        for(intx=0;x<arr.length;x++) {

            //判断该元素是否满足如下要求,如果是就累加,否则,不处理它

            if((arr[x]%10 != 7)&& (arr[x]/10%10!=7) && (arr[x]%2 == 0)) {

                sum+= arr[x];

            }

        }

        //输出结果

        System.out.println("sum:"+sum);

    }

}

2.4    裁判评分

l 需求:

(1)在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。

(2)选手的最后得分为:去掉一个最高分和一个最低分后其余4个选手的平均值。

(3)请写代码实现。(不考虑小数部分)

publicclass Demo06Test {

    publicstaticvoidmain(String[]args) {

        //定义一个长度为6的数组

        int[]arr =newint[6];

       

        //通过键盘录入的方式给出评委的分数

        Scanner sc= new Scanner(System.in);

        for(intx=0;x<arr.length;x++) {

            System.out.println("请给出第"+(x+1)+"个评委的分数(0-100)");

            /*intnumber = sc.nextInt();

            arr[x] = number;*/

            arr[x] =sc.nextInt();

        }

       

        //写方法实现获取数组中的最大值,最小值

        intmax =getMax(arr);

        intmin =getMin(arr);

       

        //写方法实现数组元素的求和

        intsum =sum(arr);

       

        //(-最高分-最低分)/(arr.length-2)

        intavg = (sum-max-min)/(arr.length-2);

       

        //输出分数即可

        System.out.println("该选手的最终得分是:"+avg);

    }

   

    //数组元素求和

    publicstaticintsum(int[]arr){

        intsum = 0;

       

        for(intx=0;x<arr.length;x++) {

            sum+= arr[x];

        }

       

        returnsum;

    }

   

    //数组中的最小值

    publicstaticintgetMin(int[]arr){

        intmin =arr[0];

       

        for(intx=1;x<arr.length;x++) {

            if(arr[x] <min) {

                min = arr[x];

            }

        }

       

        returnmin;

    }

   

    //数组中的最大值

    publicstaticintgetMax(int[]arr){

        intmax =arr[0];

       

        for(intx=1;x<arr.length;x++) {

            if(arr[x] >max) {

                max= arr[x];

            }

        }

       

        returnmax;

    }

}

2.5    数组元素反转

l 需求:

(1)键盘录入5个int类型的数据存储数组arr中

(2)定义方法将arr数组中的内容反转

(3)定义方法对反转后的数组进行遍历

l 画图分析

publicclass Demo07Test {

    publicstaticvoidmain(String[]args) {

        // 定义一个长度为5的数组

        int[]arr =newint[5];

 

        // 通过键盘录入数据给数组中的元素赋值

        Scanner sc= new Scanner(System.in);

        for(intx= 0;x<arr.length;x++) {

            System.out.println("请给出第" + (x + 1) +"个元素");

            arr[x] =sc.nextInt();

        }

       

        System.out.println("反转前的数组元素:");

        printArray(arr);

 

        // 定义方法将arr数组中的内容反转

        reverse(arr);

       

        System.out.println("反转后的数组元素:");

        //定义方法遍历数组

        printArray(arr);

    }

   

    //遍历数组

    publicstaticvoidprintArray(int[]arr) {

        System.out.print("[");

        for(intx=0;x<arr.length;x++){

            if(x ==arr.length-1) {

                System.out.println(arr[x]+"]");

            }else{

                System.out.print(arr[x]+", ");

            }

        }

    }

   

    /*

     * 两个明确:返回值类型:void参数列表:int[]arr

     */

    publicstaticvoidreverse(int[]arr) {

        /*

        利用for循环遍历数组

            初始化表达式定义两个指针,记录第一个元素和最后一个元素:intmin = 0,max =arr.length-1;

            布尔表达式:min<max;

            步进表达式:min++,max--;

        */

        for(intmin=0,max=arr.length-1;min<=max;min++,max--) {

            //利用第三方变量完成数组中的元素交换

            inttemp =arr[min];

            arr[min] =arr[max];

            arr[max] =temp;

        }

    }

}

2.6    数组元素基本查找

l 需求:数组元素查找(查找指定元素第一次在数组中出现的索引)

(1)给定数组int[] arr= {5,7,3,2,5};

(2)要查询的元素通过键盘录入的方式确定

(3)定义一个查找数组元素第一次出现位置的方法(注,要查找的元素就是键盘录入的数据)

publicclass Demo08Test {

    publicstaticvoidmain(String[]args) {

        // 给定数组int[]arr ={5,7,3,2,5};

        int[]arr = { 5, 7, 3, 2, 5 };

 

        //要查询的元素通过键盘录入的方式确定

        Scanner sc= new Scanner(System.in);

       

        System.out.println("请输入要查找的元素:");

        intnumber =sc.nextInt();

       

        //定义一个查找数组元素第一次出现位置的方法

        //调用方法

        intindex =getIndex(arr,number);

        System.out.println("index:"+index);

    }

   

    /*

     * 两个明确:

     *      返回值类型:int

     *      参数列表:int[]arr,int value

     */

    publicstaticintgetIndex(int[]arr,intvalue) {

        //遍历数组,获取到每一个元素和要查找的元素进行比较,

        /*

        for(int x=0; x<arr.length;x++) {

            if(arr[x] == value) {

                //如果相等,就直接把该处的索引返回。

                return x;

            }

        }

        //遍历完毕,没有相等的返回-1

        return -1;

        */

       

        intindex = -1;

        for(intx=0;x<arr.length;x++) {

            if(arr[x] ==value) {

                index= x;

                break;

            }

        }

        returnindex;

    }

}

2.7    扩展知识点:数组可不可以作为返回值?

将五个参数中 平均值与和存储到数组中并返回

例如有五个int类型数据 4,23,221,2,111

publicclass Test2 {

publicstaticvoid main(String[] args) {

   

    int[]arrgetArr(4,23,221,2,111);

   }

/*

   *返回值类型是一个数组类型 说明返回值就是一个数组

   *将五个参数中 平均值与和 存储到数组中并返回 

   *       第一个元素是平均值  第二个元素是和

   */

publicstaticint[] getArr(int a,int b,int c,int d,int e){

    //求和

    int sum = a+b+c+d+e;

    //求平均值

    int avg = sum/5;

    //将和与平均值存储到数组中

    //创建一个数组  存储平均值与和 长度为2

    int[] arr =newint[2];

      arr[0] = avg;

      arr[1] = sum;

   

    return arr;//返回的数组 

   }

}