首页 > 编程语言 >JavaSE的第六步 —— 运算符优先级问题以及类型转换

JavaSE的第六步 —— 运算符优先级问题以及类型转换

时间:2024-02-19 23:13:05浏览次数:27  
标签:类型转换 优先级 int 运算符 转换 JavaSE byte

一、运算符优先级
一般来说不需要刻意去记这些运算符的优先级,当你对这些运算的先后顺序存在疑惑的时候,不需要多想什么,直接使用()将之括起来就好
但大体上的优先级顺序还是需要了解一下的
排在首位的就是括号运算符,无论什么时候,你都可以相信括
接下来的运算符就是①、[{一元运算符中的 !、+、-}、②、{位逻辑运算符 ~}、{自增、自减运算符 ++、--}]
③优先级排行第三的是算术运算符中的 、/、%这三种
④紧随其后的就是算术运算符中剩下的两种 +、-
⑤之后是位左移和右移运算符 >> <<
⑥下来是关系运算中的 >、>=、<、<=这四种运算符
⑦而== 与 != 运算符和算数运算符中的+-一样排在后边一级
⑧位运算符、逻辑运算符 &
⑨位运算符、逻辑运算符 ^
⑩位运算符、逻辑运算符 |
⑪逻辑运算符 &&
⑫逻辑运算符 ||
⑬?: 三目运算符
⑭=、+=、-=、
=、/=、%= 赋值运算符、扩展运算符

二、类型转换
类型转换通常分为两种一个是自动类型转换。
另一个就是强制类型转换

	①、自动类型转换
	自动类型转换,通常是由小精度转变为大精度
	byte转换为short,short转换为int
	char转换为int,
	int转换为long,int转换为double
	float转换为double
	但是自动类型转换的时候有些数值转换是存在精度损失的:
		像int转换为float的过程中,long转换为double的过程中
	
	②、强制类型转换
	可能会造成精度损失
	如果你是想把byte a = (byte) 128,这就超出了byte所能表达的范围,
	byte通常所表示的范围是-128~127之间,如果是无符号byte那么这样
	写是可以的,但是在Java中并不像c语言那样存在无符号的byte。

标签:类型转换,优先级,int,运算符,转换,JavaSE,byte
From: https://www.cnblogs.com/startFromScratch/p/18022146

相关文章

  • golang运算符&流程控制
    运算符算数运算funcmain(){ varaint=10 varbint=8 varc=3.14 vard=5.15 fmt.Println(a+b)//18 fmt.Println(a-b)//2 fmt.Println(a*b)//80 fmt.Println(a/b)//1,Go中,如果运算的都是整数,相除后会默认去掉小数,保留整数部分, fmt.Pr......
  • JS展开运算符...
    ...)展开运算符又叫剩余运算符。例子:constitem={age:123}constnewItem={...item,['age']:456}console.log("newItem="+newItem.age) ......
  • JavaSE---Random
    java.util.Random概述Aninstanceofthisclassisusedtogenerateastreamofpseudorandomnumbers. Random实例用来生成伪随机数;Theclassusesa48-bitseed,whichismodifiedusingalinearcongruentialformula. (SeeDonaldKnuth,TheArtofComputerPr......
  • C语言运算符顺序及优先级
    逗号运算符是优先级最低的。通常单目运算符优先级大于双目。三目最小。但需注意,双目运算符中的赋值运算符优先级是最低的。在C语言中,大部分运算符都是从左向右进行计算的,但是也存在一些自右向左的运算符。其中最常见的自右向左的运算符是赋值运算符 = 和逗号运算符 ,。赋......
  • JavaSE第五步 —— 运算符
    一、运算符运算符的分类不尽相同,以下都是参考的相关书籍名称符号算数运算符一元运算符++、--算术运算符二元运算符+、-、*、/、%赋值运算符=扩展运算符+=、-=、*=、/=关系运算符>、<、=、>=、<=、==、!=、instanceof逻辑运算符&&、位......
  • 如何在 JavaScript 中使用大于和小于运算符
    在你的JavaScript程序中,你经常需要比较两个值,以确定一个是否大于另一个或小于另一个。这就是大于和小于运算符派上用场的地方。在本文中,我们将通过代码示例更详细地介绍如何使用这些运算符。(本文内容参考:java567.com)如何在JavaScript中使用大于运算符>你可以使用大于运算......
  • C++类型转换
    C++类型转换静态转换:​ 用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换//指针voidtest02(){ Father*f=NULL; Son*s=NULL; //向下转换不安全 Son*s1=static_cast<Son*>(f); //向上转换安全 Father*f1=static_cast<Father*>(s); //没有继......
  • 运算符总结
    publicclass基本运算符{publicstaticvoidmain(String[]args){//算术运算符//二元运算符inta=10;intb=20;intc=25;intd=25;System.out.println(a+b);System.out.println(a-b);......
  • JavaSE的第三步 —— 变量
    一、变量什么是变量:参考停车场,变量本质上来说就是一个固定的空间,就类似于车位变量名则是可以看作是车位上编写的号码牌,而你所存储的数据就是车①、变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。②、可通过变量名来访问“对应的存储......
  • JavaSE的第二步 —— 注释、标识符、关键字
    一、注释每个人的编写代码的的习惯和理解都不一样,那么每一个需要完成的代码需求在个人写出来之后都是不一样的很多时候,我今天写的东西在未来的某天看来有较大的概率是不认识的,这与代码的复杂度有关。在Java中提供了注释这一功能,帮助我们对自己所编写代码进行标注,便于代码的维护......