java强制转换用法_Java基础入门篇(五)Java变量类型的转换和运算符

10da59bf1d7e225d3777bb5f868c880d.png

一、变量类型的转换

(一)自动类型转换也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地声明。需要满足两个条件:第一是两种数据类型相互兼容,第二是目标类型取值范围要大于源类型。

1.当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转换。

4ccd7a6a6c9926efbec3d85a623f0028.png

例如:

doubled = 3;        //int自动转换为double类型3.0再赋值。

3+1.0;               //表达式的类型为所有操作数的最高类型,即double类型。

2.当把任何基本数据类型的值和字符串值进行连接运算时,基本类型的值将自动类型转换为字符串类型。

(二)强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。当两种数据类型不能相互兼容或目标类型取值范围小于源类型,自动类型转换就不能进行。所以需要强制类型转换。

1.当把一个表数范围大的数值或变量直接赋给另一个表数范围小的变量时,范围将溢出,出现错误。

例如:

short s = 5;  //5在short的范围内,允许赋值,5将被看成是short类型的。

s = s + 2;    //2是int类型,s+2表达式类型为int,赋值给short类型,将发生溢出,报错。

2.强制类型具体格式如下:

目标类型 变量=(目标类型)值

例如:

s = (short)(s+2);//将int类型强制转换成short类型。

需要注意一点就是强制类型转换可能会造成信息丢失。

二、运算符

(一)算术运算符

与算术相关运算符+、-、*、/,就是加减乘除,也被成为四则运算。另外还有一个%称为模数运算符或余数运算符。算术运算符使用上和学过的加减乘除一样,先乘除后加减。

12c1452160c7ade75bb718997b702743.png

算术运算符看起来比较简单和容易理解。在实际使用时还有很多需要注意的问题:

1.在自增++和自减--的运算时,如果是运算符++或--放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减。

例如:

inta=2; //声明一个int类型变量a并赋值为2

intb=3;//声明一个int类型变量b并赋值为3

intx=a+b++;//声明一个int类型变量x

System.out.print("b="+b);

System.out.print("x="+x);

上面代码输出结果是b=4,x=5。具体分析:

首先是定义了3个int类型,其中a=2,b=3,当x进行a+b++运算,因为运算符++写在后面,所以是先进行运算,然后再自增。变量b参与加法运算时值仍然是3,x=5。变量b先进行运算后自增,b的值为4。

(二)比较运算符

数学上有大于,小于,等于的比较运算符,java也提供这些运算符,这些运算符称为比较运算符。

a6b33a57db8e1d9348371b62960edcbe.png

例如:

System.out.printf("3>2 结果%b%n",3>2);

System.out.printf("3>=2 结果%b%n",3>=2);

System.out.printf("3<2 结果%b%n",3<2);

System.out.printf("3<=2 结果%b%n",3<=2);

System.out.printf("3==2 结果%b%n",3==2);

System.out.printf("3!=2 结果%b%n",3!=2);

输出结果是:

3>2 结果true

3>=2 结果true

3<2 结果false

3<=2 结果false

3==2 结果false

3!=2 结果true

比较运算符是对两个数值或变量进行比较,结果是一个布尔值true或false。

(三)逻辑运算符

逻辑运算符用于对布尔型的数据进行操作,结果也是一个布尔值。在逻辑上“且(AND)”、“或(OR)”、“反相(NOT)”,在java也提供这些逻辑运算符,分别是&&(AND)、||(OR)、!(NOT)。

bedfc0db97871c337108bfc8e2fda4cf.png

例如:

intnumber=35;

System.out.println(number>30&&number<40);

System.out.println(number>40||number<30);

System.out.println(!(number>40||number<30));

输出结果是:

true

false

True

(四)位运算符

位运算符是对二进制数的每一位进行运算的符号,它是专门对数字0和1进行操作。

9f6d066bc22caca303fe9b7f372b1223.png

例如:

计算5&3=1

60ac47cbeaf735d0e4b665d343f00957.png

三、总结

本文主要介绍了数据类型的转换分别有自动类型转换和强制类型转换,也介绍了这两种类型转换的用法,需要注意的是强制类型转换可能造成信息的丢失。

运算符包括了算术运算符、比较运算符、逻辑运算符、位运算符。算术运算符是+、-、*、\,还有%模数运算符或余数运算符。详细介绍了自增和自减的用法。比较运算符是对两个数值或变量进行比较,结果是一个布尔值true或false。

逻辑运算符对布尔型的数据进行操作,结果也是一个布尔值。位运算符是对二进制数的每一位进行运算的符号,它是专门对数字0和1进行操作。希望通过本文的学习,能够帮助到你理解数据类型转换和运算符。

【编辑推荐】

【责任编辑:姜华 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值