- 浏览: 71961 次
- 性别:
- 来自: 北京
文章分类
最新评论
copy from http://www.janeg.ca/scjp/oper/promotions.html#unary
Operators and Assignments - Numeric Promotion
- the Unary operators + and - when applied to byte, char or short numeric types result in the operand being automatically promoted to an int.(JLS §5.6.1)
Example producing compile error: byte b = 5; // assign byte value byte b1 = +b; // found int, required byte
- unary promotion also applies for all shift operators. A long operator does not force the conversion of a left-hand int operator to long(JLS§5.6.1)
- when operands are of different types, automatic binary numeric promotion occurs with the smaller operand type being converted to the larger.
- the following rules are applied in the order given. (JLS §5.6.2)
- if either operand is a double, the other operand is converted to double
- otherwise, if one of the operands is a float, the other operand is converted to a float
- otherwise, if one of the operands is a long, the other operand is converted to a long
- otherwise, both operands are converted to int
Examples producing compile-errors: byte = byte + byte; // found int, required byte int = float + int; // found float, required int long = float + long; // found float, required long float = double + float; // found double, required float
Remember to check the type of the variable to which results are assigned
Rules apply to following operators:
- Additive: + and -
- Multiplicative: *, /, and %
- Comparison: <, <=, >, and >=
- Equality: = and !=
- Bitwise: &, ^, and |
Special case for Ternary conditional operator (JLS §15.25)
- if one of the operands is byte and the other is short then the type of the expression is short
byte = true ? byte : short // found short, required byte
- if one of the operands is a constant of type int and the other operand has a type of byte, short, or char and the value of the int operand is within the other type range, the type of the expression will be the type of the non-int operand.
short = true ? short : 1000; // compiles and runs OK short = false ? short : 1000; // compiles and runs OK
Example Code
- check attachment pls
Traps
- expression assigning byte or short operations to a byte or short variable
- TestNumericPromotion.zip (740 Bytes)
- 下载次数: 0
发表评论
-
How to be a Programmer: A Short,Comprehensive,and Personal Summary
2013-10-28 10:38 587well written. http://samizdat ... -
js module pattern
2013-10-12 16:21 398http://www.adequatelygood.com/ ... -
GZip compressing HTML, JavaScript, CSS etc. makes the data sent to the browser s
2013-07-31 15:48 660this is fun. http://tutorials ... -
java collection matrix
2012-08-07 11:24 745http://www.janeve.me/articles/w ... -
ghost text (aka in-field text)
2012-04-01 11:18 697http://archive.plugins.jquery.c ... -
What is Optimistic Locking vs. Pessimistic Locking
2011-09-09 16:50 834What is Optimistic Locking vs. ... -
what is DAO
2011-04-15 13:42 769http://java.sun.com/blueprints/ ... -
indenting xml in vim with xmllint
2011-01-10 09:48 708I added to my “.vimrc” file: ... -
css sprite
2010-12-15 16:57 665http://css-tricks.com/css-sprit ... -
最牛B 的 Linux Shell 命令
2010-10-30 00:08 714http://hi.baidu.com/hy0kl/blog/ ... -
GPS Bearing VS Heading
2010-10-21 15:40 1675http://gps.about.com/od/glossar ... -
Document Type Declaration
2010-07-19 22:01 833Document Type Declaration h ... -
XML Declaration must be the first line in the document.
2010-06-12 17:54 901The XML declaration typically a ... -
UCM
2010-05-08 11:41 746Two links about UCM The power ... -
What is an MXBean?
2010-01-28 11:10 764refer to http://weblogs.java. ... -
why wait() always in a loop
2010-01-19 00:17 843As we know ,jdk API doc suggest ... -
Locks in Java
2010-01-18 22:48 936copied from http://tutorials.je ... -
use jps instead of ps to find jvm process
2010-01-11 14:21 817copied from http://java.sun.com ... -
My first error of Hello Wolrd Struts
2010-01-04 09:10 866It's my first time to touch Str ... -
Unit Testing Equals and HashCode of Java Beans
2009-12-29 10:07 1309copy from http://blog.cornetdes ...
相关推荐
《Python库rappiflow_dag_operators-0.2.4-py3-none-any.whl详解》 在Python的世界中,库是开发者的重要工具,它们提供了丰富的功能,简化了编程工作。今天我们要讨论的是一个名为`rappiflow_dag_operators`的...
资源来自pypi官网。 资源全名:rappiflow_dag_operators-0.2.4-py3-none-any.whl
资源分类:Python库 所属语言:Python 资源全名:airflow_livy_operators-0.3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Learn how to use LINQ in your applications with these code samples, covering the entire range of LINQ functionality and demonstrating LINQ with SQL, DataSets, and XML. LINQ - Restriction Operators ...
《如何编写Operator》Operator 模式旨在捕获(正在管理一个或一组服务的)运维人员的关键目标。 负责特定应用和 service 的运维人员,在系统应该如何运行、如何部署以及出现问题时如何处理等方面有深入的了解。...
JavaScript是Web开发中不可或缺的一部分,尤其在前端领域,它提供了丰富的操作符来处理各种计算、比较和逻辑任务。本文将深入探讨JavaScript中的操作符语法,包括它们的类型、用法和常见应用场景。...
matrices and arrays- Matrix and Array Operations、Tutorials - matrices and arrays- Array Creation、Tutorials - desktop basics、Cat、MATLAB Product Description、Xor、or, |、Logical Operators: Short-...
编程基础:算术运算符 这些练习旨在使您熟悉算术运算符。 在每个步骤结束时,将结果打印到控制台。 声明两个变量“ snackServings”和“ guests”并为其分配数字值。 添加小吃和客人。 从点心服务中减去客人。...
编程基础:逻辑运算符这些练习旨在使您熟悉逻辑运算符。 将所有检查打印到控制台。 确保您使用正确的逻辑运算符。 声明两个变量: isDogBetter的值为true ,和isCatBetter的值为false 。 检查以下结果: a)...
编程基础:逻辑运算符 这些练习旨在使您熟悉逻辑运算符。 将所有检查打印到控制台。 确保您使用正确的逻辑运算符。 声明两个变量: isDogBetter的值为true ,和isCatBetter的值为false 。 检查以下结果: ...
编程基础:比较运算符 这些练习旨在使您熟悉比较运算符。 将所有检查打印到控制台。 声明两个变量“ apples”和“ oranges”。 将值20分配给苹果。 将值30分配给橙子。 检查苹果和橙子是否相等。...
编程基础:逻辑运算符这些练习旨在使您熟悉逻辑运算符。 将所有检查打印到控制台。 确保您使用正确的逻辑运算符。 声明两个变量: isDogBetter的值为true ,和isCatBetter的值为false 。 检查以下结果: a)...
编程基础:算术运算符(数学问题) 这些任务旨在使您更轻松地使用JS解决数学问题。 将每个结果打印到控制台。 基本算术问题Q1。 在一个晚上,一家电影院以6450美元的价格出售门票。 每张票15美元。...
编程基础:算术运算符(数学问题) 这些任务旨在使您更轻松地使用JS解决数学问题。 将每个结果打印到控制台。 基本算术问题 Q1。 在一个晚上,一家电影院以6450美元的价格出售门票。 每张票15美元。...
编程基础:算术运算符(数学问题) 这些任务旨在使您更轻松地使用JS解决数学问题。 将每个结果打印到控制台。 基本算术问题Q1。 在一个晚上,一家电影院以6450美元的价格出售门票。 每张票15美元。...
编程基础:逻辑运算符 这些练习旨在使您熟悉逻辑运算符。 将所有检查打印到控制台。 确保您使用正确的逻辑运算符。 声明两个变量: isDogBetter的值为true ,和isCatBetter的值为false 。 检查以下结果: ...
SDSS计算研究Python作业 作业#004b逻辑运算符(总计14) 目标: 评估布尔逻辑语句 有时您可能需要检查多个条件。 一种选择是将if语句嵌套在if语句中,但是您也可以使用运算符检查条件语句 打开名为example1.py的...
SDSS计算研究Python作业 分配#002b带有字符串的变量运算(总计标记8) 目标: 对字符串变量使用数学运算符 请记住,字符串变量是不包含数值的变量,而是包含单词或符号集合的变量。 我们可以与数字一起使用的某些...