面试题:
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 的精髓,并将其应用于 Android 开发或者其他需要处理异步数据流的场景。 总结一下,RxJava 操作符是构建复杂异步逻辑的基石,它们提供了强大的工具来处理...
实践是检验真理的唯一标准,对于RxAndroid的操作符,最好的学习方式就是动手编写代码,通过实际案例来理解它们的工作原理和使用场景。在你的下一个Android项目中,尝试引入RxAndroid,你会发现它能让你的代码更加...
这个"蓝牙4.0学习案例"提供了一个实践性的教程,适合初学者理解和掌握蓝牙Ble在Android平台上的应用。 首先,我们来了解蓝牙Ble的核心特性。蓝牙4.0引入了三个关键组件:传统蓝牙、高速蓝牙和低功耗蓝牙。其中,低...
"C# .NET实用学习案例"集合了多个实际应用中的示例,旨在帮助开发者掌握C#语言的核心概念以及.NET平台的功能。下面我们将详细探讨这些案例可能涵盖的知识点。 1. **基础语法**:案例可能包含C#的基本语法结构,如...
Rxjava操作符,中文文档,使用案例,方便随时查阅学习. 安卓艺术开发探索读书笔记,EffectiveJava读书笔记. 收集各大神博客以及安卓笔记,安卓面试笔记等方便手机端查看. 更新说明 v2.2.2 1.增加了一些最近在学习比较好...
可以通过`+`和`-`操作符来添加或移除方法: ```csharp MyDelegate myDel = new MyDelegate(AddNumbers); myDel += SubtractNumbers; ``` 5. **匿名方法和lambda表达式** 自C# 3.0起,我们可以使用匿名方法或...
通过案例,你可以学习到如何使用LINQ的各种查询操作符。 案例六:设计模式。在这些源码中,可能会发现常见的设计模式如工厂模式、单例模式、装饰器模式等的应用。设计模式是解决软件设计中常见问题的经验总结,通过...
2. **操作符**:Verilog有丰富的算术、逻辑和位操作符,如+、-、&、|、^等,用于进行数值计算和位操作。 3. **进程**:非阻塞赋值()和阻塞赋值(=)是Verilog中描述并发行为的关键。非阻塞赋值用于描述并行执行,...
- **位操作符**:如按位与(&),按位或(|),按位异或(^)等,用于低级数据处理和优化算法。 通过深入研究这些经典案例,学习者可以更好地掌握C语言的核心概念,为后续的系统编程、嵌入式开发、数据结构和算法等高级...
这里的`$set`操作符用于设置字段的值。 4. 删除操作(Delete): 删除单个文档可以使用`db.collection.deleteOne()`,而删除满足特定条件的所有文档则使用`db.collection.deleteMany()`。例如,要删除用户名为"张三...
总的来说,【C#案例教程】是一个全面的教育资源,不仅教授理论知识,还强调实践操作,旨在帮助学习者成为熟练的C#开发者。通过学习这个教程,你将能够编写出高效、可维护的C#程序,并具备解决实际问题的能力。
通过学习和实践这个案例,你可以了解串口通信的基础知识,并为更复杂的嵌入式系统开发打下基础。对于标签中提到的STM32和ARM设备,这个案例同样适用,只需确保它们的串口参数配置一致即可实现通信。
JavaScript的基础包括变量定义(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组、符号和BigInt)以及操作符(算术、比较、逻辑和位运算符)。案例可能涵盖变量的声明和赋值,...
这些案例涵盖了多个方面,包括数据库的创建和管理、表的创建和操作、数据的插入、查询和更新,以及常见的SQL函数和操作符的使用等等。每个案例都提供了详细的描述,解释了所使用的SQL语句和操作的目的和效果。通过...
### Go语言教程及案例学习知识点总结 #### 一、Go语言简介 Go语言,又称为Golang,是由Google开发的一种开源编程语言。它以其简洁、高效的特点受到开发者的喜爱,并被广泛应用于网络服务、微服务架构等领域。Go...
内存管理是C++中不可忽视的部分,书中可能讲解了动态内存分配(new和delete操作符)、指针的使用以及内存泄漏问题的避免。此外,文件操作也是常见案例,如读写文本文件、二进制文件,以及XML或JSON数据的处理。 ...
通过实际案例,你可以学习如何使用这些数据结构进行数据存储和操作,以及何时选择合适的数据结构以优化性能。 IO流是Java进行输入输出操作的关键,涵盖了文件操作、网络通信等多种场景。案例可能涵盖字节流、字符流...
最常用的是通过下标操作符`[]`,但要注意越界访问会引发运行时错误。此外,`at()`函数提供了一个边界检查的版本: ```cpp int firstElement = vec[0]; // 访问第一个元素 int safeElement = vec.at(4); // 如果越界...