基础day03

基础标题day 3

1.顺序结构:

public class DemoOrder {
    public static void main(String[] args) {
        System.out.println("开始");
        System.out.println("语句a");
        System.out.println("语句b");
        System.out.println("语句c");
        System.out.println("结束");
    }
}

2.选择语句:
2.1 If第一种语句:只有一种情况

public static void main(String[] args) {
        System.out.println("开始");
        int a = 5;
        int b = 0;
        if (a == b) {
            System.out.println("a等于b");
        }
        int c = 5;
        if (a == c) {
            System.out.println("a等c");
            System.out.println("结束");
        }
    }
}

加粗样式注意:
当a和b不相等的时候值输出开始和结束,并没有什么东西可以输出。
2.2 if第二种语句: 有两种情况可以选择
格式:

if(条件1){语句1
}else(条件1){语句2
}
例如:

 public static void main(String[] args) {
        int a=100;
        if(a%2==0){
            System.out.println("a是偶数");
        } else{
            System.out.println("a是基数");
        }
        }
    }

2.3 if第三种语句:有多种情况选择;
格式:
if(条件1){语句1
}else if(条件2){语句2
}
······
else{
语句n+1}

public static void main(String[] args) {
        int x=5;
        int y;
        if(x>=3){
            y=2*x+1;
        } else if(x>=-1&&x<3){
            y=2*x;
        } else if(x<=-1){
            y=2*x-1;
        }
        else{y=0;
        }
        System.out.println("y:"+y);
        }
    }

练习:

  //导包
    import java.util.Scanner;
