黑马程序员技术交流社区
标题: 【济南中心】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
感谢收藏!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |