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

 

 

 

 

 

参考链接:https://www.cnblogs.com/pla1949/p/7834351.html

posted @ 2021-06-08 13:11  阮真冬  阅读(109)  评论(0)    收藏  举报