黑马程序员技术交流社区

标题: 【济南中心】JavaEE基础班新课程day06:Eclipse断点调试 [打印本页]

作者: 小鲁哥哥    时间: 2017-3-24 15:01
标题: 【济南中心】JavaEE基础班新课程day06:Eclipse断点调试
本帖最后由 小鲁哥哥 于 2017-3-24 15:29 编辑



【济南中心】JavaEE基础班新课程day06:Eclipse断点调试






         哈喽大家好!我们JavaEE基础班新课程进行到了第六天,今天我们讲一讲eclipse的使用。

         大家用Eclipse编程已经熟悉了,但是如果程序出错了找错误可能会找半天,今天我们讲一下debug功能,也就是用Eclipse断点调试。

   什么是断点调试?什么是debug呢?

         程序出问题了,运行异常就是出了bug,debug就是找出问题所在,解决问题,断点调试就是可以让代码一步一步的执行,好看清楚问题究竟出在哪。

  说了这么多究竟如何打断点呢?
         你想看哪里的程序,你就在那个有效程序的左边双击即可。

  在哪里设置断点?
         哪里不会点哪里。
         目前:我们就在每个方法的第一条有效语句上都


  如何运行设置断点后的程序?
          右键 -- Debug as -- JavaApplication
  看哪些地方?
          Debug:断点测试的地方
          在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。

  断点调试练习1

[Java] 纯文本查看 复制代码
package com.itheima;

/*
* 需求:看循环的执行流程(1-5求和案例)
*/
public class DebugTest {
        public static void main(String[] args) {
                // 定义求和变量
                int sum = 0;

                // 循环获取每一个数据
                for (int x = 1; x <= 5; x++) {
                        sum += x;
                }

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




   断点调试案例2

[Java] 纯文本查看 复制代码
package com.itheima;

import java.util.Scanner;

/*
* 需求:看方法的调用流程
*
* 有方法调用的时候,要想看到完整的流程,每个方法都要加断点,建议方法进入的第一条有效语句加断点
*/
public class DebugTest2 {
        public static void main(String[] args) {
                // 创建对象
                Scanner sc = new Scanner(System.in);

                // 接收数据
                System.out.println("请输入第一个数据:");
                int a = sc.nextInt();

                System.out.println("请输入第二个数据:");
                int b = sc.nextInt();

                // 调用方法
                int result = sum(a, b);

                // 输出结果
                System.out.println("result:" + result);
        }

        // 求和方法
        public static int sum(int a, int b) {
                return a + b;
        }
}


好,练习了断点调试,我们温故而知新,来练习下if else switch  数组的知识点。

案例1:用if else 完成
[Java] 纯文本查看 复制代码
/*
* 需求:键盘录入一个月份,输出该月份对应的季节。
*                 一年有四季
*                 3,4,5        春季
*                 6,7,8        夏季
*                 9,10,11        秋季
*                 12,1,2        冬季
*
* 分析:
*                 A:键盘录入一个月份,用Scanner实现
*                 B:判断该月份是几月,根据月份输出对应的季节
*                         if
*                         switch
*/
public class Test {
        public static void main(String[] args) {
                // 键盘录入一个月份,用Scanner实现
                Scanner sc = new Scanner(System.in);

                // 接收数据
                System.out.println("请输入一个月份(1-12):");
                int month = sc.nextInt();
if(month==1 || month==2 || month==12) {
                        System.out.println("冬季");
                }else if(month==3 || month==4 || month==5) {
                        System.out.println("春季");
                }else if(month==6 || month==7|| month==8) {
                        System.out.println("夏季");
                }else if(month==9 || month==10 || month==11) {
                        System.out.println("秋季");
                }else {
                        System.out.println("你输入的月份有误");
                }
        }


案例2:用switch case完成
[Java] 纯文本查看 复制代码
* 分析:
*                 A:键盘录入一个月份,用Scanner实现
*                 B:判断该月份是几月,根据月份输出对应的季节
*                         if
*                         switch
*
* case穿透。
*/
public class Test2 {
        public static void main(String[] args) {
                // 键盘录入一个月份,用Scanner实现
                Scanner sc = new Scanner(System.in);

                // 接收数据
                System.out.println("请输入月份(1-12):");
                int month = sc.nextInt();
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;
                }
        }
}

案例3: 数组反转
[Java] 纯文本查看 复制代码
/*
* 需求:
* (1)键盘录入5个int类型的数据存储数组arr中
* (2)定义方法将arr数组中的内容反转
* (3)定义方法对反转后的数组进行遍历
*
* 分析:
*                 A:定义一个长度为5的数组
*                 B:通过键盘录入数据给数组中的元素赋值
*                 C:定义方法将arr数组中的内容反转
*                         什么是反转?如何反转?
*                 D:定义方法遍历数组
*/
public class Test7 {
        public static void main(String[] args) {
                // 定义一个长度为5的数组
                int[] arr = new int[5];

                // 通过键盘录入数据给数组中的元素赋值
                Scanner sc = new Scanner(System.in);
                for (int x = 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);
        }
        
        //遍历数组
        public static void printArray(int[] arr) {
                System.out.print("[");
                for(int x=0;x<arr.length; x++){
                        if(x == arr.length-1) {
                                System.out.println(arr[x]+"]");
                        }else {
                                System.out.print(arr[x]+", ");
                        }
                }
        }
        

        /*
         * 两个明确: 返回值类型:void 参数列表:int[] arr
         */
        public static void reverse(int[] arr) {
                for(int startIndex=0,endIndex=arr.length-1;startIndex<=endIndex;startIndex++,endIndex--) {
                        int temp = arr[startIndex];
                        arr[startIndex] = arr[endIndex];
                        arr[endIndex] = temp;
                }
        }
}

今天的代码都要敲哦~      姥姥说:熟能生巧{:8_468:}







作者: mengqishiye    时间: 2017-3-27 11:37
听姥姥的话,肯定是没错的
作者: lvshen9    时间: 2017-4-3 09:36
谢谢分享,收藏了
作者: 一直前行    时间: 2017-4-12 20:56
备用,先收藏了

作者: 小鲁哥哥    时间: 2017-4-24 11:48
一直前行 发表于 2017-4-12 20:56
备用,先收藏了

感谢收藏!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2