1. debug
1.1 Debug概述
Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序的执行过程来调试程序。
1.2 Debug操作流程
Debug调试,又称为断电调试,断电其实是一个标记,告诉我们从哪里开始查。
(1)如何加断点
单击代码。
(2)如何运行查看断点的程序
右键代码,点击Debug
(3)看哪里
看Debugger窗口 和Console窗口
(4)点哪里
点F7,或是如图所示。
其结果展示在Console窗口
(5)如何删除断点
结束断点
取消多个断点
选中点减号。
注意:如果数据来自于键盘输入,一定要记得输入数据,不然就不能继续查看了。
2. 基础知识练习
2.1减肥计划
package com.test02;
import java.util.Scanner;
public class Week01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入星期数(1~7):");
int num = sc.nextInt();
switch (num){
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;
default:
System.out.println("你输入得数据有误");
}
}
}
2.2 逢七过
package com.test02;
public class Week02 {
public static void main(String[] args) {
for(int i=1;i<=100;i++){
//是7得倍数,个位是7,十位是7
if(i%7==0 || i%10==7 || i/10==7){
System.out.println(i);
}
}
}
}
2.3 不死神兔
package com.test02;
public class Week03 {
public static void main(String[] args) {
int arr[] =new int[20];
arr[0]=1;
arr[1]=1;
//第一个月:1
//第二个月:1
//第三个月:2
//第四个月:3
//第五个月:5(老兔子得1对+第一个月小兔子得1对+原来得3对)
//第六个月:8
//规律 后一个得值等于前两个相加。
for(int i=2;i< arr.length;i++){
arr[i]= arr[i-1]+arr[i-2];
}
System.out.println("在第20个月得兔子对数是:" + arr[19]);
}
}
2.4百钱百鸡
package com.test02;
public class Week04 {
public static void main(String[] args) {
//公鸡最多不能超过20只
for(int i=0;i<=20;i++){
//母鸡最多不能超过33
for(int j=0;j<=33;j++){
//小鸡=100-i-j,小鸡是三得倍数
int x=100-i-j;
if((i*5+j*3+x/3)==100 && x%3==0){
System.out.println("公鸡有:" + i+"只 "+ "母鸡有:" + j+"只 "+"小鸡有:"+x +"只");
}
}
}
}
}
2.5 数组元素求和
package com.test02;
public class Week05 {
public static void main(String[] args) {
int arr[] ={68,27,95,88,171,996,51,210};
int sum=0;
for(int i=0;i<arr.length;i++){
//个位不能为7,十位不能为7,且是偶数
if(arr[i]%10!=7 && arr[i]/10!=7 && arr[i]%2==0){
sum+=arr[i];
}
}
System.out.println(sum);
}
}
2.6数组内容相同
package com.test02;
import java.util.Arrays;
public class Week06 {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 6, 7, 8};
int brr[] = {1, 3, 3, 6, 7, 8};
boolean f = equals(arr, brr);
if (f == false) {
//数组元素拼接Arrays.toString(数组名)
System.out.println("数组1:" + Arrays.toString(arr) + "和数组2:" + Arrays.toString(brr) + "不一致");
} else {
System.out.println("数组1:" + Arrays.toString(arr) + "和数组2:" + Arrays.toString(brr) + "完全一致");
}
}
public static boolean equals(int a[], int b[]) {
//判断长度是否相同
if (a.length != b.length) {
return false;
}
//判断对应元素是否相同
for (int i = 0; i < a.length; i++) {
if(a[i] != b[i]){
return false;
}
}
return true;
}
}
2.7查找
package com.test02;
import java.util.Scanner;
public class Week07 {
public static void main(String[] args) {
int arr[] ={19,28,37,46,50};
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数据:");
int num = sc.nextInt();
int index =-1;
for(int i=0;i<arr.length;i++){
if(arr[i]==num){
index =i;
break;
}/*else {
index =-1;
}*/
}
System.out.println(index);
}
}
2.8反转
方法一:
package com.test02;
public class Week08 {
public static void main(String[] args) {
int arr[]={19,28,37,46,50};
int brr[]=new int[arr.length];
for(int i=0;i<arr.length;i++){
brr[i]=arr[arr.length-i-1];
}
System.out.print("反转过后是:");
for (int j=0;j<brr.length;j++){
System.out.print(brr[j] + " ");
}
}
}
方法二:
package com.test02;
public class Week08 {
public static void main(String[] args) {
int arr[]={19,28,37,46,50};
int temp =0;
//交换到中间,就不用在交换了
for(int i=0;i<arr.length/2;i++){
temp =arr[i];
arr[i]=arr[arr.length-i-1];
arr[arr.length-i-1]=temp;
}
System.out.print("反转过后是:");
for (int j=0;j<arr.length;j++){
System.out.print(arr[j] + " ");
}
}
}
2.9评委打分
package com.test02;
import java.util.Scanner;
public class Week09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//赋值
System.out.println("请输入六个打分成绩:");
int arr[] = new int[6];
for (int i=0;i<arr.length;i++){
arr[i] = sc.nextInt();
}
//找出最大值和最小值
int max=0;
int min=0;
int sum=0;
for (int i=0;i<arr.length;i++){
if(arr[i]>max){
max = arr[i];
}else {
min =arr[i];
}
}
System.out.println(max);
System.out.println(min);
for (int i=0;i<arr.length;i++){
if(arr[i]==max || arr[i]==min){
continue;
}else {
sum+=arr[i];
}
}
int avg = sum/(arr.length-2);
System.out.println("除去最高分和最低分的平均值为:"+avg);
}
}