三 . 运算符和流程控制——Java基础篇

news2025/1/16 21:56:09

三 . 运算符和流程控制

1. 运算符

1 . 赋值运算符

1.2.1 基本语法

  • 符号:=

    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    • 支持连续赋值
  • 扩展赋值运算符: +=、 -=、*=、 /=、%=

    赋值运算符符号解释
    +=将符号左边的值右边的值进行相加操作,最后将结果赋值给左边的变量
    -=将符号左边的值右边的值进行相减操作,最后将结果赋值给左边的变量
    *=将符号左边的值右边的值进行相乘操作,最后将结果赋值给左边的变量
    /=将符号左边的值右边的值进行相除操作,最后将结果赋值给左边的变量
    %=将符号左边的值右边的值进行取余操作,最后将结果赋值给左边的变量
注意:赋值运算符不会更改原有的数据类型
public class OperatorTest1 {
    public static void main(String[] args) {
        char c='a';
        c-=32;//省去了强转数据类型的步骤
        System.out.println("c = " + c);
//        char c='a';
//
//        int result=c-32;
//        System.out.println("result = " + result);
//        //将数字转为字符
//        char temp=(char)result;
//        System.out.println("temp = " + temp);
        /*
        a:97
        A:65

        */
        System.out.println("------------------------");
        int m = 10;
        System.out.println("m = " + m);

        m+=30;//m = m + 30;

        System.out.println("m = " + m);
        m*=10;//m=m*10

        System.out.println("m = " + m);
        int n=30;
        n%=7;   //n=n=n%7;

        System.out.println("n = " + n);
    }
}
2 . 比较运算符

在这里插入图片描述

  • 比较运算符的结果都是boolean型,也就是要么是true,要么是false。

  • > < >= <= :只适用于基本数据类型(除boolean类型之外)

    == != :适用于基本数据类型和引用数据类型

    class CompareTest {
    	public static void main(String[] args) {
    		int i1 = 10;
    		int i2 = 20;
    		
    
    		System.out.println(i1 == i2);//false
    		System.out.println(i1 != i2);//true
    		System.out.println(i1 >= i2);//false
    
    
    		int m = 10;
    		int n = 20;
    		System.out.println(m == n);//false
    		System.out.println(m = n);//20
    	
    		boolean b1 = false;
    		boolean b2 = true;
    		System.out.println(b1 == b2);//false
    		System.out.println(b1 = b2);//true
    	}
    
    }
    
3 . 逻辑运算符

在这里插入图片描述

逻辑运算符,操作的都是boolean类型的变量或常量,而且运算得结果也是boolean类型的值。

  • 运算符说明:

    • & 和 &&:“且”,true=true--------true 两边布尔值都是true时,结果才能为true。否则,为false。
    • | 和 || :“或”,true=flase或者false=true-------true false=fasle------false 当符号两边布尔值有一边为true时,结果为true。当两边都为false时,结果为false
    • ! :“非”,当变量布尔值为true时,结果为false。当变量布尔值为false时,结果为true。
    • ^ :当符号左右两边布尔值不同时,结果为true。当两边布尔值相同时,结果为false。
      • 理解:异或,追求的是“异”!
  • 区分“&”和“&&”:

    • 相同点:如果符号左边是true,则二者都执行符号右边的操作

    • 不同点:& : 如果符号左边是false,则继续执行符号右边的操作

    ​ && :如果符号左边是false,则不再继续执行符号右边的操作

    • 建议:开发中,推荐使用 &&
  • 区分“|”和“||”:

    • 相同点:如果符号左边是false,则二者都执行符号右边的操作

    • 不同点:| : 如果符号左边是true,则继续执行符号右边的操作

      ​ || :如果符号左边是true,则不再继续执行符号右边的操作

逻辑运算符:
    &:与:所有的表达式都是true,结果才是true,能falsefalse

    |:或:所有的表达式都是flase,结果才是false,truetrue

    ^:异或:相同为false,不同为true

    !:非:取反
    ----
    &&:短路与:前面的表达式为true,则不再计算后面的表达式

    ||:短路或:前面的表达式为false,则不再计算后面的表达式

    注意:
    1&|^是逻辑运算符时 两边表达式时boolean布尔类型 则逻辑
    2&|^是逻辑运算符时 两边表达式时int数字 则位

 */
