JAVA.2.运算符

news2024/9/24 17:08:36

目录

1.算术运算符

小数有可能会不精确,整数除以整数得整数

例子

package demo1;

public class Hello {
    public static void main(String[] args) {
        System.out.println(1+2);
        System.out.println(1-2);
        System.out.println(5/2);
        System.out.println(5.0/2);
        System.out.println(5%2);
        System.out.println(1.1+1.01);
    }
}

练习

从键盘输入一个三位数,将三个位拆分打印

package demo1;

import java.util.Scanner;

public class Hello {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter Number");
        int n=sc.nextInt();
        int baiwei=n/100;
        int shiwei=n/10%10;
        int gewei=n%10;
        System.out.println(n);
        System.out.println(baiwei);
        System.out.println(shiwei);
        System.out.println(gewei);



    }
}

不同种类型运算

类型的取值范围

byte<short<int<long<float<double

类型不一样,要转换,取值范围小的会转为取值范围大的,然后运算

byte,short,char三种类型运算会提升为int,再运算

char会转成ASCII表对应的值

隐式转换

系统自动提升

package demo1;

public class Hello {
    public static void main(String[] args) {
       int a=10;
       double b=a;
       System.out.println(b);
      


    }
}

b的结果是10.0,隐式转换,转成范围大的数据

package demo1;

public class Hello {
    public static void main(String[] args) {
       byte a=10;
       byte b=6;

       System.out.println(a+b);
    }
}

结果是int

显示转换

把取值范围大的,赋值给取值范围小的变量

数据比较大,强转可能会错误

package demo1;

public class Hello {
    public static void main(String[] args) {
      double a=10.9999;
       int b=(int)a;

       System.out.println(b);
    }
}

package demo1;

public class Hello {
    public static void main(String[] args) {
    byte a=100;
    byte b=100;
    byte result=(byte)(a+b);
    System.out.println(result);
    }
}

结果超过byte的取值范围了,取值范围出错

字符串的"+"

当+符号有字符串,那就是拼接了

package demo1;

public class Hello {
    public static void main(String[] args) {
    String a="100";
    int b=100;

    System.out.println(a+b);
    }
}

连续加,从左到右执行

package demo1;

public class Hello {
    public static void main(String[] args) {


    System.out.println(1+99+"年");
    }
}

易错

package demo1;

public class Hello {
    public static void main(String[] args) {


    System.out.println(1+99+"年"+1+99);
    }
}

2.自增自减运算符

符号在前,就先运算

在后,就后运算

package demo1;

public class Hello {
    public static void main(String[] args) {
    int a=10;
    a++;
     System.out.println(a);
     ++a;
    System.out.println(a);
    a--;
        System.out.println(a);
    --a;
        System.out.println(a);
    }
}

package demo1;

public class Hello {
    public static void main(String[] args) {
    int a=10;
    int b=a++;
    System.out.println(a);
    System.out.println(b);
    }
}

a++,先赋值给b,再自增,所以b是10,a是11

package demo1;

public class Hello {
    public static void main(String[] args) {
    int a=10;
    int b=++a;
    System.out.println(a);
    System.out.println(b);
    }
}

++a,先自增,再赋值给b,所以a是11,b是11

3.赋值运算符

运算后赋值,记得有转换类型,之前提到的规则不要忘

4.关系运算符

结果是布尔类型

==不要写成=,两个不一样

==是判断等不等

=是赋值的意思

5.逻辑运算符

1.&

有一个false,就为false

左右两边都要满足

2.|

有一个true,就为true

左右两边满足一个就可以

3.^

异或异或,异才是true

左右两边不一样

4.!

取反

5.&&

结果与&是一样的,区别是左边如果确定了结果,就不用执行右边了

用&&

package demo1;

public class Hello {
    public static void main(String[] args) {

    int a=10;
    int b=20;
    boolean result=a<0&&++b>10;
    System.out.println(result);
    //a<0为false,所以resul为false,因此不会执行右边,b为20
    System.out.println(a);
    System.out.println(b);

    }
}

用&

package demo1;

public class Hello {
    public static void main(String[] args) {

    int a=10;
    int b=20;
    boolean result=a<0&++b>10;
    System.out.println(result);
    //a<0为false,所以resul为false,执行右边,b为21
    System.out.println(a);
    System.out.println(b);

    }
}

6.||

用||

package demo1;

public class Hello {
    public static void main(String[] args) {

    int a=10;
    int b=20;
    boolean result=a<30||++b>10;
    System.out.println(result);
    //a<30为true,所以resul为true,不执行右边,b为20
    System.out.println(a);
    System.out.println(b);

    }
}

