Java语言基础第三天

  1. 运算符:

    • 算术:+、-、*、/、%、++、--

      • %:取模/取余,余数为0即为整除

        System.out.println(5%2); //1,商2余1
        System.out.println(8%2); //0,商4余0----整除
        System.out.println(2%8); //2,商0余2

      • ++/--:自增1/自减1,可在变量前也可在变量后

        • 单独使用时,在前在后都一样

          //++单独使用:
          int a=5,b=5;
          a++; //相当于a=a+1
          ++b; //相当于b=b+1
          System.out.println(a); //6
          System.out.println(b); //6
          ​
          //--单独使用:
          int a=5,b=5;
          a--; //相当于a=a-1
          --b; //相当于b=b-1
          System.out.println(a); //4
          System.out.println(b); //4

        • 被使用时,在前在后不一样

          • a++的值为a----------(a--的值为a)

          • ++a的值为a+1--------(--a的值为a-1)

          //++被使用:
          int a=5,b=5;
          int c = a++; //1)记录下a++的值5  2)a自增1变为6  3)将记录的5赋值给c--了解//简便记法:a++的值为5,所以c的值就是5
          int d = ++b; //1)记录下++b的值6  2)b自增1变为6  3)将记录的6赋值给d--了解//简便记法:++b的值为6,所以d的值就是6
          System.out.println(a); //6
          System.out.println(b); //6
          System.out.println(c); //5
          System.out.println(d); //6
          ​
          //--被使用:
          int a=5,b=5;
          int c = a--; //a--的值为5,所以c就是5
          int d = --b; //--b的值为4,所以d就是4
          System.out.println(a); //4
          System.out.println(b); //4
          System.out.println(c); //5
          System.out.println(d); //4

    • 关系:>、<、>=、<=、==、!=

      • 大于>,小于<,大于或等于>=,小于或等于<=,等于==,不等于!=

      • 关系运算的结果为boolean型,关系成立则为true,关系不成立则为false

        int a=5,b=10,c=5;
        boolean b1 = a>b;
        System.out.println(b1);   //false
        System.out.println(c<b);  //true
        System.out.println(b>=a); //true
        System.out.println(a<=c); //true
        System.out.println(a==c); //true
        System.out.println(a!=c); //false
        System.out.println(a+c>10); //false
        System.out.println(a%2==0); //false
        ​
        System.out.println(a++>5); //false------a自增1变为6
        System.out.println(a++>5); //true-------a自增1变为7

    • 逻辑:&&、||、!

      • &&:短路与(并且),两边都为真则为真,见false则false ---若第1个条件为false,则发生短路(后面的不执行了)

       int a=5,b=10,c=5;boolean b1 = b>=a && b<c;System.out.println(b1);          //true&&false=falseSystem.out.println(b<=c && b>a); //false&&true=falseSystem.out.println(a==b && c>b); //false&&false=falseSystem.out.println(b!=c && a<b); //true&&true=true//演示短路:boolean b3 = a>b && c++>2;System.out.println(b3); //falseSystem.out.println(c);  //5,发生短路了(c++>2并没有被执行)

      ||:短路或(或者),有真则为真,见true则true ---若第1个条件为true,则发生短路(后面的不执行了)

        System.out.println(b>=a || b<c); //true||false=trueSystem.out.println(b<=c || b>a); //false||true=trueSystem.out.println(b!=c || a<b); //true||true=trueSystem.out.println(a==b || c>b); //false||false=false//演示短路:boolean b4 = a<b || c++>2;System.out.println(b4); //trueSystem.out.println(c);  //5,发生短路了(c++>2并没有被执行)

      !:逻辑非(取反),非真则假,非假则真

       boolean b2 = !(a>b); //!的优先级高,所以需要将a>b括起来System.out.println(b2);     //!false=trueSystem.out.println(!(a<b)); //!true=false
      • 逻辑运算是建立在关系运算的基础之上的,逻辑运算的结果也是boolean型

    • 赋值:=、+=、-=、*=、/=、%=

      • 简单赋值运算符:=

      • 扩展赋值运算符:+=、-=、*=、/=、%= ---扩展赋值自带强转功能

        int a = 5;
        a += 10; //相当于a=(int)(a+10)
        System.out.println(a); //15
        a *= 2; //相当于a=(int)(a*2)
        System.out.println(a); //30
        a /= 6; //相当于a=(int)(a/6)
        System.out.println(a); //5
        ​
        //小面试题:
        short s = 5;
        //s = s+10; //编译错误,需强转,改为:s=(short)(s+10);
        s += 10; //相当于: s=(short)(s+10);

    • 字符串连接:

      • +:

        • 若两边为数字,则做加法运算

        • 若两边出现了字符串,则做字符串连接 ---任何类型的数据与字符串相连,结果都会变为字符串类型

          int age = 38;
          System.out.println("age="); //age=
          System.out.println(age);    //38
          System.out.println("age="+age); //age=38
          System.out.println("我的年龄是"+age); //我的年龄是38
          System.out.println("我今年"+age+"岁了"); //我今年38岁了
          ​
          String name = "WKJ"; //String是字符串数据类型
          System.out.println("大家好,我叫"+name); //大家好,我叫WKJ
          System.out.println("大家好,我叫"+name+",今年"+age+"岁了"); //大家好,我叫WKJ,今年38岁了
          ​
          System.out.println(10+20+""+30); //3030------String
          System.out.println(""+10+20+30); //102030----String
          System.out.println(10+20+30+""); //60--------String

    • 条件/三目:boolean?数1:数2

      • 语法: boolean?数1:数2

      • 执行过程:

        • 整个表达式是有值的,它的值要么是?号后的数1,要么是:号后的数2

        • 计算boolean的值:

          • 若为true,则整个表达式的值为?号后的数1

          • 若为false,则整个表达式的值为:号后的数2

      int num = 5;
      int flag = num>0?1:-1;
      System.out.println(flag); //1
      ​
      int a=8,b=55;
      int max = a>b?a:b;
      System.out.println("max="+max);

  2. 分支结构:基于条件执行某语句

    • if结构:1条路

      1)语法:if(boolean){语句块----------有条件执行的语句}
      2)执行过程:判断boolean的值:若为true,则执行语句块(if整个结束)若为false,则if直接结束
      //1)偶数的判断:
      int num = 6; //带数(6,5)
      if(num%2==0){System.out.println(num+"是偶数");
      }
      System.out.println("继续执行...");
      ​
      //2)满500打8折:
      double price = 300.0; //消费金额  带数(600.0,300.0)
      if(price>=500){ //满500price = price*0.8; //打8折
      }
      System.out.println("最终结算金额为:"+price);

    • if...else结构:2条路

      1)语法:if(boolean){语句块1}else{语句块2}
      2)执行过程:判断boolean的值:若为true,则执行语句块1(整个结束)若为false,则执行语句块2(整个结束)
      3)说明:语句块1和语句块2,必走其中之一-------2选1
      //1)偶数、奇数的判断:
      int num = 5; //带数(6,5)
      if(num%2==0){System.out.println(num+"是偶数");
      }else{System.out.println(num+"是奇数");
      }
      System.out.println("继续执行...");
      ​
      //2)满500打8折,不满500打9折:
      double price = 300.0;
      if(price>=500){ //带数(600.0,300.0)price *= 0.8;
      }else{price *= 0.9;
      }
      System.out.println("最终结算金额为:"+price);