class OperatorTest_2{
    public static void main(String[] args) {
        boolean t1 = true, t2 = true;
        boolean f1 = false, f2 = false;
        System.out.println("-----             --||---            -----");
        System.out.println(f1 || f2 || f1 || f2 || t1);   //true
        System.out.println(f1 || f2 || f1 || f2); //false

        int a=10;
        int b=20;
        //boolean result=b>a | ++a>b;  //result = true,a=11
        boolean result=b>a || ++a>b;  //result = true,a=10
        System.out.println("result = " + result+",a="+a);

        System.out.println("---------------------&&------------------");

        System.out.println(t1 && t2 && t1 && f1);  //false
        System.out.println(t1 && t2 && t1 && t2);  //true

        int m=66;
        int n=99;
       // result=m>n & ++m<n;  //result = false,m=67
        result=m>n && ++m<n;  //result = false,m=66
        System.out.println("result = " + result+",m="+m);

    }
}
public class OperatorTest4 {
    public static void main(String[] args) {
        boolean t1 = true, t2 = true;
        boolean f1 = false, f2 = false;

        System.out.println("-------!--------");
        System.out.println(!t1);//false
        System.out.println(!f1);//true

        System.out.println("-------^--------");
        System.out.println(f1^t1);//true
        System.out.println(f1^f1);//false
        System.out.println(t2^t2);//false
        System.out.println(t2^f2);//ture

        System.out.println("-------|--------");
        System.out.println(f1 | f2 | f1 | f2 | t1);   //true
        System.out.println(f1 | f2 | f1 | f2); //false

        System.out.println("-------&--------");
        //结果都是true是结果才是true,只要有一个是false,结果就是false
        System.out.println(t1 & t2 & t1 & f1);  //false
        System.out.println(t1 & t2 & t1 & t2);  //true

    }
}
4 . 位运算

在这里插入图片描述

  • 位运算符的运算过程都是基于二进制的补码运算

(1)左移:<<

运算规则:在一定范围内,数据每向左移动一位,相当于原数据*2。(正数、负数都适用)

【注意】当左移的位数n超过该数据类型的总位数时,相当于左移(n-总位数)位

3<<4  类似于  3*24次幂 => 3*16 => 48

在这里插入图片描述

-3<<4  类似于  -3*24次幂 => -3*16 => -48

在这里插入图片描述

(2)右移:>>

运算规则:在一定范围内,数据每向右移动一位,相当于原数据/2。(正数、负数都适用)

【注意】如果不能整除,向下取整

69>>4  类似于  69/24= 69/16 =4

在这里插入图片描述

-69>>4  类似于  -69/2的4次 = -69/16 = -5

在这里插入图片描述

(3)无符号右移:>>>

运算规则:往右移动后,左边空出来的位直接补0。(正数、负数都适用)

69>>>4  类似于  69/2的4次 = 69/16 =4

在这里插入图片描述

-69>>>4   结果:268435451

在这里插入图片描述

(4)按位与:&

运算规则:对应位都是1才为1,否则为0。

  • 1 & 1 结果为1

  • 1 & 0 结果为0

  • 0 & 1 结果为0

  • 0 & 0 结果为0

9 & 7 = 1

在这里插入图片描述

-9 & 7 = 7

在这里插入图片描述

(5)按位或:|

运算规则:对应位只要有1即为1,否则为0。

  • 1 | 1 结果为1

  • 1 | 0 结果为1

  • 0 | 1 结果为1

  • 0 & 0 结果为0

9 | 7  //结果: 15

在这里插入图片描述

-9 | 7 //结果: -9

在这里插入图片描述

(6)按位异或:^

运算规则:对应位一个为1一个为0,才为1,否则为0。

  • 1 ^ 1 结果为0

  • 1 ^ 0 结果为1

  • 0 ^ 1 结果为1

  • 0 ^ 0 结果为0

9 ^ 7  //结果为14

在这里插入图片描述

-9 ^ 7 //结果为-16

在这里插入图片描述

(7)按位取反:~

运算规则:对应位为1,则结果为0;对应位为0,则结果为1。

  • ~0就是1

  • ~1就是0

~9  //结果:-10

在这里插入图片描述

~-9  //结果:8

在这里插入图片描述