用|

package demo1;

public class Hello {
    public static void main(String[] args) {

    int a=10;
    int b=20;
    boolean result=a<30|++b>10;
    System.out.println(result);
    //a<30为true,所以resul为true,不执行右边,b为20
    System.out.println(a);
    System.out.println(b);

    }
}

6.三元运算符

package demo1;

public class Hello {
    public static void main(String[] args) {

        int a1 = 10;
        int b1 = 120;
        int result1 = a1 > b1 ? a1 : b1;
        System.out.println(result1);

        int a2 = 10;
        int b2 = 20;
        int c2 = 30;
        int temp;
        temp=a2>b2?a2:b2;
        int result2=temp>b2?temp:b2;
        System.out.println(result2);

    }
}

 

优先级

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

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

相关文章

代码随想录移除元素二刷

代码随想录移除元素二刷 leetcode 27 这道题思路的话可以这样去理解&#xff0c;用两个指针&#xff0c;一个慢指针&#xff0c;一个快指针。先让快指针往前面去探路&#xff0c;也就是去遍历数组&#xff0c;遇到不为val的值再去把该值赋值给nums[slow]&#xff0c;slow指针1…

3.1、matlab双目相机标定实验

1、双目相机标定原理及流程 双目相机标定是将双目相机系统的内外参数计算出来&#xff0c;从而实现双目视觉中的立体测量和深度感知。标定的目的是确定各个摄像头的内部参数&#xff08;如焦距、主点、畸变等&#xff09;和外部参数&#xff08;如相机位置、朝向等&#xff09…

uni-app 影视类小程序开发从零到一 | 开源项目分享

引言 在数字娱乐时代&#xff0c;移动设备已成为我们生活中不可或缺的一部分&#xff0c;尤其是对于电影爱好者而言&#xff0c;随时随地享受精彩影片成为一种日常需求。爱影家&#xff0c;一款基于 uni-app 开发的影视类小程序&#xff0c;正是为此而生。它不仅提供了丰富的影…

北京交通大学《深度学习》专业课,实验3卷积、空洞卷积、残差神经网络实验

一、实验要求 1. 二维卷积实验&#xff08;平台课与专业课要求相同&#xff09; ⚫ 手写二维卷积的实现&#xff0c;并在至少一个数据集上进行实验&#xff0c;从训练时间、预测精 度、Loss变化等角度分析实验结果&#xff08;最好使用图表展示&#xff09; ⚫ 使用torch.nn…

基于ffmepg的视频剪辑

1.ffmpeg命令实现视频剪辑 FFmpeg是一个非常强大的视频处理工具&#xff0c;可以用来剪辑视频。以下是一个基本的FFmpeg命令行示例&#xff0c;用于剪辑视频&#xff1a; $ ffmpeg -i ./最后一滴水.mp4 -ss 0:0:20 -t 50 -c copy output.mp4-i ./最后一滴水.mp4 输入文件  …

利用PyTorch进行模型量化

利用PyTorch进行模型量化 目录 利用PyTorch进行模型量化 一、模型量化概述 1.为什么需要模型量化&#xff1f; 2.模型量化的挑战 二、使用PyTorch进行模型量化 1.PyTorch的量化优势 2.准备工作 3.选择要量化的模型 4.量化前的准备工作 三、PyTorch的量化工具包 1.介…

Linux复习02

一、什么是操作系统 操作系统是一款做软硬件管理的软件&#xff01; 一个好的操作系统&#xff0c;衡量的指标是&#xff1a;稳定、快、安全 操作系统的核心工作&#xff1a; 通过对下管理好软硬件资源的手段&#xff0c;达到对上提供良好的&#xff08;稳定&#xff0c;快…

【MindSpore学习打卡】应用实践-LLM原理和实践-文本解码原理 —— 以MindNLP为例

在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;文本生成是一项重要且具有挑战性的任务。从对话系统到自动文本补全&#xff0c;文本生成技术无处不在。本文将深入探讨自回归语言模型的文本解码原理&#xff0c;使用MindNLP工具进行示例演示&#xff0c;并详细分析…

240719_图像二分类任务中图像像素值的转换-[0,255]-[0,1]

240719_图像二分类任务中图像像素值的转换-[0,255]-[0,1] 在做语义分割二分类任务时&#xff0c;有时下载到的数据集或者我们自己制作的数据集&#xff0c;标签像素值会是[0,255]&#xff08;或者含有一些杂乱像素&#xff09;&#xff0c;但在该类任务中&#xff0c;往往0代表…

