首页 > 编程语言 >Java运算符

Java运算符

时间:2024-07-27 20:24:16浏览次数:19  
标签:Java int System 运算符 ++ println out

目录

1.java运算符 

运算符介绍

2.算术运算符 

算术运算符一览

案例演示: 

/与%代码示例与讲解 

前++与后++代码示例与讲解

例题

3.关系运算符(比较运算符) 

关系运算符一览 

案例演示: 

4.逻辑运算符 

逻辑运算符一览

逻辑运算符规则 

&&和&基本规则

||和|基本规则

!取反基本规则与^基本规则

 练习题

5.赋值运算符

赋值运算符特点 

6.三元运算符

基本语法

案例演示

练习 :实现三个数的最大值

7.运算符优先级 


1.java运算符 

运算符介绍

分为算术运算符,赋值运算符,关系(比较)运算符,逻辑运算符,位运算符,三元运算符。

2.算术运算符 

算术运算符一览

案例演示: 

 

/与%代码示例与讲解 

package com.cypressbox;


public class helloworld {

    //编写一个main方法
    public static void main(String[] args) {
        System.out.println(10 / 4);
        //数学里应该为2.5,但由于是int类型除以int类型,得到的也应该是int
        //类型,所以小数点后的部分就被省略了

        System.out.println(10.0 / 4);
        //这里得到的结果是2.5,因为10.0为double类型,double类型除以
        //一个int类型,会自动转化为double类型

        double d = 10 / 4;
        System.out.println(d);
        //这里的结果为2.0,因为10/4得到一个int类型的2,再被自动转化
        //double类型,也就是2.0

        //取模取余使用%符号
        //%的本质公式为 a % b = a - a / b * b
        System.out.println(10 % 3);
        System.out.println(-10 % 3);
        System.out.println(10 % -3);
        System.out.println(-10 % -3);
    }
}

取余结果的运算

%的本质公式为 a % b = a - a / b * b

前++与后++代码示例与讲解

前++:++i先自增后赋值

后++:i++先赋值后自增

package com.cypressbox;


public class helloworld {

    //编写一个main方法
    public static void main(String[] args) {
       int j = 8;
       int k = ++j;
       //等价于j = j + 1;j = k;
        System.out.println(j + " " + k);
        int i = 8;
        int m = i++;
        //等价于m = i; i = i + 1;
        System.out.println(i + " " + m);

    }
}

这里输出时使用双引号,字符串+一个数值,会转化为字符串

不能使用单引号 ,单引号会被视为字符而不是字符串

例题

规则使用临时变量 

 

结果为:10,20,19,19 

print不会换行,println就会换行 

 

3.关系运算符(比较运算符) 

结果要么为true要么为false

关系运算符一览 

等于是两个等号

案例演示: 

T代表true,F代表false

4.逻辑运算符 

用于连接多个条件,最终的结果也是一个boolean值。 

逻辑运算符一览

逻辑运算符规则 

&两个同时为true才是true

 |两个有一个为true则为true

!取反,true变false,false变true

^两个不同就为true

&&和&基本规则

 对于&&,第一个条件为false后面的条件不再判断

对于&,第一个条件为false后面的条件也会判断

package com.cypressbox;


public class helloworld {

    //编写一个main方法
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        if(a < 1 && ++b > 11) {
            System.out.println("ok");
        }
        System.out.println("a的值为:" + a + '\n' +"b的值为:" + b);
    }
}

         这里b的值仍然为10,因为++b的操作实际上并没有进行,因为a < 1已经判断为false,后面的不会执行。

||和|基本规则

 对于短路或,第一个为true不会去判断第二个条件

!取反基本规则与^基本规则

package com.cypressbox;


public class helloworld {

    //编写一个main方法
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        System.out.println(a < b);
    }
}

 

 练习题

 ​​​​​​​

后++先判断,再加1 

 内存分析法

5.赋值运算符

赋值运算符就是将某个运算后的值,赋值给指定的变量。

赋值运算符特点 

 assign是分配,指派的意思

 复合赋值运算符会进行类型转化,不会报错

6.三元运算符

基本语法

条件表达式为true结果为表达式1

条件表达式为false结果为表达式2 

案例演示

package com.cypressbox;


public class helloworld {

