文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java基础入门篇(五)Java变量类型的转换和运算符

2024-12-03 18:22

关注

 一、变量类型的转换

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

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

 

例如:

  1. double d = 3;        //int自动转换为double类型3.0再赋值。 
  2. 3+1.0;               //表达式的类型为所有操作数的最高类型,即double类型。 

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

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

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

例如:

  1. short s = 5;  //5在short的范围内,允许赋值,5将被看成是short类型的。 
  2. s = s + 2;    //2是int类型,s+2表达式类型为int,赋值给short类型,将发生溢出,报错。 

强制类型具体格式如下:

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

例如: 

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

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

二、运算符

(一)算术运算符

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

  

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

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

例如:

  1. int a=2; //声明一个int类型变量a并赋值为2 
  2. int b=3;//声明一个int类型变量b并赋值为3 
  3. int x=a+b++;//声明一个int类型变量x 
  4. System.out.print("b="+b); 
  5. 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也提供这些运算符,这些运算符称为比较运算符。

 

例如:

  1. System.out.printf("3>2 结果%b%n",3>2); 
  2. System.out.printf("3>=2 结果%b%n",3>=2); 
  3. System.out.printf("3<2 结果%b%n",3<2); 
  4. System.out.printf("3<=2 结果%b%n",3<=2); 
  5. System.out.printf("3==2 结果%b%n",3==2); 
  6. System.out.printf("3!=2 结果%b%n",3!=2); 

输出结果是:

  1. 3>2 结果true 
  2. 3>=2 结果true 
  3. 3<2 结果false 
  4. 3<=2 结果false 
  5. 3==2 结果false 
  6. 3!=2 结果true 

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

(三)逻辑运算符

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

 

例如:

  1. int number=35; 
  2. System.out.println(number>30&&number<40); 
  3. System.out.println(number>40||number<30); 
  4. System.out.println(!(number>40||number<30)); 

输出结果是:

  1. true 
  2. false 
  3. True 

(四)位运算符

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

 

例如:

计算5&3=1 

 

三、总结

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

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

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

 

来源:Java进阶学习交流内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