java中i++和++i的区别?

如题所述

1、理论上的区别:

i++表示先引用i变量的数值然后再对i进行加1的操作,而++i是先对i变量进行加1的操作,然后再引用i变量的数值。

2、表达式的形式不同:

一个将++放在变量的前面,一个将++放在变量的后面。

3、运算的优先级不同:

i++中的“++”运算符的优先级比++i中“++”运算符的优先级高。

例如:i=1

执行c=i++,会先将i变量的值1赋值给c,然后c=1,然后i才等于2,执行c=++i,会先将i变量加1变成2,然后赋值给c,c的值为2。

Java中的i++和++i和C语言中的i++和++i是一样的。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java语言的特点:

1、简单性,Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。

2、面向对象,Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。

3、分布性,Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

4、编译和解释性,Java编译程序生成字节码,而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统的系统上运行。

5、稳健性,Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。

可靠性方面最重要的增强之一是Java的存储模型。Java不支持指针,它消除重写存储和讹误数据的可能性。

6、安全性,Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器

7、可移植性,Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。

Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。

参考资料来源:百度百科-Java

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-09
i++

++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i
=i+1
;
++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于:
前缀++,先使用变量,再进行变量自增1
后缀++,先进行变量自增1,再使用变量
如:
示例代码1:
int
i=0;
while(
i++
<
5
)
//先用i的原值与5比较,比较完成后,无论结果是真还是假,都要再进行i=i+1运算
{
system.out.print(
i+
"
");
}
这个循环运行5次,输出
1
2
3
4
5,最后的i值是6
示例代码2:
int
i=0;
while(
++i
<
5
)
//先进行i=i+1运算,然后用i的新值与5比较,判断结果是真还是假
{
system.out.print(
i+
"
");
}
这个循环运行4次,输出
1
2
3
4,最后的i值是5本回答被提问者采纳
第2个回答  2020-03-03
i++

++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i
=i+1
;
++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于:
前缀++,先使用变量,再进行变量自增1
后缀++,先进行变量自增1,再使用变量
如:
示例代码1:
int i=0;
while( i++ < 5 ) //先用i的原值与5比较,比较完成后,无论结果是真还是假,都要再进行i=i+1运算
{
System.out.print( i+ " ");
}
这个循环运行5次,输出 1 2 3 4 5,最后的i值是6
示例代码2:
int i=0;
while( ++i < 5 ) //先进行i=i+1运算,然后用i的新值与5比较,判断结果是真还是假
{
System.out.print( i+ " ");
}
这个循环运行4次,输出 1 2 3 4,最后的i值是5
第3个回答  2020-03-01
//i++和++i是有区别的,
//i++是在一个先使用后加1,即先使用i的值,后让i+1
//++i则是先加1后使用,即先让i+1后再使用i的新值
第4个回答  2020-03-09
看你程序怎么写
i++;
++i;
这样没区别
但是
i
=
0;
k
=
2
+
(++i);
k
=
2
+
(i++);这样就有区别

java++ i和++ i区别在哪?
1、赋值顺序不同 ++ i 是先加后赋值;i ++ 是先赋值后加;++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i = a =b,即 ++i 是一个左值;i++ 的后面一步是自增,不是左值。2、效率不同 比如i=3,b=i++就是说b=3,完成之后让...

java++ i和i++有什么区别?
i++表示先引用i变量的数值然后再对i进行加1的操作,而++i是先对i变量进行加1的操作,然后再引用i变量的数值。2、表达式的形式不同:一个将++放在变量的前面,一个将++放在变量的后面。3、运算的优先级不同:i++中的“++”运算符的优先级比++i中“++”运算符的优先级高。例如:i=1 执行c=i...

i++和++i区别
1、执行顺序不同 i++是后置自增运算符,意味着它会在表达式求值后再将值加1。而++i是前置自增运算符,会在表达式求值前先将值加1。2、表达式的值不同 由于两者的执行顺序不同,它们在表达式中的值也可能不同。如果i的初始值为1,那么i++将返回1,并将i的值增加到2。而++i将返回2,并将i...

i++和++i的区别是什么?
一、操作方式不同 i++称为后置递增,意味着先返回当前值再加一。而++i称为前置递增,是先进行加值操作,然后再返回值。二、结果侧重不同 在表达式中,i++侧重于表达式的值。例如,在一个复杂的计算或公式中,使用i++可以确保使用的是变量i的当前值。而++i则侧重于变量的更新。当需要改变变量的值...

i++和++i的区别
i++和++i的区别:1、i++ 返回原来的值,++i 返回加1后的值。2、i++ 不能作为左值,而++i可以。3、i++前者是先赋值,然后再自增;++i后者是先自增,后赋值。如果有表达式 a = i++ ;它等价于 a = i;i = i + 1;如果有表达式 a = ++i;它等价于i = i + 1;a = i...

Java里的i++与++i的问题
首先,你前面一句话说的很对,i++是先运算最后加,++i是先加后参与运算。至于for(int i=0;i<20;i++){ };循环中的i++,它是这样递增的:i++是迭代语句,它的执行是有先后顺序的 程序进入for循环后,先执行int i=0;初始化,它只执行一次,然后程序检查i<20;如果i<20那么执行for循环,...

java中i++和++ i有什么区别呢?
1、++i是先改变i的值即加1后再使用i的值;而i++是先使用i的值在改变它的值即加。2、for循环内部仅形式不同:当i++循环和++i循环在for循环内部,虽然形式上明显不同,但输出结果可以一样。如下图所示:for(i++)循环:输出结果:for(++i)循环:输出结果:3、print()输出函数内,不仅...

java中i++和++i的区别?
i++ 和 ++i的基本功能是相同的,都是对变量i进行自增1运算,从功能上讲相当于i =i+1 ;++运算符分为前缀++和后缀++,如i++中的++就是后缀运算符,++i中的就是前缀运算符,两个的区别在于:前缀++,先使用变量,再进行变量自增1 后缀++,先进行变量自增1,再使用变量 如:示例代码1:int ...

java中++ i和i++有什么区别?
++i是使用i之前先使i加一。i++是使用i之后再加一。如果不能理解,那么可以理解为:++i是先计算,再操作,i++是先操作,再计算。JAVA里的自增运算符。其中:++i和i++是谁在前先取谁,但加一优先运算并赋给原值,取的值再参与其他运算。++在后,则是先用原来的值参与运算,遇到一个特殊序列点...

i++和++i的区别
i++和++i的主要区别在于操作方式和返回值的时机不同。详细解释:操作方式:1. i++:这种操作是先使用当前的i值,然后将其增加1。可以理解为先取值后增加。例如,如果i等于5,表达式`j = i++`将首先使用i的当前值5赋给j,然后i增加1变为6。2. ++i:这种操作是先增加i的值,然后使用该增加...

相似回答