Java入门之定义变量和变量赋值的区别

作为一名java小白,跟大家分享下我的问题。今天说两个问题;
第一个:定义变量和变量赋值
代码1:

           int a=100;
           int b=100;  
           int b=a+10;

代码2:

              int a=100;
              int b=100;
                  b=a+10;
        

这两段代码看着没什么区别,大多数初学者以为输出结果也都会相同;实际上,代码1在编译时就会报错,而代码2,可以正常执行,这是为什么呢?
其实代码1第三行表示的是定义变量b,而不是将a+10的结果赋值给b,因此在编译时,会告诉你已定义过变量b了;而代码2才是真正的赋值操作;
第二个:+的用法,||和|的区别

代码3:
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
	x =7;
}
System.out.println("x="+x+",y="+y);

代码4:
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
	x =7;
}	
System.out.println("x="+x+",y="+y);

首先看下代码3和代码4的输出结果:
x=7,y=2 x=7,y=1

其次,就输出形式,在+两端(一端或两端)出现字符串,+表示一个拼接符。第一个+左端端出现字符串“x=”,因此输出结果x=,而+右端出现x,表示变量x的值,因此输出x=7,以此类推;
最后,结果中,y的值在代码3和代码4中输出结果不同;这是由于||和|的用法不同。||和|在执行结果上无区别,但在执行效率上有区别,当||左端为真时,右端不需要执行,因此y的值没有增加;而|要计算两端的值,因此y增加了;

你可能感兴趣的:(Java)