引用类型、全局变量、局部变量、引用类型传值、串池
- Java语言中除8种基本数据类型以外的数据类型称为引用类型
- 引用类型数据以对象的形式存在
- 引用类型变量的值是某个对象的句柄,而不是对象本身
- 声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象
每new一个对象,系统就会为对象开辟一个堆内存空间。
变量,每一个变量都有类型
成员变量
|
byte |
0 |
short |
0 |
|
int |
0 |
long |
0L |
|
float |
0.0f |
double |
0.0d |
|
char |
‘\u0000’ |
boolean |
false |
|
object ref(String) |
null |
|
|
局部变量
package com.softeem.test2;
import com.softeem.test.Student;//引用包
import java.util.ArrayList;//引用包
public class Test1 {
//全局变量or成员变量
//***全局变量
public int age;
public String name;
public char sex;
public boolean b;
public float salary;
public Student stu;//引用类型
public ArrayList al;//引用类型
public int []i;//数组也是引用类型
//引用类型的默认值都是:null
//在类中定义的属性叫做全局变量,他是与整个类关联(也就是说在类中的方法
//可以调用或使用该变量)但是,main方法不能直接调用成员变量(static)
//无参构造方法
public Test1(){
System.out.println(age);
System.out.println(name);
System.out.println(sex);
System.out.println(b);
System.out.println(salary);
System.out.println(stu);
System.out.println(al);
System.out.println(i);
}
public void method(){
//***局部变量
int age=21;
String name="科赫";
char sex='女';
long lo=1000;
System.out.println(age);
System.out.println(name);
System.out.println(sex);
System.out.println(lo);
}
//局部变量不可以加修饰符(public\private等)
//局部变量声明完成后,必须要进行初始化,才能被使用or调用,否则提示错误
//局部变量:作用域只在当前申明的方法内才有效,离开了此方法就调用不到了
public String getName(){
return "我的名字是:"+name;
}
public static void main(String [] args){
Test1 t1=new Test1();
}
}
当对象实例作为参数传递给方法时,这个参数的值是对象的引用,而不是对象身
java中函数调用的参数就是通过传值的方式传递的:
当传递过去的值是基本类型的时候:inta=5---》传递过去的值就是5这个值
当传递过去的值是引用类型时,传递过去的也是这个引用地址,也是这个地址的值
//形参的改变永远不会影响实参
Java中传值是传拷贝,两者互不影响
串池
1.串池里面存放的字符串不重复 ; 2.不回收垃圾。
Java中一个对象内部不能包含另一个对象
对象:有明确的事物范围。
关系和布尔运算符
Java使用==号来判断两个值是否相等,而用!=来判断是否不等,用>、<来判断大于、小于而用>=、<=来判断大于等于小于等于
逻辑运算符功能
!-- 逻辑非 & -- 逻辑与 | -- 逻辑或
^ -- 逻辑异或 &&-- 短路与 || -- 短路或
运算符
分割符:,,;,[],()
算术运算符: +,―,*,/,%,++,――
关系运算符: >,<,>=,<=,==,!=
布尔逻辑运算符: ~,& , | , ^ , &&,||
位运算符: &,|,^,~ , >>,<<,>>>
赋值运算符: = 扩展赋值运算符:+=,―=,*=,/=
字符串连接运算符: +
造型操作符:()
int a = 10;
System.out.print(a++); //10
System.out.print(a); //11
System.out.print(a--); //11
System.out.print(a); //10
System.out.print(++a); //11
System.out.print(a); //11
System.out.print(--a); //10
System.out.print(a); //10

浙公网安备 33010602011771号