`

操作符学习案例

阅读更多

面试题:

1.Java操作符有哪些?

2.当一个整型和字符串运算后返回什么类型的结果?

3.求余操作后,其结果的正负符号由那个操作数决定?

4.整型和浮点型分别对0求余,会有什么样的结果产生?

5.浮点型与浮点型以及浮点型和整型之间是否可以做求余操作?

6.前加加/减减与后加加/减减的区别?

 

演示代码:

public class OperatorTest {
	/**
	 * DESC--操作符案例
	 */
	public static void main(String[] args) {
		//定义多组不同类型的数据
		int a =9;
		int b=4;
		int c = -4;
		int d = -17;
		String str1 = "计算结果为:";
		String str2 = "这次是正确的";
		double g =12.8;
		double h = 6.1;
	    /**
	     * 1.测试字符串与整数相加(str1+a+b)
	     * (1.1)当字符串在第一位,整型在第二位,若按从左至右的运算顺序则依次都是做字符串拼接运算
	   * (1.2)当前两位整型第三位是字符串时,若按从左至右的运算顺序则先把两整型值相加然后再和字符串拼接
	   * (1.3)括号优先级最高,所有首先处理括号内运算,然后在处理其他运算操作(字符串拼接)
	    * 总结:以上运算(int+String)的结果类型都为String类型
	   */
		System.out.println("(1.1)"+str1+a+b);
		System.out.println("(1.2)"+a+b+str1);
		System.out.println("(1.3)"+str1+str2+(a+b));
		System.out.println("(1.3)"+str1+g+h);
                  /**
	     * 2.测试取模运算符
	     * (2.1)正整型%正整型求余返回正符号的余数
	     * (2.2)负整型%正整型求余返回负符号的余数
	     * (2.3)浮点型%正整型求余返回负符号的余数
	     * (2.4)浮点型%0求余返回的结果永远为NaN
	       * (2.5)整型%0求余会报java.lang.ArithmeticException异常
	     * 总结:求余返回的结果正负取决于左边的操作数
	     *      浮点型&浮点型,浮点型&整型同样可以参与取模运算
	     *      浮点型与0求余得到的结果永远为NaN
	        *      整型与0求余会报异常
	     */
		System.out.println("(2.1)"+a%b);
		System.out.println("(2.2)"+c%a);
		System.out.println("(2.3)"+g%b);
		System.out.println("(2.4)"+g%0);
		try{
			System.out.println(a%0);
		}catch(Exception e){
			System.out.println("(2.5)"+"整型与0求余会报java.lang.ArithmeticException异常");
		}
		 /**
	     * 3.测试加加、减减运算符及与整型的混合运算
	     * (3.1)后加加/减减
	     * (3.2)前加加/减减
	     * 说明:a=9 b=4(初始值)
	       * 总结:后加加/减减是先取原来数在和其他数运算最后加1/减1(先运算再改其值)
	       *         前加加/减减是先取数并加/减1后在和其他数运算(先改其值再运算)
	      */
		System.out.println("--(3.1)提示:后加加/减减是先取数在和其他数运算最后加1/减1");
		System.out.print("   a++ +b是先取a原来的值9在加b4,因此结果为:");
		System.out.println(a++ +b);
		System.out.print("   当后加加后a的值有9变成:");
		System.out.println(a);
		System.out.println("--(3.2)提示:前加加/减减是先取数加/减1后在和其他数运算");
		System.out.print("   b-- +a是先取b原来的值4并先减1,因此结果为:");
		System.out.println(b-- +a);
		System.out.print("   当前减减后b的值由4变成:");
		System.out.print(b);
		System.out.print("(注意此时的a是后加加后的值9-->10)");
	}
}

 运行结果:

(1.1)计算结果为:94
(1.2)94计算结果为:
(1.3)计算结果为:这次是正确的13
(1.3)计算结果为:12.86.1
(2.1)1
(2.2)-4
(2.3)0.8000000000000007
(2.4)NaN
(2.5)整型与0求余会报java.lang.ArithmeticException异常
--(3.1)提示:后加加/减减是先取数在和其他数运算最后加1/减1
   a++ +b是先取a原来的值9在加b4,因此结果为:13
   当后加加后a的值有9变成:10
--(3.2)提示:前加加/减减是先取数加/减1后在和其他数运算
   b-- +a是先取b原来的值4并先减1,因此结果为:14
   当前减减后b的值由4变成:3(注意此时的a是后加加后的值9-->10)

 

 

分享到:
评论

相关推荐

    RxJava 操作符 图片

    通过结合实际案例和操作符图片,你可以更有效地掌握 RxJava 的精髓,并将其应用于 Android 开发或者其他需要处理异步数据流的场景。 总结一下,RxJava 操作符是构建复杂异步逻辑的基石,它们提供了强大的工具来处理...

    RxAndroid操作符Demo

    实践是检验真理的唯一标准,对于RxAndroid的操作符,最好的学习方式就是动手编写代码,通过实际案例来理解它们的工作原理和使用场景。在你的下一个Android项目中,尝试引入RxAndroid,你会发现它能让你的代码更加...

    蓝牙4.0学习案例

    这个"蓝牙4.0学习案例"提供了一个实践性的教程,适合初学者理解和掌握蓝牙Ble在Android平台上的应用。 首先,我们来了解蓝牙Ble的核心特性。蓝牙4.0引入了三个关键组件:传统蓝牙、高速蓝牙和低功耗蓝牙。其中,低...

    C#NET实用学习案例

    "C# .NET实用学习案例"集合了多个实际应用中的示例,旨在帮助开发者掌握C#语言的核心概念以及.NET平台的功能。下面我们将详细探讨这些案例可能涵盖的知识点。 1. **基础语法**:案例可能包含C#的基本语法结构,如...

    Android代码-一个集Gank.Io,Rxjava示例,操作符,MD控件使用,各种好玩Ap示例的学习App。

    Rxjava操作符,中文文档,使用案例,方便随时查阅学习. 安卓艺术开发探索读书笔记,EffectiveJava读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看. 更新说明 v2.2.2 1.增加了一些最近在学习比较好...

    c#委托学习 案例

    可以通过`+`和`-`操作符来添加或移除方法: ```csharp MyDelegate myDel = new MyDelegate(AddNumbers); myDel += SubtractNumbers; ``` 5. **匿名方法和lambda表达式** 自C# 3.0起,我们可以使用匿名方法或...

    C# 经典案例源码2(35例).zip

    通过案例,你可以学习到如何使用LINQ的各种查询操作符。 案例六:设计模式。在这些源码中,可能会发现常见的设计模式如工厂模式、单例模式、装饰器模式等的应用。设计模式是解决软件设计中常见问题的经验总结,通过...

    mingdeyang视频Verilog案例学习.zip

    2. **操作符**:Verilog有丰富的算术、逻辑和位操作符,如+、-、&、|、^等,用于进行数值计算和位操作。 3. **进程**:非阻塞赋值()和阻塞赋值(=)是Verilog中描述并发行为的关键。非阻塞赋值用于描述并行执行,...

    C语言学习的经典案例

    - **位操作符**:如按位与(&),按位或(|),按位异或(^)等,用于低级数据处理和优化算法。 通过深入研究这些经典案例,学习者可以更好地掌握C语言的核心概念,为后续的系统编程、嵌入式开发、数据结构和算法等高级...

    MongoDB增删改查操作案例-用户信息增删改查.zip

    这里的`$set`操作符用于设置字段的值。 4. 删除操作(Delete): 删除单个文档可以使用`db.collection.deleteOne()`,而删除满足特定条件的所有文档则使用`db.collection.deleteMany()`。例如,要删除用户名为"张三...

    C#案例教程,C#案例教程

    总的来说,【C#案例教程】是一个全面的教育资源,不仅教授理论知识,还强调实践操作,旨在帮助学习者成为熟练的C#开发者。通过学习这个教程,你将能够编写出高效、可维护的C#程序,并具备解决实际问题的能力。

    C#串口发送数据上位机简单案例

    通过学习和实践这个案例,你可以了解串口通信的基础知识,并为更复杂的嵌入式系统开发打下基础。对于标签中提到的STM32和ARM设备,这个案例同样适用,只需确保它们的串口参数配置一致即可实现通信。

    JavaScript案例

    JavaScript的基础包括变量定义(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组、符号和BigInt)以及操作符(算术、比较、逻辑和位运算符)。案例可能涵盖变量的声明和赋值,...

    135个mysql入门语法sql案例资源集合.zip

    这些案例涵盖了多个方面,包括数据库的创建和管理、表的创建和操作、数据的插入、查询和更新,以及常见的SQL函数和操作符的使用等等。每个案例都提供了详细的描述,解释了所使用的SQL语句和操作的目的和效果。通过...

    Go语言教程及案例学习.docx

    ### Go语言教程及案例学习知识点总结 #### 一、Go语言简介 Go语言,又称为Golang,是由Google开发的一种开源编程语言。它以其简洁、高效的特点受到开发者的喜爱,并被广泛应用于网络服务、微服务架构等领域。Go...

    Visual C++课程设计案例精编

    内存管理是C++中不可忽视的部分,书中可能讲解了动态内存分配(new和delete操作符)、指针的使用以及内存泄漏问题的避免。此外,文件操作也是常见案例,如读写文本文件、二进制文件,以及XML或JSON数据的处理。 ...

    164个java经典代码案例

    通过实际案例,你可以学习如何使用这些数据结构进行数据存储和操作,以及何时选择合适的数据结构以优化性能。 IO流是Java进行输入输出操作的关键,涵盖了文件操作、网络通信等多种场景。案例可能涵盖字节流、字符流...

    C++学习练习题 测试案例

    最常用的是通过下标操作符`[]`,但要注意越界访问会引发运行时错误。此外,`at()`函数提供了一个边界检查的版本: ```cpp int firstElement = vec[0]; // 访问第一个元素 int safeElement = vec.at(4); // 如果越界...

Global site tag (gtag.js) - Google Analytics