/*
位运算符(按照二进制进行运算):
    &:与
    |:或
    ^:异或
    ~:取反
    <<:左移
    >>:右移
    >>>:无符号右移
        无论是正数还是负数,移动后最高位都补0
        一个更小的负数移动后会变为一个更大的正数

十进制转二进制:0B开头+十进制,
System.out.println(0B0000000000000000000000000000000000001000);
 */
public class OperatorTest3 {
    public static void main(String[] args) {

        System.out.println("----------无符号右移>>>-----------");
        /*
        0000 0000 0000 0000 0000 0000 0000 0000 0000 1000|
         0000 0000 0000 0000 0000 0000 0000 0000 0000 100|0   //4
          0000 0000 0000 0000 0000 0000 0000 0000 0000 10|00    //2
        */
        System.out.println(0B0000000000000000000000000000000000001000);
        System.out.println(8>>>1);
        System.out.println(8>>>2);
        System.out.println(-8>>>1);
        System.out.println("----------右移>>-----------");
        /*
        10000
         1000   //8
          100   //4
    
        */
        System.out.println(16>>1);
        System.out.println(16>>2);
        System.out.println("----------<<-----------");
        /*
        100
       1000  //8
      10000  //16
      注意:左移一位乘以2,就是向左移一位,后面补0
        */
        System.out.println(4 << 1);
        System.out.println(4<<2);
        System.out.println("----------&|~^------------");
        System.out.println(5 & 3);//1
            /*
            1 0 1
            0 1 1
         &  //上下都为1,才是1
         ---------------
            0 0 1
    
        System.out.println(5 | 3);//1
                    /*
            1 0 1
            0 1 1
         |  //上下有1,才是1
         ---------------
            1 1 1
            */
        System.out.println(5 ^ 3);//1
        /*
            1 0 1
            0 1 1
         ^  //不同为1,相同为0
         ---------------
            1 1 0
            */
        System.out.println(~5);//-6
        /*
           0000 0101
     ~ 取反 1111 1010
       补码 1111 1010
       反码 1111 1001          反码+1才是补码
       原码 1000 0110          源码最高位不变,其余1变0,0变1
         */
    
    }

}
5 . 条件运算符
  • 条件运算符格式:
(条件表达式)? 表达式1:表达式2
  • 说明:条件表达式是boolean类型的结果,根据boolean的值选择表达式1或表达式2

在这里插入图片描述

  • 如果运算后的结果赋给新的变量,要求表达式1和表达式2为同种或兼容的类型
/*
 条件运算符/三目运算符/三元运算符:
            X?Y:Z;
 X:true-->Y
 X:false-->Z
 */
public class OperatorTest5 {
    public static void main(String[] args) {
        //定义年龄
        int age=19;
        String result=age>18?"成年了":"未成年";
        System.out.println("result = " + result);

        //定义一个整数
        int num=19;
        String result2 = 19 % 2 == 0 ? "时偶数" : "不是整数";
        System.out.println("result2 = " + result2);

        int m=10;
        int n=20;
        int result3 = m > n ? m : n;
        System.out.println("result3 = " + result3);

        /*
        定义三个数字,求最大值,要求一行三目

         */
        int a = 20, b = 300, c = 60;
        int MaxNum3 = a > b ? (a > c ? a : c) : (b > c ? b : c);
        System.out.println("MaxNum3 = " + MaxNum3);

//        //1、获取前两个数中的最大值
//        int tempMaxNum = a > b ? a : b;
//        //2、最大值与第三个数进行比较
//        int MaxNum2 = tempMaxNum > c ? tempMaxNum : c;
//        System.out.println("MaxNum2 = " + MaxNum2);
    }
}

2. Scanner:键盘输入功能的实现

键盘输入:Scanner
 一、基本操作:
    1、创建键盘输入的对象
        in:对象名 是可以改变的
        Scanner in=new Scanner(System.in);
    2、提供提示语句(可选)
    3、对象调用的方法接收数据
        in.nextInt();
    4、展示数据
    5、关闭资源
        in.nextInt();

二、键盘输入获取其他基本数据类型的值
    nextByte()
    nextShart()
    nextInt()
    nextLong()
    nextFloat()
    nextDouble()
    nextBoolean()
 注意:
    1、如果输入的类型不满足要求,输入异常,会显示inputMismatchExceltion
    2、键盘输入不存在nextChar()。。
        通过字符串中的charAt(index)获取char值

三、键盘输入获取字符串数据
    next():只能接收空格之前的数据
    nextLine():可以接受一整行数据,若是要输入多行数据,得使用in.nextLine()进行过渡
