public class Test{ public static void main(String[] args){ //创建变量的方式 //1.先声明再赋值 //数据类型 变量名 //变量名=值; //例 int a;//int表示整型,占用4个字节 a = 10; //2.声明赋值同时进行 //数据类型 变量名 = 值; //例 int b = 20; //变量的使用 a=a+b;//将a和b的值加起来再赋给a System.out.println(a);//30 } }
成员变量和局部变量
成员变量:变量定义在类的内部,方法的外部。 局部变量:定义在类的方法内部的变量。
1 2 3 4 5 6 7 8 9
public class Test{ //成员变量 int a=10; public static void main(String[] args) { //局部变量 String blog="ljsblog"; } }
区别:
定义位置不同
局部变量:在方法内部
成员变量:在方法的外部,类的内部
作用范围不同
局部变量:只在方法中可用
成员变量:整个类中都可用
成员变量有初始值,局部变量没有
内存位置不同
局部变量:位于栈内存
成员变量:位于堆内存
生命周期不同
局部变量:随着方法进栈而诞生,出栈而消亡
成员变量:随着对象创建而诞生,GC(垃圾收集)回收而消亡
成员变量有访问权限修饰符,局部变量没有,局部变量的权限即所在方法的权限
常量
常量不可以改变的量。
1 2 3
public class Test{ public final int WEEKDAYS=7; }
数据类型
基本数据类型
整数:byte(占用1个字节) short(2) int(4) long(8)
小数:float(4) double(8)
布尔:boolean(1)
字符:char(2)
引用数据类型
数组
类
接口
注:存放long数据时,需在数据后加L或l;存放float数据时,需在数据后加F或f。
数据类型转换
自动类型转换
顺序:byte,short,char->int->long->float->double
强制类型转换
1 2 3 4 5 6 7 8 9 10 11
public class Test{ public static void main(String[] args) { //1.自动类型转换 int a=10; long b=a;//int类型的10,自动变为long型
public class HelloWorld{ public static void main(String[] args){ int a=1; int b=2; int c=3; String word="hello"; System.out.println(word + a + b + c);//hello123 System.out.println(a + word + b + c);//1hello23 System.out.println(a + b + c + word);//6hello System.out.println(word + (a + b + c));//hello6 } }