凌志培训java日志2019年7月13日

本文围绕Java展开,介绍了++自增、--自减运算符,解释了i++表达式返回值为自增前结果,以及其在内存中的变化。还阐述了static和final关键字,static使变量和方法为对象共享,可在不实例化时调用;final让变量成常量,方法不可覆盖,类不可被继承。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于java中++自增、–自减的理解

1.程序描述

public static void main(String[] args) {
		int i=0;
		i=i++;
		System.out.println(i);
	}	

问题:按照程序的字面意思来看,控制台输出应该是1,因为i++自增后会变为1.但是。。。
1.1程序结果
1.1程序描述
控制台输出的并不是1,而是0;
解释:
通俗解释:i++本身是一个表达式且有返回值,返回值为i没有自增前的结果。因此i++整体其实还是属于零。
“专业“解释:当我们声明一个变量i时就会在内存中开辟一个空间,且是栈空间。当i++表达式执行后i=1,这个结果又会被复制到一个叫变量空间地址上,此时的栈空间的i会变会0。当system.out.print是拿到的则是栈空间内的i,也是值为0的i;(初学者理解有限,目前只能这样分析让自己便于理解)

关于java中final和static的理解

1.static关键字

声明变量时:

该变量变成所有对象的共享的。
可以在不实例化对象时就调用该变量(一般很少这么做)

声明方法时:
该方法变为所有对象共享的成员
可以在不实例化该类就调用该类中的stati方法

需要主要的是接口不能定义静态方法和静态变量
静态方法只能调用静态的成员
1,1程序演示

public class test9 {
	public static void main(String[] args) {
		
		A.A_1();
		String temp = A.temp;
		System.out.println(temp);
	}	
}

class A{
	public static String temp = "我是静态方法";
	public static void A_1() {
		System.out.println("我是静态方法");
	}
}

2.final关键字

声明变量时
该变量的变为常量,只在内存中开辟一个空间,内容不能更改

声明方法时
该方法不能不可被覆盖,不能指向其他引用。

声明类时
表示该类不能被继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值