首页 > 编程语言 >Java语法之运算符二(附练习和答案)

Java语法之运算符二(附练习和答案)

时间:2023-10-19 23:00:48浏览次数:24  
标签:语法 false System 运算符 println Java true out


10.自增自减运算符

分类:

++  自增运算符
--  自减运算符

++:就是把变量里面的值+1

--:就是把变量里面的值-1

使用方式:

  • 放在变量的前面,我们叫做先++。 比如:++a
  • 放在变量的后面,我们叫做后++。 比如:a++

注意点:

不管是先++,还是后++。单独写在一行的时候,运算结果是一模一样的。

案例:

//++
int a = 10;
a++;//就是让变量a里面的值 + 1
System.out.println(a);//11
++a;//就是让变量a里面的值 + 1
System.out.println(a);//12

Java语法之运算符二(附练习和答案)_运算符

自增自减运算符的应用场景:

某些情况下,变量需要进行加1或者减1的时候使用。

比如:过生日多一岁,就用到了自增运算符。

比如:购物商场中,选择商品数量,也用到了自增或者自减运算符。

比如:统计很多数据中,有多少个数据满足要求,也用到了自增运算符。

11.赋值运算符

最为常用的: =

运算过程:就是把等号右边的结果赋值给左边的变量

案例:

public class OperatorDemo6 {
    public static void main(String[] args) {
        //1.最为简单的赋值运算符用法
        int a = 10;//就是把10赋值给变量a
        System.out.println(a);

        //2.如果等号右边需要进行计算。
        int b = 20;
        int c = a + b;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(c);

        //3.特殊的用法
        a = a + 10;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(a);//20
    }
}

Java语法之运算符二(附练习和答案)_用户名_02

12.扩展赋值运算符

分类:

+=、-=、*=、/=、%=

运算规则:

就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响。

案例:

public class OperatorDemo7 {
    public static void main(String[] args) {
        //扩展赋值运算符
        int a = 10;
        int b = 20;
        a += b;//把左边和右边相加,再把最终的结果赋值给左边,对右边没有任何影响
        // 相当于 a = a + b;
        System.out.println(a);//30
        System.out.println(b);//20
    }
}

Java语法之运算符二(附练习和答案)_System_03

注意点:

扩展的赋值运算符中隐层还包含了一个强制转换。

以+=为例。

a += b ;实际上相当于 a = (byte)(a + b);

public class OperatorDemo8 {
    public static void main(String[] args) {
        byte a = 10;
        byte b = 20;
        //a += b;
        a = (byte)(a + b);
        System.out.println(a);//30
    }
}

Java语法之运算符二(附练习和答案)_System_04

13.关系运算符

又叫比较运算符,其实就是拿着左边跟右边进行了判断而已。

分类:

符号

解释

==

就是判断左边跟右边是否相等,如果成立就是true,如果不成立就是false

!=

就是判断左边跟右边是否不相等,如果成立就是true,如果不成立就是false

>

就是判断左边是否大于右边,如果成立就是true,如果不成立就是false

>=

就是判断左边是否大于等于右边,如果成立就是true,如果不成立就是false

<

就是判断左边是否小于右边,如果成立就是true,如果不成立就是false

<=

就是判断左边是否小于等于右边,如果成立就是true,如果不成立就是false

注意点:

  • 关系运算符最终的结果一定是布尔类型的。要么是true,要么是false
  • 在写==的时候,千万不要写成=

14.逻辑运算符

& 和 | 的使用:

&:逻辑与(而且)

两边都为真,结果才是真,只要有一个为假,那么结果就是假。

|:逻辑或(或者)

两边都为假,结果才是假,只要有一个为真,那么结果就是真。

代码示例:

// &  //两边都是真,结果才是真。
System.out.println(true & true);//true
System.out.println(false & false);//false
System.out.println(true & false);//false
System.out.println(false & true);//false

System.out.println("===================================");

// | 或  //两边都是假,结果才是假,如果有一个为真,那么结果就是真。
System.out.println(true | true);//true
System.out.println(false | false);//false
System.out.println(true | false);//true
System.out.println(false | true);//true

Java语法之运算符二(附练习和答案)_运算符_05

使用场景:

