java中a++与++a区别
java中a++与++a区别
a++与++a的区别,如果单独使用没有任何区别,如果在运算中就有区别了,a++是先运算在赋值,而++a是先赋值在运算!!
先看a++的代码哦
class demo1
{
public static void main(String[] args)
{
int a=20;
int b=19;
/*
先运算在赋值;
1. b先和a作比较,b比a小为假,所以a还是20;
2. b在自增加1,所以b为20;
3. 因为三元判断为假,所以c等于自增后的b加a为40; */
int c= b++>=a ? a++:a+b;
System.out.println(a);//结果是:
System.out.println(b);//结果是:
System.out.println(c);//结果是:
}
}
上面的代码中的b就是指a++中的a哦
b++先运算在赋值;
1. b先和a作比较,b比a小为假,所以a还是20;
2. b在自增加1,所以b为20;
3. 因为三元判断为假,所以c等于自增后的b加a为40;
下面是++a的代码
class demo1
{
public static void main(String[] args)
{
int A=20;
int B=19;
/*
先赋值在运算;
1.B先自增为20;
2.三元运算自增后的B等于A,所以c等于20;
3.因为三元运算为真,所以A自增1为21;
*/
int C= ++B>=A ? A++:A+B;
System.out.println(A);//结果是:21
System.out.println(B);//结果是:20
System.out.println(C);//结果是:20 }
}
同样的,上面的代码中的B就是指++a中的a哦
++B先赋值在运算;
1.B先自增为20;
2.三元运算自增后的B等于A,所以c等于20;
3.因为三元运算为真,所以A自增1为21;
不喜勿喷,毕竟是初学者哦
java中a++与++a区别的更多相关文章
- java中ArrayList 、LinkList区别
转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...
- java 中 ==和equals 的区别
Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolea ...
- java中equals和==的区别 (转)
java中equals和==的区别 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引 ...
- 【转】Java中equals和==的区别
[转]Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boole ...
- c#与java中byte字节的区别及转换方法
原文:c#与java中byte字节的区别及转换方法 在java中 byte的范围在 [-128,127] 在C#中 byte的范围在 [0,255] 所以 java程序与C#程序 进行数据传输的时 ...
- java中==与equel的区别
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地 ...
- Java中的“&”和“&&”的区别
Java中的"&"和"&&"的区别 1."&"是位运算符,"&&"是逻辑 ...
- java中PriorityBlockingQueue 和DelayedWorkQueue 区别
java中PriorityBlockingQueue 和DelayedWorkQueue 区别
- Java-杂项: Java中Array和ArrayList区别
ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...
随机推荐
- string字母排序,
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- MVVM 介绍
我会修改一个关键架构,并将其带入我从那时起就在开发的各种应用,即使用一种叫做 Model-View-ViewModel 的架构替换 Model-View-Controller. 所以,MVVM 到底是 ...
- 关于mybatis插入数据库返回主键id
关于Sequence主键的数据库来说,如: <insert id="add" parameterType="vo.Category"> <se ...
- HTML - Textarea - 空格的问题解决方式
第一种方式: <textarea name="textareaname" rows="XX" cols="XX" ></t ...
- COM口,串行通讯端口,RS-232接口 基础知识
COM口即串行通讯端口. COM口的接口标准规范和总线标准规范是RS-232,有时候也叫做RS-232口.电脑上的com口多为9针,最大速率115200bps.通常用于连接鼠标(串口)及通讯设备(如连 ...
- 【SQL语句】 - Ctrl+3 查询表属性的存储过程 [sp_select_talberowName]
/**-- ============================================= Author: xftCteateDate: 2013-10-11Description:查看表 ...
- Windows Phone 学习教程(一)
http://www.cnblogs.com/webabcd/category/385852.html Windows Phone 7 教程 Windows Phone 8.1 Windows Pho ...
- iBatis2之SqlMap配置总结(18条)
iBatis2之SqlMap配置总结(18条) SqlMap的配置是iBatis中应用的核心.这部分任务占据了iBatis开发的70的工作量. 1.命名空间: <sqlMap names ...
- mssql 判断sql语句的执行效率语句
SET STATISTICS io ONSET STATISTICS time ONgo--========此处为sql代码段=============== select zxbh from t_yr ...
- BaceModel
https://github.com/nicklockwood/BaseModel 字典封装成model 自动封装 要求属性的名字与字典一样 不能有对象 如果其中有需要自己封装的对象属性 重写setW ...