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( ...
随机推荐
- hdu 1429 胜利大逃亡(续)(bfs+状态压缩)
Problem Description Ignatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)…… 这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带 ...
- Linux环境 Mysql新建用户和数据库并授权
测试环境:linux 和Mysql 5.5.35 一.新建用户 //登录Mysql@>mysql -u root -p@>密码//创建用户mysql> insert into mys ...
- python学习之路-10 网络编程之进阶
本篇介绍内容 作用域 python类的多继承 IO多路复用 socketserver之源码剖析 多线程和多进程 作用域 if 1 == 1: name = "xxx" print( ...
- 在WebBrowser中执行javascript脚本的几种方法整理(execScript/InvokeScript/NavigateScript) 附完整源码
[实例简介] 涵盖了几种常用的 webBrowser执行javascript的方法,详见示例截图以及代码 [实例截图] [核心代码] execScript方式: 1 2 3 4 5 6 7 8 9 1 ...
- Swiper滑动Html5手机浏览器自适应
手机网页能通过window.screen.height, width获取屏幕分辨率,于是能够通过分辨率比率来计算高度. window.onload=function(){ var swiper = d ...
- sql注入数据库修复方法
1.第一种情况是 需要将指定的 注入字符串全部替换掉(仅替换注入的字符串为空) declare @delStr nvarchar(500) set @delStr='<script src=ht ...
- html5的a标签使用
主要是href和target两个属性 示比例如以下: <a href="" target="_blank">Visit w3school</a ...
- container宽度
bootstrap:宽度太宽时无需改变container的宽度大小,只需:.row{margin-left: 30px;margin-right: 30px;}
- Python3.5入门学习记录-模块
模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了 ...
- 自己对WSO2 ESB 见解
这周没想到要更新什么内容,就把我最近工作接触的WSO2 ESB简单介绍下吧. 前提: 一切文档,知识都要与官方文档为准. WSO2 ESB: http://wso2.com/products/ ...