    //编写一个main方法
    public static void main(String[] args) {
        int a = 5;
        int b = 10;
        int result = a > b ? a++ : b--;
        System.out.println("result:" + result);
        System.out.println("a:" + a);
        System.out.println("b:" + b);
    }
}

 

a > b结果为false,会执行后面那个,返回b--,result的值就为b的值,然后b减一,a没有执行a++那个表达式,所以a的值仍为10 。

 如果为真会返回并执行前面的那个表达式,而后面的那个表达式则不会执行。

可以用一眼顶真来记啊,一代表真,顶代表是前面的那个值。

练习 :实现三个数的最大值

 

7.运算符优先级 

​​​​​​​​​​​​​​

标签:Java,int,System,运算符,++,println,out
From: https://blog.csdn.net/2301_79431343/article/details/138058804

相关文章

  • java学习第四周
    这是学习java的第四周,主要学习了《Java程序设计完全学习手册》第十二章的内容,学习了文件的相关操作,能够实现对文件进行读写等,学习了Java流原理,掌握输入流与输出流、字节流和字符流等,简单认识了对象的序列化等,更熟练地进行数据处理。面向对象程序设计语言有三大特性:封装、继承和多......
  • 学习Java第四周
    本周学习一、类和对象1.定义类【修饰符】class类名{零个到多个构造器定义零个到多个成员变量零个到多个方法}修饰符:public、final、abstract(可省略)构造器:一个类创建对象的根本途径。若需要系统会提供默认构造器。2.定义成员变量【修饰符】类型成员变量名【=默认值......
  • java 基本语法3
    1.方法的定义格式如:publicstaticvoidadd(intx,inty){returnx+y;}java的方法感觉就是c中的函数,子例程。但java是一个面向对象的语言,它的每一个方法都在类中,其中由于主方法的格式:publicstaticvoidmain(String[]args){},所以他只能调用静态的成员,所以在方法中也应该用......
  • 从零开始的JAVAday22~day28
    上周我们学习了如何定义变量,这周我们学习如何给变量起名。硬性要求:1.由数字、字母、下划线()和美元符($)组成2.不能以数字开头3.不能是关键字4.区分大小写软性要求:小驼峰命名法:存在一个单词时所有字母都小写,存在多个字母时第一个单词小写第二个单词首字母大写大驼峰命名法......
  • 学习Java进度报告
    继续学习Java,还是老样子,一看就会,一写就废.有着学过其他编程语言的经历,再学自动就会相比较,一开始就是认识各种变量,课程里给它叫字面量,但是似乎比c的简单很多.只有整数,小数,字符串,字符,布尔和null.不像c里小数又float,又是double,又是longlong啥的.为了记忆深刻,我也是......
  • 基于Java的师生在线交流学习系统/线上学习管理系统/SSM的在线教学管理系统
    摘 要计算机网络与信息化管理相配合,可以有效地提高管理人员的工作效能和改进工作的质量。良好的师生在线交流学习系统可以使管理员工作得到更好的管理和应用,并有助于管理员更好地管理师生在线交流学习,并有助于解决人力管理中出现的差错等问题。因此一套好的师生在线交流学......
  • java4
    1.学习了java中的string类在Java中,String类是处理文本的核心类之一。String类是不可变的,一旦创建,字符串的内容不能更改。每次对字符串进行操作(如拼接、替换等)都会产生一个新的String对象。构造函数:String类有多个构造函数,可以从字节数组、字符数组、另一个String对象......
  • Java全栈课程之Linux——账号管理
    一、简介Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文......
  • Java SE 文件上传和文件下载的底层原理
    1.JavaSE文件上传和文件下载的底层原理@目录1.JavaSE文件上传和文件下载的底层原理2.文件上传2.1文件上传应用实例2.2文件上传注意事项和细节3.文件下载3.1文件下载应用实例3.2文件下载注意事项和细节4.总结:5.最后:2.文件上传文件的上传和下载,是常见的功能。......
  • Java实现一颗二叉搜索树的增删查改操作
    Java实现一颗二叉搜索树的增删查改操作:树节点:packagetest.tree;publicclassTreeNode{privateintval;privateTreeNodeleft;privateTreeNoderight;publicTreeNode(intval){this.val=val;this.left=null;th......