精华笔记:

  1. 运算符:

    • 算术:+、-、*、/、%、++、--

    • 关系:>、<、>=、<=、==、!=

    • 逻辑:&&、||、!

    • 赋值:=、+=、-=、*=、/=、%=

    • 字符串连接:+

    • 条件/三目:boolean?数1:数2

  2. 分支结构:基于条件执行某语句

    • if结构:1条路

    • if...else结构:2条路

补充:

  1. 任何复杂的程序逻辑都可以通过三种结构来实现:

    • 顺序结构

    • 分支结构

    • 循环结构

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

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

相关文章

React整理总结(五、Redux)

1.Redux核心概念 纯函数 确定的输入&#xff0c;一定会产生确定的输出&#xff1b;函数在执行过程中&#xff0c;不能产生副作用 store 存储数据 action 更改数据 reducer 连接store和action的纯函数 将传入的state和action结合&#xff0c;生成一个新的state dispatc…

2023年亚太杯数学建模亚太赛A题思路解析+代码+论文

下文包含&#xff1a;2023年亚太杯数学建模亚太赛A题思路解析代码参考论文等及如何准备数学建模竞赛&#xff08;23号比赛开始后逐步更新&#xff09; C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料&#xff0c;帮助大家取得好成…

猫12分类:使用yolov5训练检测模型

前言&#xff1a; 在使用yolov5之前&#xff0c;尝试过到百度飞桨平台&#xff08;小白不建议&#xff09;、AutoDL平台&#xff08;这个比较友好&#xff0c;经济实惠&#xff09;训练模型。但还是没有本地训练模型来的舒服。因此远程了一台学校电脑来搭建自己的检测模型。配置…

hdfsClient_java对hdfs进行上传、下载、删除、移动、打印文件信息尚硅谷大海哥

Java可以通过Hadoop提供的HDFS Java API来控制HDFS。通过HDFS Java API&#xff0c;可以实现对HDFS的文件操作&#xff0c;包括文件的创建、读取、写入、删除等操作。 具体来说&#xff0c;Java可以通过HDFS Java API来创建一个HDFS文件系统对象&#xff0c;然后使用该对象来进…

Django DRF权限组件

在Django的drf框架内的权限组件&#xff0c;如果遇到多个权限认证类&#xff0c;是需要所有的权限类都要通过验证&#xff0c;才能访问视图。 一、简单示例 1、per.py 自定义权限类 from rest_framework.permissions import BasePermission import randomclass MyPerssion(B…