class OperatorTest7_4{
    public static void main(String[] args) {
        //1、创建对象
        Scanner in=new Scanner(System.in);
        //2、提示语句
        System.out.println("请您输入一句话:");
        //3、对象调用方法来接受数据
        String message=in.nextLine();
        //4、展示数据
        System.out.println("message = " + message);
        //5、关闭资源
        in.close();
    }
}
class OperatorTest7_3{
    public static void main(String[] args) {
        //1、创建对象
        Scanner in=new Scanner(System.in);
        //2、提示语句
        System.out.println("请您输入一句话:");
        //3、对象调用方法来接受数据
        String message=in.next();
        //4、展示数据
        System.out.println("message = " + message);
        //5、关闭资源
        in.close();
    }
}
class OperatorTest7_2{
    public static void main(String[] args) {
        //通过字符串中的charAt(index)获取char值
        String s="ABCDE";
        char ele =s.charAt(2);
        System.out.println("ele = " + ele);

        //1、创建输入对象
        Scanner in=new Scanner(System.in);
        //2、提示语句
        System.out.println("请您输入一个名字:");
        //3、接受数据
        String name = in.next();
        //4、获取名字得第一个字符
        char c = name.charAt(0);

       // char c2 = in.next().charAt(0);
        //5、展示数据
        System.out.println("c = " + c);
        //6、关闭资源
        in.close();
    }
}
class OperatorTest7_1{
    public static void main(String[] args) {
        //1、创建键盘输入对象
        Scanner input=new Scanner(System.in);
        //2、接受并展示一个long值
        System.out.println("请您输入一个long值");
        long l = input.nextLong();
        System.out.println("l = " + l);
        //3、接受并展示一个dluble值
        System.out.println("请您输入一个double值");
        double d = input.nextDouble();
        System.out.println("d = " + d);
        //4、接受并展示一个boolean值
        System.out.println("请您输入一个boolean值");
        boolean b =  input.nextBoolean();
        System.out.println("b = " + b);
        //5、接受并展示一个char值

        //6、关闭资源
        input.close();

    }

}
public class OperatorTest7 {
    public static void main(String[] args) {
//        1、创建键盘输入的对象
        Scanner in=new Scanner(System.in);
//        2、提供提示语句
        System.out.println("请您输入年龄:");
//        3、对象调用的方法接收数据
        int age=in.nextInt();
//        4、展示数据
        System.out.println("age = " + age);
//        5、关闭资源
        in.close();
    }
}
Math.random()会获取随机数[0,1)

[m,n]之间的随机数就用这个公式
(int)(Math.random()*(n-m+1)+m);
public class ScannerExer2 {
    public static void main(String[] args) {
        double random = Math.random();
        System.out.println("random = " + random);
        for(int i=1;i<=50;i++){
            int num=(int)(Math.random()*(44-22+1)+22);

            System.out.println(i+"-->" + num);

        }
    }
}

3 .程序执行结构 ( 单\双—if )

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

程序得执行结构:
    顺序结构
    分支结构
    循环结构

分支结构:
    1. if分支
        1.1 if单分支
            if(布尔类型的表达式){
                分支内容
                }
        1.2 if双分支
        1.3 if多分支

 注意://使用if时若是没有括号,是对靠近它的一条语句有作用++:先运算再+1.++:先+1再运算。
 使用if时若是没有括号,是对靠近它的第一条语句有作用

在这里插入图片描述

class IfExer{
    public static void main(String[] args) {
        int x=1;
        int y =1;
        if(x++==2 & ++y==2){
            //x++就是x先运算与2比较,结果不等于,所以是false;++y就是先+1再运算,x原本=1,再+1=2,与2进行比较,所以是true
            //false & ture结果是(&能false就false)false
            x=7;
        }
        System.out.println("x = " + x+",y = " + y);
    }
}


class IfText_3{
    public static void main(String[] args) {
        boolean b=false;
        if(b=true){
            System.out.println("AAAAA");
        }
        System.out.println("GameOver");
        boolean flag=true;
        if(flag){
            System.out.println("888888");
        }
        System.out.println("GameOver");
    }
}
class IfText_2{
    public static void main(String[] args) {
        int num=2;
        if(num>10)
            //使用if时若是没有括号,是对靠近它的第一条语句有作用
            System.out.println("AAAAA");
            System.out.println("BBBBB");
            System.out.println("CXCCC");
            System.out.println("DDDDD");
            System.out.println("GameOver");
    }

}
public class IfText1 {
    public static void main(String[] args) {
        int age=20;
        if(age>=18){
            System.out.println("成年了");
        }
        System.out.println("GameOver");
    }
}

