【Java】基础篇-数据类型-变量的定义和使用-Scanner与标识符

简介: 【Java】基础篇-数据类型-变量的定义和使用-Scanner与标识符

😸个人主页👉神兽汤姆猫

📖系列专栏🔥编程语言环境配置JavaJava面试    

💕如果此篇文章对您有帮助的话,请点赞转发收藏这对我有很大的帮助。

数据类型

Java是强类型语言,对于每一种数据给出了明确的数据类型,不同的数据类型分配了不同的内存空间,故它们表示的数据大小也是不一样的。

常用的int(整数默认) longdouble(小数默认) boolean

对于常量而言,虽然我们没有手动的去指定数据类型,但是只要它是数据,即一定会存在数据类型。

例如:System.out.println(888);即是整数类型,默认为int。System.out.println(13.14);即是浮点/小数类型,默认为double

image.gif编辑

变量的定义

数据类型   变量名  =  数据值;

image.gif

public static void main(String[] args) {
        int a = 10;//整数变量。即10赋值给a
        System.out.println(a);
        double b = 77.88;//浮点/小数变量。
        System.out.println(b);
        char c = 'a';//字符类型变量。
        System.out.println(c);
        boolean d = true;//布尔类型变量。
        System.out.println(d);
}

image.gif

Java支持的变量类型:

局部变量 声明在方法、构造方法或者语句块中;
在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
只在声明它的方法、构造方法或者语句块中可见;
是在栈上分配的。
没有默认值,所以局部变量量被声明后,必须经过初始化,才可以使用。

访问修饰符不能用于局部变量;

实例变量 声明在一个类中,但在方法、构造方法和语句块之外;
在对象创建的时候创建,在对象被销毁的时候销毁;
其值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
可以声明在使用前或者使用后;
对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。

当一个对象被实例化之后,每个实例变量的值就跟着确定;

访问修饰符可以修饰实例变量;

类变量(静态变量) 类变量也称为静态变量,在类中以static关键字声明,但必须在方法构造方法和语句块之外。
储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。
除了被声明为常量外很少使用。常量是指声明为publc/private,final和static类型的变量。常量初始化后不可改变。
在程序开始时创建,在程序结束时销毁。
与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。
无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
被声明为public static final类型时,类变量名称必须使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。
可以通过:ClassName.VariableName的方式访问。

变量的使用

根据标识,即变量名进行使用

image.gif编辑

变量即内存中的空间,内部存储着不断发生变化的数据

变量的注意事项:

    1. 变量不可以重复定义
    2. 一条语句(Java当中使用;分号作为一条语句的结束)可以定义多个变量,但需要使用,逗号进行分割。即:int a = 10 , b = 20 , c = 30;
    3. 变量在使用之前一定要进行赋值,如int a;未赋值,即是错误的,报错未初始行变量。
    4. 定义float和long变量的注意事项,定义float类型变量时,需要在数值后加入F的标识,F可以大写也可小写。定义long变量时,需要在数值后加入L的标识,L可以大写也可以小写,但是建议使用大写L。
    5. 变量的作用域范围,只要它所在的{ }大括号中有效,即int a =10;只在{ int a =10;//当这个大括号中的代码执行完毕后,内部所【定义】}中有效。

    键盘录入Scanner

    //步骤一:导包,import java.util.Scanner
    import java.util.Scanner;
    public class Demo {
        public static void main(String[] args) {
            //步骤二:创建对象,注意只有scanner可以改变,也就是变量名,其他则属于固定格式
            Scanner scanner = new Scanner(System.in);
            //步骤三:使用变量接收数据,注意,只有变量名i可以改变,其他则属于固定格式。
            int i = scanner.nextInt();
        }
    }

    image.gif

    标识符

    给类,方法,变量等起名字的符号。一切自己起的名字就是标识符,只是个称呼而已。比如你的猫猫名字叫神兽,那么神兽就是一个标识符。

    标识符应符合遵循以下规则:

      1. 数字、字母、下划线_、美元符$组成
      2. 不能以数字开头
      3. 不能是关键字
      4. 区分大小写

      我们还有个默认遵循以下约定,提高代码的可阅读性。

        1. 小驼峰命名法约定:(一般用于方法、变量)
          1. 标识符是一个单词时,首字母小写,例如:name
          2. 标识符是多个单词组成时,第一个首字母小写,其他单词首字母大写,例如:className
            1. 大驼峰命名法约定:(一般用于类名)
              1. 标识符是一个单词时,首字母大写,例如:Student
              2. 标识符是多个单词组成时,每个单词首字母都大写,例如:GoodStudent

                💕如果此篇文章对您有帮助的话,请点赞转发收藏这对我有很大的帮助。

                相关文章
                |
                6天前
                |
                Java 编译器
                Java重复定义变量详解
                这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
                Java重复定义变量详解
                |
                2天前
                |
                存储 缓存 Java
                大厂面试必看!Java基本数据类型和包装类的那些坑
                本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
                15 4
                |
                14天前
                |
                Java
                通过Java代码解释成员变量(实例变量)和局部变量的区别
                本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
                |
                15天前
                |
                存储 Java 关系型数据库
                [Java]“不同族”基本数据类型间只能“强转”吗?
                本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
                30 0
                [Java]“不同族”基本数据类型间只能“强转”吗?
                |
                22天前
                |
                存储 Java
                从菜鸟到大神:Java标识符命名的“蜕变”之路!
                【10月更文挑战第13天】从菜鸟到大神:Java标识符命名的“蜕变”之路!本文从初识标识符命名、命名规范的重要性、命名最佳实践三个方面,详细探讨了如何通过合理的命名提升代码的清晰度、可读性和可维护性,帮助你在编程之路上不断成长。
                33 2
                |
                25天前
                |
                Oracle Java 关系型数据库
                重新定义 Java 对象相等性
                本文探讨了Java中的对象相等性问题,包括自反性、对称性、传递性和一致性等原则,并通过LaptopCharger类的例子展示了引用相等与内容相等的区别。文章还介绍了如何通过重写`equals`方法和使用`Comparator`接口来实现更复杂的相等度量,以满足特定的业务需求。
                17 3
                |
                11天前
                |
                存储 Java
                在Java编程的世界里,标识符命名是一项基础且至关重要的技能
                在Java编程的世界里,标识符命名是一项基础且至关重要的技能
                9 0
                |
                14天前
                |
                存储 Java 编译器
                [Java]基本数据类型与引用类型赋值的底层分析
                本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
                17 0
                |
                26天前
                |
                Java 编译器 C++
                【编程基础知识】Java基本数据类型
                Java的基本类型包括五类九种,涵盖了整型、浮点型、字符型、布尔型和void。成员变量即使未初始化也有默认值,但局部变量必须显式初始化,否则编译会报错。示例代码展示了各种基本类型的默认值和极限值。
                31 0
                |
                30天前
                |
                Java
                JAVA易错点详解(数据类型转换、字符串与运算符)
                JAVA易错点详解(数据类型转换、字符串与运算符)
                44 4