java运算符的优先级别
一、运算符的优先级
运算符按照优先级别的高低排序分别是:自加/减运算符、 算术运算符、比较运算符、逻辑运算符、赋值运算符。具体请参考下表:
顺序 |
运算符 |
1. |
括号,如 ( ) 和 [ ] |
2. |
一元运算符,如 -、++、- -和 ! |
3. |
算术运算符,如 *、/、%、+ 和 - |
4. |
关系运算符,如 >、>=、<、<=、== 和 != |
5. |
逻辑运算符,如 &、^、|、&&、|| |
6. |
条件运算符和赋值运算符,如 ? :、=、*=、/=、+= 和 -= |
下面这个例子:
int i=1,j=2; int a=i+++j+++i++; System.out.println(a);
看着就让人头晕了,我们可以修改以下这样。
int a=(i++)+(j++)+(i++);
二、类型转换
java有两种类型的转换,分别是自动类型转换和强制类型转换。
1、自动类型转换
一般而言,java编译器还是比较智能的,对不同数据类型的参数,会自动转换类型,为了不至于数据的丢失,一般是较窄的数据类型转换为较宽的数据类型。也就是说如果一个short类型和一个int类型相加,那么结果就会自动转换为int类型,因为int比short数位要宽,再有如果int类型和float类型相加,那么结果是float类型,因为浮点型比整型所能表示的数据要宽。另外我们也可以把一个较窄的数据类型直接赋值给一个较宽的数据类型。总结一下,在赋值或者计算时,只要满足以下条件,就会发生自动类型转换:
(1)两种类型兼容;
(2)目标类型大于源类型;
例如:
(1)byte、char和 short 型值可提升为 int 型。如果一个操作数为 long 型,则整个表达式结果为 long 型
(2)如果一个操作数为 float 型,则整个表达式结果为 float 型。而如果一个操作数为 double 型,则整个表达式结果为 double 型
2、 强制类型转换
强制转换用于显式类型转换。但是强制类型转换需要小心使用,因为如果被转换的值的数据类型大于其目标类型,就会丢失部分信息。类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据,其具体格式如下:
(类型名)表达式
float a = 346.756565f; int b = (int) a + 10; // 将 c 转换为整型 System.out.println(b);
最后的结果是356,浮点型a后面的所有的小数都会丢失。
java运算符的优先级别相关推荐
- java 运算符_详解Java表达式与运算符
课程导言 [变量的赋值与计算都离不开表达式,表达式的运算依赖于变量.常量和运算符.本节课讨论Java的表达式的构成.常量的定义.运算符的分类及应用.通过本课的学习你将掌握运用表达式和运算符完成变量赋值 ...
- Java运算符——————03
一.基本运算符 1.知识点:算数运算符的使用 +(加).-(减).*(乘)./(除).%(余).++(自增).--(自减) 1.1.运算符的使用 package com.company;public ...
- java 运算符输入_java-运算符,IO输入输出,文件操作
Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 ...
- Java运算符优先级(转)
Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目 ( ) 圆括号 从左到右 [ ] 方括号 从左到右 2 + 正号 从右到左 单 ...
- java int相除向上取整_Java基础篇——Java运算符
Java运算符按功能可分为:算数运算符.关系运算符.逻辑运算符.位运算符.赋值运算符和条件运算符. 算数运算符 算术运算符包括通常的加(+).减(-).乘(*).除(/).取模(%),完成整数型和浮点 ...
- Java 运算符及优先级
运算符 分割符: , ; [] () 算数运算符: + - * / % ++ -- 关系运算符: > < >= <= == != 逻辑运算符: ! & | ^ & ...
- 【三】Java运算符
Java运算符 1. 算术运算符 2. 赋值运算符 复合赋值运算符 4. 关系运算符 4.1 if...else条件结构 5. 逻辑运算符 逻辑与 逻辑或 逻辑非 6. 三目运算符 7. 运算符的优先 ...
- java/02/java运算符,java逻辑控制,java方法的定义及使用
java/02/java运算符/java逻辑控制/java方法的定义及使用 运算符 如"="是赋值运算符,四则运算也是运算符. 在程序中运算的式子要简化,用简单的式子 以下运算符可 ...
- java运算符使用总结_Java运算符知识点总结
拥有程序思维的第一步,就是要学会用计算机.或者说编写程序帮我们处理数据,而不是我们自己动手.Java语言中有很多进行数据运算的方式,就如前面所说,包括但不限于:算术运算.比较运算.逻辑运算.赋值运算. ...
- Java基础语法之变量作用域、小大驼峰命名规则和java运算符(赋值、关系、三元、逻辑运算符)
文章目录 一.变量定义的注意事项及作用域 二.键盘输入 三.Java运算符 1.运算符与表达式 2.算数运算符 3.自增.自减运算符 4.赋值运算符 5.关系运算符 6.三元运算符 7.逻辑运算符 一 ...
最新文章
- python新手项目-推荐 13 个 Python 新手练级项目
- 性能测试-Jmeter
- android gridview 间隔线,Android开发之RecyclerView的间隔线处理
- 源码剖析Django REST framework的认证方式及自定义认证
- iOS实现三屏复用循环广告[从服务器请求的广告]
- LeetCode 1177. 构建回文串检测(前缀和)
- java程序员的日常_Java程序员的日常——经验贴(纯干货)
- [PyTorch] 安装
- AxureRP初体验
- 计算机应用技术要学java吗,计算机应用技术专业主要学什么
- 论文笔记——Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data
- 最新版!国内IT软件外包公司汇总~
- jQuery WeUI v0.1.0 发布了 - 微信公众账号开发者的福音
- 【音视频流媒体】WebRTC 直播超详细介绍
- 从事IT业一个8年老兵转行前的自我总结2——从《易经》说开来
- 第二章 基本Bean的装载
- 永磁同步电机矢量控制(四)——速度环 PI 参数整定(二)
- 科普丨【计算机视觉】OpenCV中直方图处理函数简述
- 基于Cartographer的建图与导航
- 淘金网络Voip网络电话的概述
热门文章
- mysql-8.0.16-winx64详细安装教程
- python数值计算库Numpy学习之—np.linalg.norm(求范数)
- python获取昨天日期_python 获取今天、昨天、明天的时间时间戳
- boost线程指南手册
- Hyperledger Fabric 节点类型Commiter、Endorser、Leader、Anchor
- HyperLedger Composer 查看所有容器 | 进入指定容器
- SpringBoot+kaptcha生成验证码
- 将Excel数据批量导入到数据库(项目案例)
- 计算机协议-http
- 装箱拆箱的意义 java_Java中的装箱和拆箱深入理解