首页 > 编程语言 >Java-day01

Java-day01

时间:2024-03-22 21:22:06浏览次数:43  
标签:short Java 运算 int day01 运算符 byte

类型隐式转换

byte、short、char类型数据在运算时(+、-、*、/、%...)会进行隐式转换成int。例如:

byte a  = 3;
byte b = 4;
byte c = a+b;

错误,a+b在运算时会转换为int型,将int型赋值为byte型,大转小,需要强制转换,(byte)(a+b)

short s = 1;
s = s+1;

错误,s+1在运算是会转换为int型,同上

Java存在常量优化机制

byte c = 3 + 4;

按照上述的类型隐式转换,3+4结果应该为int型,大转小,应该错误,但是由于Java存在常量优化机制。在编译的时候,3+4会进行运算,导致字节码文件中为byte c = 7;,因而不会报错。

扩展赋值运算符(+=、-=、*=、/=、%=)在运算时自带强制转换

short s = 1;
s += 1;

正确,s = s+1;是错误的。上述底层是s = (short)(s+1);故正确。

运算符

异或运算符(^)

相同为false,不同为true。

短路与(&&)和短路或(||)

短路与&&:左边为false,右边不执行,直接结果为false。

短路或||:左边为true,右边不执行,直接结果为true。

比起&、|运算符,更加高效,因而更加常用。

运算符的优先级

&&优先级大于||,但实际开发中不用特意记忆,只要用()来提升优先级就好了。

标签:short,Java,运算,int,day01,运算符,byte
From: https://www.cnblogs.com/aimengxi/p/18090444

相关文章

  • JavaWeb学习笔记——第一天
    Web开发什么是WebWeb:全球广域网,也称为万维网(wwwWorldWideWeb),能够通过浏览器访问的网站。Web网站的工作流程用户通过浏览器访问Web网站服务端的程序分为三部分:运行前端程序的前端服务器、运行Java后端程序的后端服务器和数据库服务器。用户通过浏览器对网站发起请求后,......
  • Java中的synchronized关键字是如何工作的?
    在Java中,synchronized关键字是一种内置的同步机制,用于控制多个线程对共享资源的访问,以防止出现数据不一致和竞态条件。当一个线程进入一个synchronized块或方法时,它需要获取一个锁(也称为监视器锁或互斥锁),如果锁已经被其他线程持有,则该线程将被阻塞,直到锁被释放。以下是sync......
  • .lastUpdated:The POM for mysql:mysql-connector-java:jar:8.1.0 is missing, no depe
    描述:在IDEA中,出现该类报错,查看本地仓库中项目对应的jar包存在,却无法获取时,可能是文件中生成.lastUpdated文件或有remote.repositories文件导致的。.lastUpdated:在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id......
  • 房屋租赁系统(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍随着城市化进程的加快和人口流动性增大,房屋租赁市场日益繁荣,对租赁信息的管理提出了更高要求。一个高效的房屋租赁系统能够为房东和租户提供一个便捷的信息发布......
  • Java编程经典例题|水仙花数
     一、题目描述水仙花数(NarcissisticNumber)也被称为阿姆斯特朗数(ArmstrongNumber),它是一个n位数,其各位数字的n次方之和等于该数本身。例如,对于三位数的水仙花数,其定义是:一个三位数,它的每个位上的数字的3次幂之和等于它本身。例如,153是一个水仙花数,因为1^3+5^3+3^3=153......
  • Java基础面试题(一)
    1.解释下什么是面向对象?面向对象和面向过程的区别?面向对象(Object-Oriented,简称OO)是一种程序设计范式或编程范式,也是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装在对象中,以提高软件的可重用性、灵活性和扩展性。在面向对象编程中,有以下几个核心概念:......
  • Java基础面试题(四)
    1.深克隆和浅克隆的区别?深克隆和浅克隆的主要区别在于它们处理对象中的引用类型字段的方式不同,这导致它们在复制对象时的行为有所不同。浅克隆(ShallowClone)在复制对象时,对于非基本类型(即引用类型)的属性,只复制其引用地址,而不复制引用的对象本身。这意味着,原始对象和克隆......
  • [项目] Java + Servlet + MySql + BootStrap4 一个简单的购书网(网上书城)项目 (附源码)
    ......
  • Java之集合
    一.List        存取有序,可以存储重复的元素,可以用下标进行元素的操作1.ArrayList        在Java数组中,长度是固定的,因此在数组被创建后,不能修改长度,这意味着开发者需要实现知道数组的长度。但在一般情况下,只有在运行时才知道数组长度。为了解决这个问题,Ar......
  • 关于javaScript的计算精度的解决办法
    项目中我们常常需要做一些计算,由于浮点数的二进制表示可能不精确,经常会遇到计算精度问题,例letresultNum=0.1+0.2;console.log(resultNum);//0.30000000000000004这个时候,如果我们不单独处理,那么页面上展示的时候就出现布局错乱等问题,比如我们可以保留两位小数采用Number(r......