根据固定的场景,来选择使用&还是使用|

  • 用户登录。
    用户名输入正确 & 密码输入正确
    因为只有用户名和密码同时都正确了,那么才能成功登录,只要有一个失败了都不行。
    使用技巧:
    当我们需要同时满足左边和右边两种情况时,可以使用且
  • 丈母娘选女婿
    丈母娘:女婿啊,你要么买个房子,要么买辆车。就可以把我的小棉袄穿走了。
    买个房子 | 买辆车
    两个条件中,只要满足其中一个,就可以穿走小棉袄了。
    使用技巧:
    当两种条件只要满足其中一个的时候,可以使用或

^(异或)的使用:

在以后用的不多,了解一下即可。

计算规则:如果两边相同,结果为false,如果两边不同,结果为true

代码示例:

//^   //左右不相同,结果才是true,左右相同结果就是false
System.out.println(true ^ true);//false
System.out.println(false ^ false);//false
System.out.println(true ^ false);//true
System.out.println(false ^ true);//true

Java语法之运算符二(附练习和答案)_运算符_06

!(取反)的使用:

是取反,也叫做非。

计算规则:false取反就是true,true取反就是false

温馨提示:取反最多只用一个。

代码示例:

System.out.println(!false);//true
System.out.println(!true);//false

System.out.println(!!false);//注意点:取反最多只用一个。

Java语法之运算符二(附练习和答案)_用户名_07

15.短路逻辑运算符

分类: && ||

&&:

运算结果跟&是一模一样的,只不过具有短路效果。

||:

运算结果跟|是一模一样的。只不过具有短路效果。

逻辑核心:

当左边不能确定整个表达式的结果,右边才会执行。

当左边能确定整个表达式的结果,那么右边就不会执行了。从而提高了代码的运行效率。

举例:

  • 用户登录案例
    用户名正确 & 密码正确
    如果使用一个&,不管用户名是否正确都会去验证密码。

思考:

如果用户名输入正确了,那么我们再判断密码是否正确,是符合业务逻辑的。

但是如果用户名输入错误了,那么现在还有必要去比较密码吗?没有不要了。

如果使用一个&,那么左边和右边不管什么情况下,都会执行。

用户名正确 && 密码正确

如果用户名输入正确了,那么才会验证密码是否输入正确。

如果用户名输入错误了,那么就不会再去验证密码是否正确,最终的结果直接为false。从而提高了程序运行的效率。

  • 丈母娘选女婿
    有房 | 有车
    首先先看看有没有房,发现有,然后再去看看有没有车。

思考:

既然都有房子,干嘛还要去看车呢?多此一举。

有房 || 有车

首先先看看有没有房,如果有,那么右边就不执行了。最终的结果直接为true。

如果没有房子,才会去看右边有没有车。

总结:

&& 和 & 、||和|的运行结果都是一模一样的。

但是短路逻辑运算符可以提高程序的运行效率。

建议:

最为常用: && || !

16.三元运算符

又叫做:三元表达式或者问号冒号表达式。

格式:

关系表达式 ? 表达式1 :表达式2 ;

计算规则:

  • 计算关系表达式的值。
  • 如果关系表达式的值为真,那么执行表达式1。
  • 如果关系表达式的值为假,那么执行表达式2。

注意点:

三元运算符的最终结果一定要被使用,要么赋值给一个变量,要么直接打印出来。

案例:

public class OperatorDemo12 {
    public static void main(String[] args) {
        //需求:求两个数的较大值
        int a = 10;
        int b = 20;

        //格式:关系表达式 ? 表达式1 : 表达式2 ;
        //注意点:
        //三元运算符的最终结果一定要被使用。
        //要么赋值给一个变量,要么直接输出。
       int max =  a > b ? a : b ;
        System.out.println(max);


        System.out.println(a > b ? a : b);
    }
}

Java语法之运算符二(附练习和答案)_System_08

17.练习1-两只老虎

需求:

动物园里有两只老虎,两只老虎的体重分别为通过键盘录入获得,

请用程序实现判断两只老虎的体重是否相同。

代码示例:

//1.获取两只老虎的体重
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一只老虎的体重");
int weight1 = sc.nextInt();
System.out.println("请输入第二只老虎的体重");
int weight2 = sc.nextInt();

//2.利用三元运算符求出最终结果
String result = weight1 == weight2 ? "相同" : "不相同";
System.out.println(result);

Java语法之运算符二(附练习和答案)_运算符_09

18.练习2-求三个数的最大值

