Java初级学习(三)Java 基本数据类型

1.变量是什么
变量是可以被改变的数据。如上图,形象的表示在Java中声明一个变量也就是在内存中申请一个空间来存储值。
声明变量的格式为:数据类型 变量 = 值
(1).声明一个变量=变量空间的开辟
(2).变量的数据类型=这个空间要存储什么类型的数据?并且分配的空间只能用来储存该类型数据。
(3).变量名称=这个空间叫什么名字?
(4).变量的值=这个空间的第一次数据是什么?
2.数据类型
分为内置数据类型和引用数据类型
1)内置数据类型
| 数据类型 | 占位 | 范围(二进制) | 默认值 | 示例 | |
| 1 | byte | 8位 | -128~127(2^7-1) | 0 | byte a = 100 |
| 2 | short | 16位 | -32768~32767(2^15-1) | 0 | short s = 1000 |
| 3 | int | 32位 | -2,147,483,648~-2,147,483,647(2^31-1) | 0 | int a = 100000 |
| 4 | long | 64位 | -9,223,372,036,854,775,808~9,223,372,036,854,775,807(2^63 -1) | 0L | long a = 100000L |
| 5 | float | 单精度、32位 | 0.0f | float f1 = 234.5f | |
| 6 | double | 双精度、64位 | 0.0d |
double d1 = 7D double d3 = 8.0 |
|
| 7 | char | 16 位 Unicode 字符 | \u0000~\uffff | 'u0000' |
char letter1 = 'A' char letter2 = '中' |
| 8 | boolean | 一位 | true、false | false |
1 //基本数据类型 2 byte b=122; 3 short s =11155; 4 int i = 55555555; 5 long l = 11111111111L; // long 类型最后要加L 6 float f = 23.4f; // float 类型最后要加f 7 double d = 445.66456; 8 char c1 = 'A'; // char 只能定义为一个字符 9 char c2 = '中'; 10 boolean bl = true;
2)引用数据类型
除了8个基本类型以外剩下的都是引用类型。
(1)类
(2)接口
(3)数组
3)类型转换
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
1 public class Demo02 { 2 public static void main(String[] args){ 3 //int---->byte,高----->低,需要强制转换 4 int i = 128; 5 byte b = (byte)i; //强制转换,这里因为byte最大数为127,会产生内存溢出 6 System.out.println(b); //-128 7 8 float f = 23.7f; 9 int i2 = (int)f; //强制转换,这里因为int为整数,会损失精度 10 System.out.println(i2); //23 11 12 //低---->高,可以自动转换 13 short s = 22222; 14 long l = s; 15 System.out.println(s); 16 } 17 }
注意:
1.不能转换布尔型;
2.高--->低,强制转换,低--->高,自动转换;
3.转换过程中可能导致溢出或损失精度。
3.变量类型
声明变量的格式为:数据类型 变量 = 值
按变量的作用域划分,可分为三类:
1)类变量:又称静态变量。独立于方法之外的变量,用 static 修饰。
2)实例变量:独立于方法之外的变量,不过没有 static 修饰。
3)局部变量:类的方法中的变量。
1 public class Demo03 { 2 //类变量,独立于方法之外,必须用static修饰 3 public static double PI; 4 //实例变量,独立于方法之外,没有static修饰 5 double d=2055; 6 7 public static void main(String[] args){ 8 //局部变量,写在类的方法里面 9 String str = "你好,世界"; 10 System.out.println(PI); 11 } 12 }
1)类变量(静态变量)
(1) . 类变量在类中,方法之外,必须以 static 关键字声明,但一般不单独使用static来声明
(2) . 类变量除了被声明为常量外很少使用,初始化后不可改变,一般声明为public/private,final和static类型,为了对类的使用者可见,一般声明为public
(3) . 默认值由声明的类型决定,变量的值可以在声明的时候指定(final必须在声明时指定),也可以在构造方法中指定,或在静态语句块中初始化。
(4) . 类变量存储在静态存储区,在第一次被访问时创建,程序结束时销毁
(5) . 类变量可以通过 类名.变量名 方式访问
(6) . 当声明为public或final 类型时,一般为大写字母如PI。
1 public static short AA; 2 final static byte BB = 0; //final表最终的,不能被改变和继承,所以定义的常量必须在定义时就赋值,否则报错 3 private static int cc;
类的使用
public class Demo03{ //类变量,独立于方法之外,必须用static修饰 public static double salery=2500; final static int PI1 = 0; public static void main(String[] args){ //类可以直接使用 System.out.println(salery); } }
2)实例变量
(1) . 实例变量在类中,在方法、构造方法和语句块之外,可以声明在使用前和使用后,
(2) . 实例变量应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息
(3) . 默认值由声明的类型决定,变量的值可以在声明的时候指定,也可以在构造方法中指定,或在静态语句块中初始化。
(4) . 类变量存储在静态存储区,在第一次被访问时创建,程序结束时销毁
(5) . 实例变量可以通过变量名访问,但在静态方法以及其他类中,就应该使用完全限定名 ObejectReference.VariableName 方式访问
(6) . 当声明为public或final类型时,一般为大写字母如PI。
(7) . 访问修饰符(defaulit、public、protected、private)可以修饰实例变量
例子:如何使用实例变量
1 public class Demo03{ 2 //实例变量 3 String str1; 4 5 public static void main(String[] args){ 6 //使用实例变量,new Demo03()的意思就是拿到了Demo03这个类,并且用demo03来接收,后面要用str1就是demo03.str1 7 Demo03 demo03 = new Demo03(); 8 System.out.println(demo03.str1); 9 }
例子:实例变量可以声明在使用后
1 public static void main(String[] args){ 2 //使用实例变量,new Demo03()的意思就是拿到了Demo03这个类,并且用demo03来接收,后面要用str1就是demo03.str1 3 Demo03 demo03 = new Demo03(); 4 System.out.println(demo03.str1); 5 } 6 String str1="你好";
3)局部变量
(1) . 局部变量在方法、构造方法或语句块中(也是生命周期),且只在其中可见,在被执行时创建,执行完成后销毁,
(2) . 局部变量没有默认值,所以声明时必须初始化
(3) . 访问修饰符(defaulit、public、protected、private)不能修饰局部变量
4.常量
分为字面常量("1","a","true")和字符常量(使用final修饰的PI等)
1)字面常量类型
整型常量:123
实型常量:3.1415926
字符常量:‘a’
逻辑常量:true false
字符串常量:“helloworld”
2)字符常量
初始化后不再改变,final关键字修饰,用大写字母命名。
final double PI = 3.1415927;
5.变量的命名规范
1)见名知意
2)类成员变量/局部变量/方法名:首字母小写+驼峰原则:monthSalary(月工资)
3)常量:大写字母+下划线:MAX_VALUE
4)类名:首字母大写+驼峰原则:Man、GoodMan

浙公网安备 33010602011771号