public class DemoOrder {
 public static void main(String[] args) {
        //键盘录入数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入考试成绩");
        int score=sc.nextInt();
        if(score>=90&&score<=100){
            System.out.println("优秀");
        }else if(score>=80&&score<90){
            System.out.println("好");
        }else if(score>=70&&score<80){
            System.out.println("良");
        }else if(score>=60&&score<70){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
    }
    }

加粗样式选择结构:
switch语句
格式:
switch(表达式1){
case值1;语句1;break;
case值2;语句2;break;
case值3;语句3;break;
`````````````
default:语句体n+1;break;
}

   public static void main(String[] args) {
    Scannersc=newScanner(System.in);
      System.out.println("请输入一个数字(1-7)");
          int  weekday=sc.nextInt();
      switch (weekday){
              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("你输入的数据有误");
               break;
      }
  }
  }

循环语句
for循环:
格式:
for(初始化语句;判断语句;控制条件语句){循环体语句;
}
例如

public static void main(String[] args) {
      for (int i = 0; i < 10; i++) {
   System.out.println("Hello,World" +i);
      }
  }

水仙花案例:

    public static void main(String[] args) {
         //定义水仙花的个数
        int   sum=0;
        for (int i = 100; i <=999; i++) {
             int ge=i%10;
            int shi=i/10%10;
            int bai=i/10/10%10;
   if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==i) {
               System.out.println(i);
            sum++;
           }
        }
         System.out.println("sum;"+sum);
    }

100以内的偶数和:

     public static void main(String[] args) {
        int sum = 0;
       for (int i = 0; i <= 100; i++) {
           if (i%2 == 0){
                sum+=i;
           }
       }
        System.out.println(sum);
    }
}

方法2:

public static void main(String[] args) {
        int sum = 0;
        int y;
        for (int i = 0; i <= 50; i++) {
            sum=2*i+sum;
        }
        System.out.println(sum);
    }
}

1-100的和:

public static void main(String[] args) {
    int sum=0;
        for (int i = 0; i <=100; i++) {
            sum=sum+i;
        }
        System.out.println(sum);
        }
    }
 public static void main(String[] args) {
        int sum=0;
        int n=0;
        for (int i = 0; i <= 100; i++) {
            n +=i;
            if(i%2==0) {
                sum+=i;
            }
        }
        System.out.println(sum);
        System.out.println(n);
    }

while循环
格式:
while(判断条件语句){循环体语句;控制条件语句;
}

 public static void main(String[] args) {
     int sum=0;
     int i=0;
     while (i<101){
     sum+=i;i++;
     }
     System.out.println(sum);
 }
 }

do while循环
格式:
do{
循环体语句;控制条件
}while(判断条件语句);

 public static void main(String[] args) {
       int i=0;
       do {
           System.out.println("HelloWorld" + i);
           i++;
       }while(i<=10);
   }
   }

总结:

  1. do·····while循环只要执行一次,for和while都会先判断条件。
  2. for循环的变量只能在循环内使用,外面就用不了,while循环外面额初始变量可以继续使用。
    break
    用于循环语句,switch语句中。
    作用:用于结束循环。
    continue
    用于循环中。
    作用结束本次的循环,继续下一次循环。
    package com.itheima_07;
    
* 按要求分析结果,并验证
* 
* break:输出2次
* continue:输出7次
*/
public class BreakAndContinueDemo {
  public static void main(String[] args) {

  	for (int x = 1; x <= 10; x++) {
  		if (x % 3 == 0) {
  			// 分别写break,continue,说说输出几次
  			//break;
  			continue;
  		}
  		System.out.println("我爱林青霞");
  	}

  }
}
【使用教程】 一、环境配置 1、建议下载anaconda和pycharm 在anaconda中配置好环境,然后直接导入到pycharm中,在pycharm中运行项目 anaconda和pycharm安装及环境配置参考网上博客,有很多博主介绍 2、在anacodna中安装requirements.txt中的软件包 命令为:pip install -r requirements.txt 或者改成清华源后再执行以上命令,这样安装要快一些 软件包都安装成功后才算成功 3、安装好软件包后,把anaconda中对应的python导入到pycharm中即可(不难,参考网上博客) 二、环境配置好后,开始训练(也可以训练自己数据集) 1、数据集准备 需要准备yolo格式的目标检测数据集,如果不清楚yolo数据集格式,或者有其他数据训练需求,请看博主yolo格式各种数据集集合链接:https://blog.csdn.net/DeepLearning_/article/details/127276492 里面涵盖了上百种yolo数据集,且在不断更新,基本都是实际项目使用。来自于网上收集、实际场景采集制作等,自己使用labelimg标注工具标注的。数据集质量绝对有保证! 本项目所使用的数据集,见csdn该资源下载页面中的介绍栏,里面有对应的下载链接,下载后可直接使用。 2、数据准备好,开始修改配置文件 参考代码中data文件夹下的banana_ripe.yaml,可以自己新建一个不同名称的yaml文件 train:训练集的图片路径 val:验证集的图片路径 names: 0: very-ripe 类别1 1: immature 类别2 2: mid-ripe 类别3 格式按照banana_ripe.yaml照葫芦画瓢就行,不需要过多参考网上的 3、修改train_dual.py中的配置参数,开始训练模型 方式一: 修改点: a.--weights参数,填入'yolov9-s.pt',博主训练的是yolov9-s,根据自己需求可自定义 b.--cfg参数,填入 models/detect/yolov9-c.yaml c.--data参数,填入data/banana_ripe.yaml,可自定义自己的yaml路径 d.--hyp参数,填入hyp.scratch-high.yaml e.--epochs参数,填入100或者200都行,根据自己的数据集可改 f.--batch-size参数,根据自己的电脑性能(显存大小)自定义修改 g.--device参数,一张显卡的话,就填0。没显卡,使用cpu训练,就填cpu h.--close-mosaic参数,填入15 以上修改好,直接pycharm中运行train_dual.py开始训练 方式二: 命令行方式,在pycharm中的终端窗口输入如下命令,可根据自己情况修改参数 官方示例:python train_dual.py --workers 8 --device 0 --batch 16 --data data/coco.yaml --img 640 --cfg models/detect/yolov9-c.yaml --weights '' --name yolov9-c --hyp hyp.scratch-high.yaml --min-items 0 --epochs 500 --close-mosaic 15 训练完会在runs/train文件下生成对应的训练文件及模型,后续测试可以拿来用。 三、测试 1、训练完,测试 修改detect_dual.py中的参数 --weights,改成上面训练得到的best.pt对应的路径 --source,需要测试的数据图片存放的位置,代码中的test_imgs --conf-thres,置信度阈值,自定义修改 --iou-thres,iou阈值,自定义修改 其他默认即可 pycharm中运行detect_dual.py 在runs/detect文件夹下存放检测结果图片或者视频 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值