-----闰年判断练习

class IfText2_4{
    public static void main(String[] args) {
        //简单的if双分支可以使用三目运算符代替,与IfText2对应
        int age=45;
        String s=age>=30?"上年纪了":"还年轻";
        System.out.println(age+s);

        int num=19;
        String s1=num%2!=0?"是奇数":"不是奇数";
        System.out.println(num+s1);

        int year=2001;
        String s2 = year % 400 == 0 || year % 100 != 0 ? "是闰年" : "不是闰年";
        System.out.println(year+s2);

    }
}
class IfText2_3{
    public static void main(String[] args) {
        /*
        判断闰年:
        1、能被400整除
        2、能被4整除,不能被100整除
         */
        int year=2000;
        if(year%400==0 || year%4==0 && year%100!=0){
            System.out.println("是闰年");
        }else{
            System.out.println("不是闰年");
        }
        System.out.println("GameOver");
    }
}
class IfText2_2{
    public static void main(String[] args) {
        int num=19;
        String message="";
        if(num%2!=0){
            message="是奇数";
          //  System.out.println(num+"是奇数");
        }else{
            message="不是奇数";
          //  System.out.println(num+"不是奇数");
        }
        System.out.println(num+message);
    }

}
public class IfText2 {
    public static void main(String[] args) {
        //1、创建键盘输入对象
        Scanner in = new Scanner(System.in);
        //2、提示
        System.out.println("请您输入年龄:");
        //3、接受
        int age = in.nextInt();
        //4、对数据进行校验
        if(age>=30){
            System.out.println("上年纪了!");
        }else{
            System.out.println("你还年轻!");
        }
        //5、关闭资源
        in.close();
    }
}

4 . if多分支

if 多分支
if(布尔表达式1){
内容1
}else if(布尔表达式2){
内容2
}else{
内容3
}

    /*
    如果x>=3, 则y=2*x
    如果x在[-1,3), 则y=3*x+1
    如果x<-1, 则y=2*x
     */
public class ifText3 {
    public static void main(String[] args) {

        int x=2;
        if(x>=3){
            System.out.println("y="+2*x);
        }else if(x>=-1 && x<3){
            System.out.println("y="+(3*x+1));
        }else if(x<-1){
            System.out.println("y="+4*x);
        }
    }
}
/*
1.键盘输入一个分数判断分数的等级
    90~100    A
    80~89     B
    70~79     C
    60~69     D
    <60       E
    希望使用一条输出语句展示结果

    99   A
    56   E

2.
    大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上;富:财富1千万以上;帅:是。
    如果这三个条件同时满足,则:“我一定要嫁给他!!!”
    如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
    如果三个条件都不满足,则:“不嫁!”

 */
class IfIfIfExer3{
    public static void main(String[] args) {
        //1.创建键盘输入对象
        Scanner in = new Scanner(System.in);
        //2.接收成绩
        System.out.println("请您输入成绩");
        int score = in.nextInt();
        //todo 定义变量记录分数等级
        String level = "";

        if (score >= 90 ) {
            level = "A";
        } else if (score >= 80 ) {
            level = "B";
        } else if (score >= 70) {
            level = "C";
        } else if (score >= 60 ) {
            level = "D";
        } else {
            level = "E";
        }
        //4.输出结果
        System.out.println(score + " 等级是 " + level);

        //5.关闭资源
        in.close();
    }
}
class IfIfIfExer2 {

    public static void main(String[] args) {
        //1.创建键盘输入对象
        Scanner in = new Scanner(System.in);
        //2.接收成绩
        System.out.println("请您输入成绩");
        int score = in.nextInt();
        //todo 定义变量记录分数等级
        String level = "";
        //todo 对成绩进行安全校验 满足[0,100]
        if(score>=0 && score<=100){
            if(score>=90 && score<=100){
                level="A";
            }else if(score>=80 && score<90){
                level = "B";
            }else if(score>=70 && score<=79){
                level = "C";
            }else if(score>=60 && score<=69){
                level = "D";
            }else{
                level = "E";
            }
            //4.输出结果
            System.out.println(score+" 等级是 "+ level);
        }else{
            System.out.println("您的成绩输入有误");
        }

        //5.关闭资源
        in.close();

    }
}

