赋值
符号表
type | value | |
---|---|---|
t | int | 10 |
s | String | 0x1618 |
-
变量和字面量之间的赋值
-
s = 10
,基本数据类型,赋值s = "tag"
,引用数据类型,赋地址
-
变量和变量之间的赋值
s = t
- 基本数据类型变量,赋
t
的具体值 - 引用数据类型变量,赋
t
指向的引用的地址值
- 基本数据类型变量,赋
包装类型
- 包装类型(String)之间的比较都用equals,注意NPE问题
- 基础数据类型与封装类进行 ==、+、-、*、/ 运算时,会将封装类进行拆箱,对基础数据类型进行运算
- 浮点类型数值比较用 BigDecimal 的 compareTo
JAVA值传递
https://zhuanlan.zhihu.com/p/89794950
https://blog.csdn.net/weixin_44640989/article/details/120590881
1、基本数据类型:形参b是fun栈帧的局部变量,初始值为实参a的拷贝10,改变形参值无法影响实参
void fun(int b) {
b = 11;
}
void main() {
int a = 10;
fun(a);
System.out.println(a); // 10
}
2、引用数据类型:
- 形参b是fun栈帧的局部变量,初始值为实参a的引用地址值0x1234拷贝,改变形参值(指向对象地址)无法影响实参
- 形参p是fun栈帧的局部变量,形参p和实参per始终保持相同的值(指向同一个对象地址),形参的操作会影响实参指向对象的内容
void fun(String b, Person p) {
b = 'b'; // 0x5678
p.setName('red');
}
void main() {
String a = 'a'; // 0x1234
Person per = new Person('green');
fun(a, per);
System.out.println(a); // 'a'
System.out.println(per.getName()); // 'red'
}
try-with-resource
任何实现了 java.lang.AutoCloseable的对象, 包括所有实现了 java.io.Closeable 的对象, 都可以用作一个资源
public String readFirstLineFromFile() throws IOException {
try (BufferedReader br = new BufferedReader(new FileReader("a"))) {
return br.readLine();
}
}
标签:10,JAVA,String,形参,数据类型,基础,fun,实参
From: https://www.cnblogs.com/Red-Revolution/p/17277393.html