代码编织梦想

运算符

tu1

使用方法示例

算术运算符

public class Demo006 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 21;

        //idea快捷键:ctrl+d,复制当前行到下一行
        //四则运算
        System.out.println(a+b);  //30
        System.out.println(a-b);  //-10
        System.out.println(a*b);  //200
        System.out.println((double) a/b);  //结果为0.5,需进行强转,否则结果为int型不正确

        //取模运算
        System.out.println(c%a);  //结果为1,( 21/10 = 2 ………… 1 )

        //自增:++、自减:--
        int d = a++;  //先赋值再自增,自减用法相同
        System.out.println(d);  //结果为10
        System.out.println(a);  //结果为11
        
        int e = ++a;  //先自增再赋值,自减用法相同
        System.out.println(e);  //结果为12
        System.out.println(a);  //结果为12
    }
}
public class Demo01 {
    public static void main(String[] args) {
        //测试不同类型的数据进行运算后运算结果类型的变化
        long a = 123123123123123L;
        int b = 123;
        short c = 10;
        byte d = 8;

        System.out.println(a+b+c+d);  //结果为long型
        System.out.println(b+c+d);   //结果为int型
        System.out.println(c+d);    //结果为int型
        //数值运算中除含有long型、double型数据计算外,其余默认结果为int型
        
        //幂运算:可使用math类计算,很多时候运算可使用工具类来操作,更加简单!
        //计算3的平方,使用math工具类中的pow方法
        //该方法是一个静态方法,带两个参数,其类型均为double,其中,第一个参数是底数,第二个参数是指数
        double pow = Math.pow(3,2);
        System.out.println(pow);
    }
}

关系运算符

public class Demo02 {
    public static void main(String[] args) {
        //关系运算符返回值为布尔型
        int a = 10;
        int b = 20;
        int c = 10;

        System.out.println(a>b);   //返回false
        System.out.println(a<b);   //返回true
        System.out.println(a==b);  //返回false
        System.out.println(a>=c);  //返回true
        System.out.println(a<=c);  //返回true
        System.out.println(b!=c);  //返回true
        System.out.println(a!=c);  //返回false
    }
}

逻辑运算符

public class Demo03 {
    public static void main(String[] args) {
        //逻辑运算:与(and) 或(or) 非(取反)
        boolean a = false;
        boolean b = true;

        System.out.println("a && b:"+(a&&b));  //逻辑与运算:全部都为真择为true,否则为false
        System.out.println("a || b:"+(a||b));  //逻辑或运算:只要有一个是真则为true
        System.out.println("!(a && b):"+!(a && b));  //逻辑非运算:取反,为真则返回假,为假则返回真

        //逻辑运算中的短路运算
        int c = 5;
        boolean d = (c<4) && (c++>4);  //c不小于4为false,不进行后面的自增和比较
        System.out.println(d);   //false
        System.out.println(c);   //5
        boolean e = (c>4) && (c++>4);  //c大于4为true,继续向下进行自增和比较
        System.out.println(e);   //false
        System.out.println(c);   //6
    }
}

位运算

public class Demo04 {
    public static void main(String[] args) {
        /*
         A  =  0011 1100
         B  =  0000 1101

         A&B = 0000 1100  都为1则1,否则为0
         A|B = 0011 1101  只要有一个为1则为1
         A^B = 0011 0001  两个数相同为0,不同则为1
          ~B = 1111 0010  取反,1-->0 ,0-->1
         */

        //面试题:2*8 = 16怎么快速运算
        /*
        <<:左移,移动1位相当于把数字乘以2
        >>:右移,移动1位相当于把数字除以2

        0000 0000  =  0
        0000 0001  =  1
        0000 0010  =  2
        0000 0011  =  3
        0000 0100  =  4
        0000 1000  =  8
        0001 0000  =  16

         */
        System.out.println(2<<3);  //向左移动3位,即2*2*2*2,结果为16
        System.out.println(3<<2);  //3*2*2,结果为12
    }
}

扩展运算符

public class Demo05 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a += b;  //相当于 a = a+b
        System.out.println(a);  //30

        a -= b;  //相当于 a = a-b,此时a的值为30
        System.out.println(a);  //10

        a *= b;  //相当于 a = a*b,此时a的值为10
        System.out.println(a);  //200

        a /= b;  //相当于 a = a/b,此时a的值为200
        System.out.println(a);  //10

//字符串连接符:+
        System.out.println(a+b);  //此时a为10,b为20,结果为30
        System.out.println(""+a+b);  //1020
        System.out.println(a+b+"");  //30
    }
}

条件运算符

public class Demo06 {
    public static void main(String[] args) {
        //条件运算符:x ? y : z
        //如果x==true,则返回y,否则返回z
        int score = 80;
        String llm = score < 60 ? "不及格" : "及格";
        System.out.println(llm);  //返回及格
    }
}

运算符存在优先级,其中()的优先级最高,在一般的编程中可正确的使用()进行运算顺序的调整。
ty1
优先级图表来自:http://c.biancheng.net/view/794.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_44774540/article/details/111088964

【已解决】Jena配置问题-爱代码爱编程