傅里叶级数公式及其收敛问题

文章目录 abstract函数展开成傅里叶系数傅里叶系数求解 a 0 a_0 a0​求解 a n a_n an​求解 b n b_n bn​小结 傅里叶级数&#x1f388;周期为 2 π 2\pi 2π的函数的fourier级数展开公式小结三角级数收敛问题Dirichlet收敛定理例 abstract 傅里叶级数公式及其收敛问题介绍周期…

自动化运维中间件架构概况

自动化运维中间件架构概况 kubernetesjenkins 安装k8s后 设置 Jenkins 任务: 在 Jenkins 中创建一个新的任务&#xff1a; 配置源代码管理&#xff1a;选择 Git&#xff0c;并提供 GitLab 仓库的 URL、凭据和分支信息。配置构建步骤&#xff1a;选择 Maven 构建&#xff0c;…

集合的自反关系和对称关系

集合的自反关系和对称关系 一&#xff1a;集合的自反关系1&#xff1a;原理&#xff1a;2&#xff1a;代码实现 二&#xff1a;对称关系1&#xff1a;原理&#xff1a;2&#xff1a;代码实现 三&#xff1a;总结 一&#xff1a;集合的自反关系 1&#xff1a;原理&#xff1a; …

【python】直方图正则化详解和示例

直方图正则化&#xff08;Histogram Normalization&#xff09;是一种图像增强技术&#xff0c;目的是改变图像的直方图以改善图像的质量。具体来说&#xff0c;它通过将图像的直方图调整为指定的形状&#xff0c;以增强图像的对比度和亮度。 直方图正则化的基本步骤如下&…

【Android Jetpack】Hilt的理解与浅析

文章目录 依赖注入DaggerHiltKoin添加依赖项Hilt常用注解的含义HiltAndroidAppAndroidEntryPointInjectModuleInstallInProvidesEntryPoint Hilt组件生命周期和作用域如何使用 Hilt 进行依赖注入 本文只是进行了简单入门&#xff0c;博客仅当做笔记用。 依赖注入 依赖注入是一…

某60区块链安全之不安全的随机数实战二学习记录

区块链安全 文章目录 区块链安全不安全的随机数实战二实验目的实验环境实验工具实验原理实验内容EXP利用 不安全的随机数实战二 实验目的 学会使用python3的web3模块 学会以太坊不安全的随机数漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 由…

吴恩达《机器学习》9-1:代价函数

一、引入新标记方法 首先&#xff0c;引入一些新的标记方法&#xff0c;以便更好地讨论神经网络的代价函数。考虑神经网络的训练样本&#xff0c;其中每个样本包含输入 x 和输出信号 y。我们用 L 表示神经网络的层数&#xff0c;表示每层的神经元个数&#xff08;表示输出层神…

CISP练习测试题

免责声明 文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!!! 某公司准备在业务环境中部署一种新的计算机产品,下列哪一项…

基于单片机GPS轨迹定位和里程统计系统

**单片机设计介绍&#xff0c; 基于单片机GPS轨迹定位和里程统计系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 一个基于单片机、GPS和里程计的轨迹定位和里程统计系统可以被设计成能够在移动的交通工具中精确定位车辆的位置…

Spring Boot - 自定义注解来记录访问路径以及访问信息,并将记录存储到MySQL

1、准备阶段 application.properties&#xff1b;yml 可通过yaml<互转>properties spring.datasource.urljdbc:mysql://localhost:3306/study_annotate spring.datasource.usernameroot spring.datasource.password123321 spring.datasource.driver-class-namecom.mysq…

论x巴克app签名的逆向分析过程《完整篇》

app地址—> 点击直达 密码&#xff1a;2fkq工具 jadx-gui 自己下载待定

短视频账号矩阵系统saas管理私信回复管理系统

一、短视频矩阵号系统源码开发层面如何来解决&#xff1f; 1.短视频矩阵号系统源码搭建中&#xff0c;首先开发者需要保证api接口的稳定性 &#xff0c;保证权限应用场景满足官方平台的开发预期。api---待发布、用户管理与授权绑定、私信回复与评论管理等是非常重要的权限接口。…

【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…

苹果CMS首涂第30套可装修DIY主题模板免授权版

这是一款可以装修的主题&#xff0c;类似淘宝店装修一样&#xff0c;可以针对首页、栏目页、详情页、播放页进行自定义装修&#xff0c;内置10个模块自由选择、添加、修改、删除、排序操作&#xff0c;后续升级还会增加更多实用和个性模块供选择&#xff0c;主题内包含的导航、…

C语言的5个内存段你了解吗?( 代码段/数据段/栈/堆)

前言&#xff1a;这些内存段在程序运行时起着不同的作用&#xff0c;有不同的分配方式和存储内容。对于 C 语言程序员来说&#xff0c;了解这些内存段的特性和用途有助于更好地理解内存管理、变量的存储位置以及程序执行过程中的内存分配情况 1. 代码段 (Code Segment) 内容&a…