androidkiller重编译apk失败的问题

androidkiller重编译apk失败 参考&#xff1a; https://blog.csdn.net/qq_38393271/article/details/127057187 https://blog.csdn.net/hkz0704/article/details/132855098 已解决&#xff1a;“apktool” W: invalid resource directory name:XXX\res navigation 关键是编译…

脑肿瘤有哪些分类? 哪些人会得脑肿瘤?

脑肿瘤&#xff0c;作为一类严重的脑部疾病&#xff0c;其分类复杂多样&#xff0c;主要分为原发性脑肿瘤和脑转移瘤两大类。原发性脑肿瘤起源于颅内组织&#xff0c;常见的有胶质瘤、脑膜瘤、生殖细胞瘤、颅内表皮样囊肿及鞍区肿瘤等。其中&#xff0c;胶质瘤作为最常见的脑神…

# Redis 入门到精通(九)-- 主从复制

Redis 入门到精通&#xff08;九&#xff09;-- 主从复制&#xff08;1&#xff09; 一、redis 主从复制 – 主从复制简介 1、互联网“三高”架构 高并发高性能高可用 2、你的“Redis”是否高可用&#xff1f; 1&#xff09;单机 redis 的风险与问题 问题1.机器故障  现…

WeTest 海外本地化测试的全生命周期服务 第一期

伴随全球化和数字化的加速推进&#xff0c;越来越多的国内企业希望将其产品服务推向国际&#xff0c;以便在全球数字市场中占有一席之地。除去传统的欧美市场&#xff0c;国内企业也积极开拓东南亚、南亚、拉美、中东和非洲等新兴市场。这些地区的互联网普及率和数字化需求正在…

vue+watermark-dom实现页面水印效果

前言 页面水印大家应该都不陌生&#xff0c;它可以用于验证数字媒体的来源和完整性&#xff0c;还可以用于版权保护和信息识别&#xff0c;这些信息可以在不影响媒体质量的情况下嵌入&#xff0c;‌并在需要时进行提取。‌本文将通过 vue 结合 watermark-dom 库&#xff0c;教大…

《AIGC 实战宝典》(2024版) 正式发布!

2024 新年伊始&#xff0c;OpenAI 推出文生视频 Sora&#xff0c;风靡整个科技圈。 最近又发布了 ChatGPT-4o&#xff0c;这是一个全新模型&#xff0c;不仅能处理文本&#xff0c;还能实时理解和生成音频和图像。OpenAI 用实际行动给全世界的科技公司又上了一课。 如何从0到1…

零基础STM32单片机编程入门(十五) DHT11温湿度传感器模块实战含源码

文章目录 一.概要二.DHT11主要性能参数三.DHT11温度传感器内部框图四.DTH11模块原理图五.DHT11模块跟单片机板子接线和通讯时序1.单片机跟DHT11模块连接示意图2.单片机跟DHT11模块通讯流程与时序 六.STM32单片机DHT11温度传感器实验七.CubeMX工程源代码下载八.小结 一.概要 DH…

offer题目51:数组中的逆序对

题目描述&#xff1a;在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组&#xff0c;求出这个数组中的逆序对的总数。例如&#xff0c;在数组{7,5,6,4}中&#xff0c;一共存在5个逆序对&#xff0c;分别是(7…

[Vulnhub] TORMENT IRC+FTP+CUPS+SMTP+apache配置文件权限提升+pkexec权限提升

信息收集 IP AddressOpening Ports192.168.101.152TCP:21,22,25,80,111,139,143,445,631 $ nmap -p- 192.168.101.152 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 2.0.8 or later | ftp-anon: Anonymous FTP login a…

新建一个git仓库并且把已有项目推送到git远程仓库

总贴 1. 创建一个空项目&#xff0c;不会看新建仓库 2. 克隆这个项目到某个文件夹去&#xff0c;比如我想克隆到我的E盘的code下面 3. 我的这个文件夹下面是有东西的&#xff0c;一点都不影响 . 4. 用命令行进入这个文件夹 命令行已经显示了已经在E盘下面code文件夹, 不会…

【linux】报错解决:配置RAIDA1之后系统识别不到

【linux】报错解决&#xff1a;配置RAIDA1之后系统识别不到 一、问题描述&#xff1a; 我的主板是华南金牌X99-F8D PLUS&#xff0c;安装了ubuntu20.04&#xff0c;通过BIOS创建了RAID1数组&#xff0c;进入系统之后识别不到我创建的RAID1数组。 二、原因分析&#xff1a; 可…