1、配置jdk、安装jre,网上教程很多,不赘述; 2、下载jena包,配置好环境变量,输入sparql --version出现相应版本号即安装成功; 3、安装eclipse,新建JenaTesting工程,接下来就是很多博客遇到的但未解决的问题: (1)工程右键-->build path-->configure build path,导

IntelliJ IDEA使用教程(动图详解):IntelliJ IDEA 相关核心文件和目录介绍-爱代码爱编程

IntelliJ IDEA 相关核心文件和目录介绍 安装目录介绍 IntelliJ IDEA 的安装目录并不复杂,上图为最常改动的 bin 目录,经常会改动的文件或是必须介绍就是如图红色框中的几个。idea.exe 文件是 IntelliJ IDEA 32 位的可行执行文件,IntelliJ IDEA 安装完默认发送到桌面的也就是这个执行文件

IntelliJ IDEA使用教程(动图详解):最特殊的快捷键 Alt + Enter 介绍-爱代码爱编程

最特殊的快捷键 Alt + Enter 介绍 说明 这是一个非常特殊的快捷键,有必要拿出来单独讲。强烈注意:此快捷键跟光标所在位置有着很严重关联关系,光标放的位置不同,使用此快捷键出来的菜单选项完全不一样。可以从几个思路:Java 类、JSP、HTML、JavaScript、CSS、SQL 等文件类型下面演示的各个功能是基于:IntelliJ IDEA

为什么PageHelper能实现分页?-爱代码爱编程

今天处理分页查询时,报PersistenceException。查看控制台发现,sql中没有获取到分页参数,而且多了一个用来查询总数queryUpfile_Count方法。 反复确认了传参无问题后,最后查看xml发现sql语句有拼接limit #{pageNo}, #{pageSize}。这时候我就想,原有项目中使用PageHelper做分页,是不是凭

重定向防止表单重复提交-爱代码爱编程

重定向防止表单重复提交 1、表单重复提交的情况:2、实例(1)针对第一种情况(提交完表单之后,刷新网页)(2)针对第二种情况(网络延迟)(3)回退按钮重复提交表单3、重复提交带来的问题 1、表单重复提交的情况: (1)提交完表单之后,刷新网页。 (2)第一次单击提交之后,在没有提交成功情况下,又单击提交按钮。 (3)用户提交表单后,点击浏

JSP九大内置对象-爱代码爱编程

JSP九大内置对象 内置对象可以直接使用,不用new。 pageContext JSP页面容器(一般也称page对象)request 请求对象session 会话对象application 全局对象response 响应对象config 配置对象(服务器配置信息)out 输出对象page 当前jsp页面对象(相当于java中的this)exceptio

小白必读!十大被低估的Python自带库!-爱代码爱编程

大家在学习python的过程中,都会了解到python的一个强大的功能在于各种强大的第三方库函数,大家只需要通过pip install 即可安装我们需要的库函数。   大家往往只是关注自己安装的python库,却忽略了python自带的库函数,或者是python自带的库,今天小编就为大家介绍一下,十大被低估的python自带库或者是python自带的函

你们都是如何学 Python 高薪就业的?赶紧学习吧!-爱代码爱编程

本文主要分为 3 个部分: 1.Python思维导图,掌握Python基础2.Python学习资料,整理优质学习网站3.Python书籍资料,从入门到精通一.Python思维导图 1.基础知识图包括了基本规则、python语言特点、计算机语言、如何运行Python、变量赋值五个方面,辅助你快速掌握Python编程的基底知识 面对对象编程是一个非常重要的

Java入门(代码块)-爱代码爱编程

代码块(初始化块) 代码块的作用: 用来初始化类或对象 内部可以有输出语句,比如在{}之间加入System.out.println()语句 静态代码块: static{}对于静态代码块,随着类的加载而执行静态代码块只执行一次静态代码块的执行要优先于非静态代码块的执行静态代码块内只能调用静态的属性,方法,不能调用非静态的非静态代码块: {}非静态

小白如何入门 Python 爬虫?-爱代码爱编程

本文针对初学者,我会用最简单的案例告诉你如何入门python爬虫! 想要入门Python 爬虫首先需要解决四个问题 熟悉python编程 了解HTML 了解网络爬虫的基本原理 学习使用python爬虫库 一、你应该知道什么是爬虫? 网络爬虫,其实叫作网络数据采集更容易理解。 就是通过编程向网络服务器请求数据(HTML表单),然后解析HTML,提取

java序列化,反序列化-爱代码爱编程

序列化,反序列化:序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。 为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。 有序列化,就有反序列化,即把一个二进制内容(也就是byte[]数组)变回Java对象

Java 语法规定之外的命名注释规范-爱代码爱编程

Java 语法规定之外的命名注释规范 命名规范1. 项目名2. 包名3. 类名4. 常量名5. 变量名6. 方法名8. 其它命名技巧9. 应当避免的行为10. 经典的命名法11. 常用命名词汇注释规范1. 类注释2.字段注释3.构造器注释4.方法注释5.方法内部注释 命名规范 1. 项目名 项目名全部小写,且不使用下划线,含多个单词时使