需求:

一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。

请用程序实现获取这三个和尚的最高身高。

代码示例:

//1.定义三个变量记录和尚的身高
int height1 = 150;
int height2 = 210;
int height3 = 165;

//2.利用三元运算符求出两个数中的较大值。
int temp = height1 > height2 ? height1 : height2;

//3.求出最终的结果
int max = temp > height3 ? temp : height3;

System.out.println(max);

Java语法之运算符二(附练习和答案)_运算符_10

19.运算符的优先级

在Java中涉及了很多的运算符,每一种运算符都有各自的优先级。但是这些优先级不需要记忆。

咱们只要知道其中一点:

小括号优先于所有。


标签:语法,false,System,运算符,println,Java,true,out
From: https://blog.51cto.com/u_16265376/7943319

相关文章

  • C++基本语法:
    C++基本语法:C++程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。对象:对象具有状态和行为。例如:一只猫的状态(颜色、名称、品种、行为、摇动、叫唤、吃),对象是类的实例。类:类可以定义为描述对象行为(或者状态)的模版(或者蓝图)。方法:从基本上说,一个方法表示一种行为。......
  • java学习_03
    运算符对字面量或者变量进行操作的符号表达式用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。算数运算符加+、减-、乘*、除/、取模%整数参与计算,结果只能得到整数小数参与计算,结果......
  • 基本语法——lower/upper_bound 学习笔记
    基本语法——lower/upper_bound学习笔记正文本文保证:你看了也不懂\(\texttt{lower\_bound}\)\(\texttt{upper\_bound}\)默认比较函数返回第一个\(\cancel{<}\text{value}\)的元素返回第一个\(>\text{value}\)的元素自定义比较函数返回第一个\(\texttt{f......
  • Java基础 方法引用
    方法引用的概念:把已经有的方法拿过来用,当作函数式接口中抽象方法的方法体 方法引用需要满足的条件:1.引用处必须是函数式接口2.被引用的方法必须是已经存在的3.被引用方法的形参和返回值需要跟抽象方法保持一致4.被引用方法的功能要满足当前需求 ::是方法引用符,是......
  • 【Java】Vert.x Jackson 序列化后日期数据正常展示
    有段时间没有更新了,年尾嘛大家都懂的。其实最近有个想法,想将自己的vtx_fw框架给开源了。但开源之前还是有很多收尾的工作需要做的(总不能让各位笑话吧o(╥﹏╥)o),这不今天就发现了一个问题,立刻就归纳一下给各位分享。这个问题就是Vert.x框架中日期类型数据在Jackson序列化下的......
  • Java资源文件获取方法详解:从 Classpath 到 Web 应用程序
    在Java开发中,访问和读取资源文件是一个常见的需求。这些资源可以是配置文件、图像、音频、视频、文本文件等。在Java中,获取资源文件有多种方式,包括直接通过类路径(Classpath)访问,或者通过Web应用程序的上下文路径(ContextPath)访问。以下我们将详细探讨这些方法。通过类路径(Classpath)......
  • Java拾贝第六天——包装类
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么基本数据类型怎么变化引用数据类型(对象)Java为每种基本类型都提供了对应的包装类型:基本数据类型包装类intIntegercharCharactershortShortlongLongfloatFloatdoubleDoublebooleanBoolean......
  • java程序题
    指数计算问题1.有一对兔子,从出生后第3个月起每个月都生兴对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?程序分析;兔子的规律为数列1,1,2,3,5,8,13,21..... 2.水仙花数打印出所有的"水仙花数",所谓"水仙花数“是指一个三位数,其各位数......
  • Javaweb前端-cnblog
    HTML+CSS+JS+Vue+Element目录HTML+CSS+JS+Vue+Element一、基本概念二、Web服务器三、HTMLCSS3.1官方文档四、JavaScript五、Vue六、Ajax七、前端工程化八、Element一、基本概念静态web:html,css缺点:无法动态更新;无法和数据库交互伪动态:轮播图、点击特效(JavaScript)......
  • Java基础知识-cnblog
    Java基础知识目录Java基础知识第08章面向对象编程(中级部分)306~318多态第10章面向对象编程(高级部分)374~382static类变量和类方法383~385main386~391代码块392~393单例模式394~397final403~412接口413~424内部类第11章枚举和注解425~432Enum枚举433~436注解第12章异......