public class IfIfIfExer {

    public static void main(String[] args) {
    
        //1.创建键盘输入对象
        Scanner in = new Scanner(System.in);
        //2.获取身高信息
        System.out.println("请输入您的身高");
        double height = in.nextDouble();
        //3.获取财富信息
        System.out.println("去输入财富");
        int money = in.nextInt();
        //4.是否帅的信息
        System.out.println("是不是很帅");
        boolean handSome = in.nextBoolean();
        //5.对各种条件进行校验
    
        if(height>1.8 && money>10000000&& handSome==true){
            System.out.println("我一定要嫁给他!!!");
        }else if(height>180 || money>10000000|| handSome){
            System.out.println("嫁吧,比上不足,比下有余");
        }else{
            System.out.println("不嫁");
        }
        //7.关闭资源
     in.close();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三、矩阵基本知识

目录 1. 理解 2、矩阵的直观感受 3、矩阵与向量 1. 理解 ①矩阵是一个向量组&#xff0c;由许多 行向量 和 纵向量 组成。 ②矩阵方程求解 用增广矩阵初等变换化为 E 。齐次/非齐次方程组 的解用 初等变化 化为 行最简阶梯型。 ③初步认为由多元一次方程组的系数组成&…

谈谈Redis的哈希槽和一致性哈希

一 . 前言 在 Redis 集群里面主要涉及到两种 Hash 算法 : 一种是一致性哈希 , 这种算法在 适用dis Cluster方案中并没有实现,主要在外部的代理模式 (Twemproxy)一种是 Slot 哈希槽算法 ,这种算法就是 Cluster 的核心算法所以谈到这个问题的时候,不能只讲一部分。在 Red…

SpringMVC 学习(六)之视图

目录 1 SpringMVC 视图介绍 2 JSP 视图 3 Thymeleaf 视图 4 FreeMarker 视图 5 XSLT 视图 6 请求转发与重定向 6.1 请求转发 (Forward) 6.2 重定向 (Redirect) 7 视图控制器 (view-controller) 1 SpringMVC 视图介绍 在 SpringMVC 框架中&#xff0c;视图可以是一个 J…

电机控制常见的外围器件

小型断路器&#xff1a; 这些通通都叫小型断路器&#xff0c;二十年的老电工不一定都认识&#xff0c;不信看看_哔哩哔哩_bilibili 1PIN 2PIN 3PIN 4PIN: 正常情况下火线和零线的电流是相等的&#xff0c;但是漏电的情况下&#xff0c;两线的电流差值大于30毫安&#xff0c;漏…

成功解决ModuleNotFoundError: No module named ‘tensorboard‘

成功解决ModuleNotFoundError: No module named ‘tensorboard’ &#x1f4c5;2024年02月25日 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础…

深度学习数据集——球类、运动、体育相关数据集

体育运动的动作识别分类等工作&#xff0c;一直是深度学习实践的重要领域&#xff0c;这里涉及到动作捕捉、分类、识别、计数等多种类型&#xff01;今天就给大家分享关于以上内容的深度学习数据集&#xff01;&#xff01; 1、收集22种类型的运动的图像数据集 数据说明&…

使用apt-mirror做一个本地ubuntu离线apt源

1. 安装 apt-mirror sudo apt-get install apt-mirror2. 创建文件夹 mkdir ./apt_mirror_dir3. 修改apt-mirror的配置文件 sudo gedit /etc/apt/mirror.list得到以下文件,重点对两个位置进行修改&#xff1a; ############# config ################## # ## 修改1&#xff…

鸿蒙中的九种布局概述

鸿蒙中的九种布局概述 概述 鸿蒙开发中包含就种布局&#xff0c;分别为线性布局、层叠布局、弹性布局、相对布局、栅格布局、媒体布局、列表、网格、轮播。 线性布局 线性布局通过Row和Column进行构建&#xff0c;是其他布局的基础。其中Row是水平方向排列&#xff0c;Colu…

在Linux服务器上部署一个单机项目

目录 一、jdk安装 二、tomcat安装 三、MySQL安装 四、部署项目 一、jdk安装 1. 上传jdk安装包 jdk-8u151-linux-x64.tar.gz 进入opt目录&#xff0c;将安装包拖进去 2. 解压安装包 这里需要解压到usr/local目录下&#xff0c;在这里我新建一个文件夹保存解压后的文件 [r…

babylonjs入门模

基于babylonjs封装的一些功能和插件 &#xff0c;希望有更多的小伙伴一起玩babylonjs&#xff1b; 欢迎加群&#xff1a;464146715 官方文档 中文文档 最小模版 ​ 代码如下&#xff1a; 在react中使用 import React, { FC, useCallback, useEffect, useRef, useState } f…

抖音视频提取软件怎么用|抖音数据抓取工具

针对用户获取抖音视频的需求&#xff0c;我们开发了一款功能强大的抖音视频提取软件&#xff0c;旨在帮助用户轻松获取他们感兴趣的视频内容。无需逐个复制链接&#xff0c;无需繁琐的下载步骤&#xff0c;我们的软件让抖音视频获取变得简单快捷。 使用我们的软件非常简单&…

使用免费的L53巧解Freenom域名失效问题

进入2月份以来&#xff0c;不少小伙伴纷纷收到Freenom提供的域名失效&#xff0c;状态由正常变成了Pending。 失效后&#xff0c;域名无法使用&#xff0c;免费的午餐没有了&#xff0c;而现在域名的价格也是水涨船高&#xff0c;真是XXX。很多做外贸的小伙伴表示 难 啊&#x…

谁是单身狗?——C语言刷题

创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 单身狗1 题述 在一个整型数组中&#xff0c;只有一个数字出现一次&#xff0c;其他数组都是成对出现的&#xff0c;请找出那个只出现一次的数字。 例如&#xff1a; 数组中有&#xff1a;1 2 3 4 5 1 2 3 4&a…

spring注解驱动系列--Bean生命周期二

一、BeanPostProcessor执行流程 在bean生命周期中&#xff0c;当bean对象创建完了之后&#xff0c;会调用populateBean(beanName, mbd, instanceWrapper);给bean进行属性赋值&#xff0c;之后会调用initializeBean方法进行初始化&#xff0c;而BeanPostProcessor中的postProces…

HTML 面试题汇总

HTML 面试题汇总 1. 什么是 <!DOCTYPE>&#xff1f;是否需要在 HTML5 中使用&#xff1f; 参考答案&#xff1a; 它是 HTML 的文档声明&#xff0c;通过它告诉浏览器&#xff0c;使用哪一个 HTML 版本标准解析文档。 在浏览器发展的历史中&#xff0c;HTML 出现过很多个版…

【前端素材】推荐优质医院后台管理系统I-Health平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理和监控网站、应用程序或系统的在线工具。它通常是通过网页界面进行访问和操作&#xff0c;用于管理网站内容、用户权限、数据分析等。后台管理系统是网站或应用程序的控制中心&#xff0c;管理员可以通过后台系统进行各种管理和配置操…

算法练习-组合总和【回溯算法】(思路+流程图+代码)

难度参考 难度&#xff1a;困难 分类&#xff1a;回溯算法 难度与分类由我所参与的培训课程提供&#xff0c;但需 要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0…

相机姿态slovePnP

opencv slovePnP 物体的姿态 估计 物体的姿态&#xff08;位置和方向&#xff09; 通过已知的图像坐标点数组&#xff0c;和对应的世界坐标点数组&#xff0c;相机的内参&#xff0c;畸变参数&#xff0c;求解相机姿态&#xff0c;即旋转向量和平移向量&#xff0c; 例如&…

JSTL标签

JSTL标签 一、什么是JSTL标签&#xff1a; 随着J2EE瘦客户机技术JavaServer Pages(JSP)在过去几年中的流行&#xff0c;开发人员已经创建了许多自定义的JSP标记库。虽然很多标记库是为实现不同目标的而编写的&#xff0c;但它们往往也对迭代、条件及其它通用操作都提供了类似…

解决:“出现问题,Outlook 无法设置你的账户”

原文&#xff1a;https://blog.iyatt.com/?p14213 1 问题描述 Office 专业版 2024 预览版 在 Outlook 输入邮箱后无法进一步配置登录信息&#xff08;腾讯企业邮箱 Exchange 登录&#xff09; 2 解决方法 通过控制面板里的邮箱设置可以正常添加登录&#xff0c;而且能…