1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java赋值运算的类型转换出新的问题_Java中byte short char int long运算时自动类型转化问题...

java赋值运算的类型转换出新的问题_Java中byte short char int long运算时自动类型转化问题...

时间:2021-02-14 01:26:05

相关推荐

java赋值运算的类型转换出新的问题_Java中byte short char int long运算时自动类型转化问题...

--------------------------------------------------------------------------------------------------

★★自动(隐式、默认)类型转换与强制(显式)类型转换★★

1) boolean类型不参与转换

2) 默认转换

A:从小到大

B:byte,short,char --» int --» long --» float --» double

C:byte,short,char之间不相互转换,直接转成int类型参与运算。

3) 强制转换

A:从大到小

B:可能会有精度的损失,一般不建议这样使用。

C:格式:

目标数据类型 变量名 = (目标数据类型) (被转换的数据);

★★表达式的式值★★

int a = 10;

int b = 20;

int c = (a = b); //赋值式本身也是表达式,所以它也有式值!!!

--------------------------------------------------------------------------------------------------

大家都知道,在进行运算时,Java会隐式的自动进行类型转化。那么有哪些情况会进行转化呢?总结如下:

(一)算术运算符

1) 单目运算符:+(取正)、-(取负)、 ++(自增1)、 --(自减1)

a) +(取正)、-(取负)

当操作数是byte,short,char时,会自动转化为int类型;返回结果为int。

当操作数是int,long时,不转化,原来是啥类型,还是啥类型。

b) ++(自增1)、 --(自减1)

不管操作数是啥类型,不转化。

2) 双目运算符:+、 -、 *、 /、 %(取余)

当两个操作数中没有long类型时,两个操作数中非int类型会先自动转换为int类型,再参与运算,返回结果为int;

当两个操作数中含有long类型时,两个操作数中非long类型会自动转换为long类型,再参与运算,返回结果为long;

(二)位运算符

1) &(按位与)、|(按位或)、^(按位异或)

当两个操作数中没有long类型时,两个操作数中非int类型会先自动转换为int类型,再参与运算,返回结果为int;

当两个操作数中含有long类型时,两个操作数中非long类型会自动转换为long类型,再参与运算,返回结果为long;

2) ~(按位非)

当操作数是byte,short,char时,会自动转化为int类型;返回结果为int。

当操作数是int,long时,不转化,原来是啥类型,还是啥类型。

3) << (带符号左移)、 >>(带符号右移)、 >>> (无符号右移)

当操作数是byte,short,char时,会自动转化为int类型;返回结果为int。

当操作数是int,long时,不转化,原来是啥类型,还是啥类型。

(三)赋值运算符

1) 基本赋值运算符:=

a) 变量 = 变量:小赋大,自动转;大赋小,不自动转换;

b) 变量 = 常量:不自动类型转换

2) 扩展赋值运算符:+=、-=、*=、/=、%=

这里需要特别说明一下,扩展赋值运算符隐含了强制类型转换,即: ※※s += 1 等价于 s = (s的数据类型)(s + 1)※※

★★总结★★

※除了自增和自减不进行转化外,其它情况都是无long型时,所有非int类型转成int类型;有long类型时,都转成long类型(简称:运算中无long,int称大王。。。)※

【转】java中byte数组与int类型的转换(两种方式)----不错

原文网址:/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

java乱码详解(java中byte与char的转换)

转自:/%C6%F3%D2%B5%BC%D2%D4%B0/blog/item/825a4858d6248e8b810a181a.html java byte与 ...

Java中基本数据类型byte&comma;short&comma;char&comma;int&comma;long&comma;float&comma;double 取值范围

部分内容转自:java 彻底理解 byte char short int float long double 首先说byte: 这段是摘自jdk中 Byte.java中的源代码: /** * A co ...

&lbrack;转载&rsqb; java中byte数组与int,long,short间的转换

文章转载自/leetcworks/article/details/7390731 package com.util; /** * *

* ...

java中byte数组与int,long,short间的转换

/leetcworks/article/details/7390731 package com.util; /** * *

*

Java 中byte 与 char 的相互转换 Java基础 但是很重要

char转化为byte: public static byte[] charToByte(char c) {byte[] b = new byte[2];b[0] = ...

java中byte数组与int类型的转换(两种方式)

/z69183787/article/details/38564219 /z69183787/article/detai ...

Java 中 byte、byte 数组和 int、long 之间的转换

Java中 byte 和 int 之间的转换源码: //byte与int的相互转换 publicstaticbyteintToByte(intx){ return(byte)x; ...

java中String和char的区别

首先来看一下Java的数据类型.Java 包括两种数据类型: 1.原始数据类型(primitive data type):byte,short, char, int, long,float,doubl ...

随机推荐

ajax 后台正常执行 错误类型却是404

后台执行importExcel,明明方法执行成功,但是前台却提示404 @RequestMapping("/import") public Json importExcel(@Re ...

Windows下查看JDK是否安装以及安装路径

查看JDK是否已经安装,可以在cmd窗口里输入java -version,如果没有提示出错,就表示已经安装. 查看JDK的安装路径,可以输入java -verbose,会返回很多信息,其中就包含了JD ...

centos 安装atop&amp&semi; htop工具

首先安装rpmforge Install RPM for CentOS 5.x 32-BIT wget /rpmforge-release/rpm ...

C&num;&lowbar;数组

 数组是相同数据类型的元素按一定顺序排列的集合,然后用一个变量名进行命名.新建控制台程序,声明一个静态方法 using System; using System.Collections.Gener ...

Sublime text 3 如何格式化HTML代码

使用Sublime text 3 编写代码是一种享受,使用Sublime text 3 格式化HTML代码,需要安装插件,具体安装步骤如下: 1.打开菜单->首选项->插件控制,输入 ...

linux 安装python3

下载python安装包 /ftp/python/3.6.3/Python-3.6.3.tgz (可选则自己想要的版本) 下载好之后上传到linux系统,开始 ...

防XSS攻击解决方法

1.web.xml文件中新增filter配置 XssFilter& ...

UOJ&num;110&period; 【APIO】Bali Sculptures 贪心 动态规划

原文链接/zhouzhendong/p/UOJ110.html 题解 我们发现n=2000 的子任务保证A=1! 分两种情况讨论: $n\leq 100$ ...

C&num; 把ABCD转换成数字

每倒题得选项可能是多选或者单选. public static string LetterTransformationNum(string answer, int type) { string num ...

使用mysqldump备份时为什么要加上 -q 参数(5&period;7默认为on)

使用mysqldump备份时为什么要加上 -q 参数(5.7默认为on) 写在前面:我们在使用mysqldump备份数据时,请一定记住要加上 -q 参数,后果可能是很严重的,不要给自己挖坑哦. 先来看 ...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。