java基础第6天自我总结
一、debug调试
1.在有效代码段前面鼠标左键单击添加断点
2.debug调试运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OIJzVnWP-1575631954602)(C:\Users\何建豪\Desktop\截图\捕获3.PNG)]
二、java基础总结
1.if 语句案例
减肥计划:设计用户输入星期数打印输出减肥计划
public class jianfeijihua01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week=sc.nextInt();
if(week==1){
System.out.println("跑步");
}else if (week == 2) {
System.out.println("慢走");
} else if(week==3){
System.out.println("动感单车");
}else if(week==4){
System.out.println("游泳");
}else if(week==5){
System.out.println("拳击");
}else if(week==6){
System.out.println("健身");
}else {
System.out.println("好好吃一顿");
}
if (week <1||week> 8) {
System.out.println("您的输入有误");
}
}
}
2.switch 语句:
public class jifeijihua {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week=sc.nextInt();
switch (week){
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("您的输入有误");
}
}
}
3.for循环案例
(1).逢7过:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2zYBJ96h-1575631954604)(C:\Users\何建豪\Desktop\截图\逢7过.PNG)]
增强:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MLpckZB0-1575631954622)(C:\Users\何建豪\Desktop\截图\逢7增强.PNG)]
我的:
public class feng7guo {
//能被7除,个位十位包含7,1到100;10个一组打印然后换行
public static void main(String[] args) {
int count=0;
for (int i = 1; i <=100 ; i++) {
if (i%10==7||i/10%10==7||i%7==0) {
count++;
System.out.print(i+"\t ");
if (count%10==0){
System.out.println();
}
}
}
}
}
(2).九九乘法表:外循环执行一下内循环执行一圈
public class test4 {
/*
调用方法打印乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...
1*9=9 ...... 9*9=81
*/
public static void main(String[] args) {
cfb();
}
public static void cfb(){
for (int i =1 ; i <=9 ; i++) //外循环控制打印1-9行 既换行
{
for (int j = 1; j <=i ; j++)//内循环控制打印每行的内容,既i与j相乘
{
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println();
}
}
}
(3).不死的兔子
/*
若兔子不死,一对兔子3个月生一对兔子,问20个月一共有多少?
分析:
第一个月1对,二月1对,三月2对...如下:
1,1,2,3,5...?
规律:从第3月开始,当前对数是前两个月对数相加
*/
public class bushiTuzhi {
public static void main(String[] args) {
int [] arr=new int[20];//用数组来保存每个月兔子对数
arr[0]=1;arr[1]=1;//已知
/*
arr[0]=1
arr[1]=1
arr[2]=2
... arr[x]=arr[x-2]+arr[x-1]
arr[19]
*/
for (int x = 2; x <arr.length ; x++) { //从第二月开始遍历创建数组,
arr[x]=arr[x-2]+arr[x-1];
}
System.out.println("第二十个月兔子对数是:"+arr[19]);
}
}
(4)、百鸡百钱
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dKVFmIxc-1575631954623)(C:\Users\何建豪\Desktop\截图\百钱百鸡.PNG)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NAM3AMiq-1575631954624)(C:\Users\何建豪\Desktop\截图\baiqianbaiji.PNG)]
我的代码:
/*
公鸡5钱一只。母鸡3钱一只。小鸡3只一钱。
100钱买100只鸡
1.全买一种:设买公鸡x只,买母鸡y只,小鸡z只
x<=20//20*5=100只
y<=33//33*3=99只
此时z=100-x-y
*/
public class baiqianbaiji {
public static void main(String[] args) {
for (int x = 0; x <=20 ; x++) {
for (int y = 0; y <=33 ; y++) {
int z=100-x-y;
if (z%3==0&&5*x+3*y+z/3==100)//z%3==0表示买 小鸡得是整数,3的倍数,3只小鸡一钱
{
System.out.println(x+","+y+","+z);
}
}
}
}
}
4.数组、方法案例
(1)按条件求和
/*
求指定数组中满足条件元素的和,打印输出。
元素中个位十位没有7,偶数
*/
public class lianxiShuZu01 {
public static void main(String[] args) {
//定义数组
int []arr ={13,45,27,65,32,11,77};
int sum=0;
//遍历数组
for (int i = 0; i <arr.length ; i++) {
//判断条件
if (arr[i]%10!=7&&arr[i]%7!=0&&arr[i]%2==0) {
sum+=arr[i];
}
}
System.out.println("sum="+sum);
}
}
(2).数组判断相等
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KodNAAlH-1575631954626)(C:\Users\何建豪\Desktop\截图\比较数组是否相同1.PNG)]
public class shuzu2 {
public static void main(String[] args) {
int[]arr1={11,22,33,44,55};
int[]arr2={11,22,33,4,55};
boolean flag=compare(arr1,arr2);
System.out.println(flag);
}
public static boolean compare(int []arr1,int []arr2){
if (arr1.length !=arr2.length) {
return false;
}
/*不等的写法
for (int i = 0; i <arr1.length ; i++) {
if (arr1[i]!=arr2[i]) {
return false;
}//在for循环内,这里不能加else
}
return true;
}
*/
for (int i = 0; i <arr1.length ; i++){
if (arr1[i]==arr2[i])//恒等条件的写法
{
continue;//继续比较进行循环
}else {
return false;//比较有一个不等就return
}
}
return true;
}
}
(3).数组查找
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7kuy1c6-1575631954627)(C:\Users\何建豪\Desktop\截图\查找数组元素.PNG)]
public class shuzhuchazhao {
public static void main(String[] args) {
int[]arr={5,4,65,44,11};
Scanner sc=new Scanner(System.in);
System.out.println("请输入想查找的数:");
int number=sc.nextInt();
int index=findIndex(arr,number);
System.out.println(index);
}
//方法两个明确
public static int findIndex(int[]arr,int number){
int index=-1;//-1是约定俗成的数组查找失败定义
for (int i = 0; i < arr.length; i++) {
if (arr [i]==number) {
index=i;
break;//只查找第一次正向发现的索引,找到就跳出
} //若查最后一次发现就逆向遍历或者去掉break
}
return index;
}
}
(4).查找增强
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9IvwnWy-1575631954628)(C:\Users\何建豪\Desktop\截图\3s增强.PNG)]
public class chazhaoPlus {
/*两个明确
返回值:返回数组类型 int arr[] (返回确定的一组数据用int)
参数:double num,double arr[] (不确定用大的数据double类型)
*/
public static int [] getIndexs(double []arr,double number){
//number形参是要求的指定元素
int count=0;//记录有几个合法的索引
//先遍历找出将要生成数组的长度
for (int i = 0; i <arr.length ; i++) {
if (arr[i]==number) {
count++;
}
}
if (count == 0) {
return null;//没找到相同的
}
//在遍历老数组生成新数组
int []arr2=new int[count];
int index=0;
for (int i = 0; i< arr.length; i++) {
if (arr[i]==number) {
arr2[index]=i;//用新数组保存老数组中元素符合number的索引
index++;
}
}
return arr2;
}
public static void main(String[] args) {
double []arr={1.1,2.2,3.3,2.2,2.2,2.2};
int [] arr3=getIndexs(arr,2.2);/用arr3来接收方法执行返回的数组
if(arr3!=null){
for (int i = 0; i < arr3.length; i++) {
System.out.println(arr3[i]+" ");
}
}
else {
System.out.println("没找到");
}
}
}
(5)、数组反转
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2BwiF3AU-1575631954628)(C:\Users\何建豪\Desktop\截图\反转.PNG)]
public class fanzhuan {
public static void reverse(int[] arr){
for (int star=0,end=arr.length-1;star<end;star++,end--) {
int temp=arr[star];
arr[star]=arr[end];
arr[end]=temp;
}
}
public static void daying(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if(i==arr.length-1){
System.out.print(arr[i]);
}else {
System.out.print(arr[i]+", ");
}
}
System.out.print("]");
}
public static void main(String[] args) {
int[]arr={12,13,45,65,23,24};
reverse(arr);
daying(arr);
}
}
(6)、最后综合:
package zongjie;
import java.util.Scanner;
/*
6个评委打分,去掉一个最低分,去掉一个最高分,求和在求平均值
*/
public class dafeng {
public static void main(String[] args) {
int[] arr1=pingfen();
int max=getMax(arr1);
int min=getMin(arr1);
int sum=getSum(arr1);
int avg=(sum-max-min)/(arr1.length-2);
System.out.println("最终评分为:"+avg);
}
//记录打分方法
public static int[] pingfen(){
Scanner sc=new Scanner(System.in);
int []arr=new int[6];
for (int i = 0; i <arr.length; i++) {
System.out.println("请输入第"+(i+1)+"个评委的评分");
arr[i]=sc.nextInt();
}
return arr;
}
//获取最高分
public static int getMax(int[]arr){
int max=arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] >max) {
max=arr[i];
}
}
return max;
}
//获取最低分
public static int getMin(int[]arr){
int min=arr[0];
for (int i = 1; i < arr.length; i++) {
if (min>arr[i]) {
min=arr[i];
}
}
return min;
}
//求和
public static int getSum(int[]arr){
int sum=0;
for (int i = 0; i < arr.length; i++) {
sum+=arr[i];
}
return sum;
}
}
n max;
}
//获取最低分
public static int getMin(int[]arr){
int min=arr[0];
for (int i = 1; i < arr.length; i++) {
if (min>arr[i]) {
min=arr[i];
}
}
return min;
}
//求和
public static int getSum(int[]arr){
int sum=0;
for (int i = 0; i < arr.length; i++) {
sum+=arr[i];
}
return sum;
}
}