java编程赋值运算符_(24)赋值运算符
Java编程那些事儿24—赋值运算符
郑州游戏学院 陈跃峰
4.4 赋值运算符
赋值运算符是指为变量或常量指定数值的符号。最基本的赋值运算符是“=”。
由于Java语言是强类型的语言,所以赋值时要求类型必须匹配,如果类型不匹配时需要能自动转换为对应的类型,否则将报语法错误。示例代码:
byte b = 12; //类型匹配,直接赋值
int n = 10; //类型匹配,直接赋值
double d = 100; //类型不匹配,系统首先自动将100转换成100.0,然后赋值
char c = -100; //类型不匹配,无法自动转换,语法错误
需要强调的是,只能为变量和常量赋值,不能为运算式赋值,例如:
int a = 10;
int b = 2;
a + b = 100; //不能为运算式a + b赋值,语法错误
常量只能赋值一次,否则也将出现语法错误,例如:
final int N = 10;
N = 20; //常量只能赋值一次,语法错误
在基本的赋值运算符基础上,可以组合算术运算符,以及后续将学习的位运算符,从而组成复合赋值运算符。赋值运算符和算术运算符组成的复合赋值运算符如下表4-4所示。
表4-4 复合赋值运算符
符号 名称 功能说明
+= 加等 把变量加上右侧的值然后再赋值给自身
-= 减等 把变量减去右侧的值然后再赋值给自身
*= 乘等 把变量乘以右侧的值然后再赋值给自身
/= 除等 把变量除以右侧的值然后再赋值给自身
%= 取余等 把变量和右侧的值取余然后再赋值给自身
实际使用示例:
int n = 2;
n += 3;
说明:计算以前n的值是2,也就是把n + 3的值,也就是5再赋值给n,经过运算以后n的值为5,因为该代码只执行一次,所以不会导致循环。
依次类推,其它的复合赋值运算符也是这样:
int n = 10;
n -= 2; //则n的值是8
n *= 3; //因为n的初值是8,则n运算后的结果是24
n /= 5; //因为n的初值是24,则n运算后的值是4
注意:复合赋值运算不会改变结果的类型,所以在有些时候运算在逻辑上会出现错误,但是符合计算中数值的表述。例如:
byte b = 127;
b += 1;
System.out.println(b);
根据前面的介绍,byte类型的取值区间是-128~127,由于复合赋值运算符不改变结果的类型,则导致结果是-128,而不是128。原因如下:
1. byte类型值127的机器数是01111111,0表示正数,后续的数值表示127
2. 该数值加1后,得到的数值是10000000,二进制加法
3. 而10000000在byte类型中恰好是-128的机器数表示形式
其它类型的符合运算符也可能存在类似的情况,使用时需要注意。
java编程赋值运算符_(24)赋值运算符相关推荐
- Java编程题_面向对象和常用API01_B级
Java编程题_面向对象和常用API01_B级 第1题 面向对象.异常.集合.IO 题干: 请编写程序,完成键盘录入学生信息,并计算总分将学生信息与总分一同写入文本文件 需求:键盘录入3个学生信息(姓 ...
- java基础案例教程第二章_第2章Java编程基础_补充案例教程.doc
第2章Java编程基础_补充案例教程 博学谷--让IT教学更简单,让IT学习更有效博学谷--让IT教学更简单,让IT学习更有效 PAGE \* MERGEFORMAT34PAGE \* MERGEFO ...
- java 编程题_最新JAVA编程题全集(50题及答案)92862
<最新JAVA编程题全集(50题及答案)92862>由会员分享,可在线阅读,更多相关<最新JAVA编程题全集(50题及答案)92862(32页珍藏版)>请在人人文库网上搜索. ...
- java编程学习方法_在线学习Java编程的最佳方法
java编程学习方法 1.简介 Java是使用最广泛的编程语言之一. 根据Github的最新报告 ,Java被列为仅次于JavaScript的第二大最常用的编程语言. 掌握Java的人有很多话题. 好 ...
- java编程概念_使用漫画设计教编程概念
java编程概念 Computing literacy has become an important skill for students today. However, programming r ...
- java 编程技巧_一些实用的 Java 编程技巧
任何事情有可能出错,没错,的确如此. 这就是为什么我们要采用"防御性编程",即一些偏执习惯的原因.下面是我个人认为的 10 个最有用但偏执的 Java 编程技术.一起来看一看吧: ...
- pta中java编程题_多文件编程题
多文件编程题与函数题相似,区别是裁判编写的判题程序可能涉及多个文件,因此不是写在题干里,而是以附件的形式供学生下载,方便学生调试.学生须按照题干上给出的要求编写程序,完成指定功能.学生的提交也可能包含 ...
- java 编程联系_《JAVA程序设计》结对编程联系_四则运算(第二周:整体性总结)...
#结对对象与其博客链接 20175312陶光远:https://www.cnblogs.com/20175312-tgy/p/10697238.html #需求分析 (一)功能需求 1.自动生成题目( ...
- java编程实例_几个java编程的典型例子
1.模拟酒店房间管理系统,需要如下几个功能: 1.1 in 房间号 客人名字 入住功能 1.2 out 房间号 退房功能 1.3 search 房间号 查询房间状态 如果房间号为-1 则输出所有房间状 ...
- 达内java编程 学费_东莞达内Java开发课程学费多少
众所周知,从编程语言列表开始学习Java是非常困难的.除了科学地选择一种适合自己的编程语言之外,还有入门的方法吗?下面就来说说入门学习java的方法. 学习语言基础 显然,掌握语言基础是步.如果你不知 ...
最新文章
- MVC 之 架构的基本原理及Asp.Net实现MVC
- R语言学习笔记之——数据处理神器data.table
- DL之CNN:卷积神经网络算法简介之原理简介(步幅/填充/特征图)、七大层级结构(动态图详解卷积/池化+方块法理解卷积运算)、CNN各层作用及其可视化等之详细攻略
- linux系统解决boot空间不足
- eclipse CTRL+F Find/Replace使用正则表达式
- loj10200. 「一本通 6.2 练习 3」Goldbach's Conjecture
- Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目
- html和php文件怎么连接,html页面跟php文件连接的方法
- 最近谷歌苹果亚马逊扎堆收购的公司,会不会下一个就是你?
- !heap 和 _HEAP_ENTRY
- 【已解决】瞎设置代理服务器后IE浏览器上不了网
- 测度、线性赋范空间、内积空间
- 动物识别系统c语言编程,人工智能期末论文-简单动物识别系统的知识表示.doc
- python百分比堆积条形图_绘制比例数据python(堆积条形图)
- 北漂7年,我最终还是回了老家。。。
- python面向对象试题_python面向对象程序设计-中国大学mooc-试题题目及答案
- 1.用户界面原理和界面库编程模型
- Swoole的基本使用
- SAP MTO案例教程AP应付会计前台操作
- Android应用开发之FrameLayout(帧布局)
热门文章
- python的心得体会200字_python_学习心得
- mysql 6.2使用_2. MYSQL基本使用(2)
- python编程单词排序_Python读取英文文件并记录每个单词出现次数后降序输出示例...
- 百度一款前端图片合成工具库MI开源啦!
- mysql aa复制_MySQL主从复制实现
- 国产linux 中标麒麟安装.net core sdk
- Oracle索引知识学习笔记
- LeetCode 202 -- python 计算 happy number
- 第三模块:面向对象(目录)
- cogs 1656. 膜拜神犇