【Java基础】java变量是什么?

2020-10-16 18:14发布

6条回答
爱学习的小巴
2楼 · 2020-10-16 18:29

在JAVA中我们通过三个元素来描述变量:变量类型,变量名以及变量值。变量,就是可以改变的量。例子:int 表示能存储整数类型的数据类型。 int a;表示你定义了一个存储整数的变量。a就是你的变量名;int a = 10;表示你给这个变量赋的值为10;


Java中变量的使用规则:

1、Java 中的变量需要先声明后使用;

2、变量使用时,可以声明变量的同时进行初始化,也可以先声明后赋值;String love="imooc";或者String love;love="I love imooc";

3、变量中每次只能赋一个值,但可以修改多次;

4、main 方法中定义的变量必须先赋值,然后才能输出;

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等。


aijingda
3楼 · 2020-10-16 18:34

什么是变量,变量是什么

1.1. 什么是变量

在日常生活中,人们会用到大量数据,像去ATM机取款,首先,需要插入银行卡,这个过程其实就是ATM机的系统在获取银行卡号这个数据,而后,输入密码,这个过程也是在获取数据,也就是密码。在后续进行的业务处理中,像存钱、取钱、转帐汇款等等,银行卡号和密码会被反复的、频繁的使用, 那就需要一个存储这些数据的地方。

在软件系统中,是将数据存储在内存之中的,而对内存中的数据的引用就是变量,可以理解为变量就是内存中数据的代词。

简单说, 变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。代码如下所示:

1.int  a = 5;

2.int  b = 6;

3.int  c = a + b;

如上代码中,变量a、b、c指代内存中三块用于存储整数的存储空间,分别用于存储两个整数及这两个整数之和,int意为整数数据类型,后续课程会详细介绍。

对于变量,我们需要关注如下几个方面:

1.变量的声明:用特定语法声明一个变量,让运行环境为其分配空间。

2.变量的命名:需要有个见名知意的名字,而且要符合Java语言规范。

3.变量的初始化:变量声明后,要为其赋一个确定的初值后再使用。

4.变量的访问:可以对变量中的数据进行存取、操作,但必须和其类型匹配。

1.2. 变量的声明

1.2.1. 变量的声明

当需要使用一个变量时,必须对该变量进行声明,变量的声明包含两点:变量名和数据类型,代码如下所示:

int  a

上面的代码中,int为变量的数据类型,a为变量的名称,当声明如上语句时,JVM会为该变量在内存中开辟存储空间,不同的变量类型决定了存储空间的结构(后面详细介绍)。

1.2.2. 未经声明的变量不能使用

Java语言语法规定,变量使用之前必须声明,否则会有编译错误。代码如下所示:

public static void main(String[] args) {

        a = 1;  // 编译错误,变量没有声明

    

        int score = 0;

       scord = 100; // 编译错误

        System.out.println(score);

}

从上面的代码中,可以看到出现了两个编译错误,编译错误即为javac过程出现的错误,主要是由于语法问题导致的。第一个错误,a =1,是因为该变量没有声明。第二个错误,scord=100,是因为前面声明的为score,编译器并未找到scord变量,该错误是因为拼写错误造成的。

1.2.3. 一条语句中声明多个同类型变量

如果多个变量的类型一样,可以在一条语句中声明,中间使用逗号分隔, 代码如下所示:

public static void main(String[] args) {

  

        int a=1, b=2;

   

        int c, d=3;

}

从上面的代码中,可以看到,第一条语句,声明了两个整型变量,分别赋值为1和2,中间使用逗号分隔,最后以;号结尾。第二条语句,声明了两个整型变量,c没有赋初始值,d赋初值为3。


樱田妮妮NiNi
4楼 · 2020-10-17 14:49

在JAVA中我们通过三个元素来描述变量:变量类型,变量名以及变量值。变量,就是可以改变的量。例子:int 表示能存储整数类型的数据类型。 int a;表示你定义了一个存储整数的变量。a就是你的变量名;int a = 10;表示你给这个变量赋的值为10;



我是大脸猫
5楼 · 2020-10-19 09:52

变量就是可以被改变的数据,可大可小可长可短能伸能缩,嘿嘿。
例子:int 表示能存储整数类型的数据类型。 int a;表示你定义了一个存储整数的变量。a就是你的变量名;int a = 10;表示你给这个变量赋的值为10;

深奥点就是,你执行了这段代码,int a = 10; 程序就会在你电脑的内存中,创建一个小空间,这个空间的名字就是a, 这空间里面的内容就是10,这个空间只能存放整数类型的数据。

我的网名不再改
6楼 · 2020-10-19 11:04

变量

什么是变量?变量就是初中数学的代数的概念,例如一个简单的方程,x和y都是变量:
y = x+1
在Java中,变量分为两种:基本类型的变量和引用类型的变量。
我们先看看基本类型变量。
在Java中,变量必须先定义后使用,在定义变量的时候,可以给他一个初始值。例如:

int x=1;

上述语句定义了一个整型int类型的变量,名称为x,初始值为1
如果不写初始值,那么x值取默认值。整型int的默认值总是0。

变量的一个重要特点是可以重新赋值。例如,对变量x ,先赋值为100,再赋值200,观察以下代码:

public class Main {
    public static void main(String[] args) {
        int x = 100; // 定义int类型变量x,并赋予初始值100
        System.out.println(x); // 打印x变量的值。结果为100
        x = 200; // 重新赋值为200
        System.out.println(x); // 打印x变量的值,结果为200
    }}12345678

我们可以看到,第一次定义变量x的时候,需要指定变量类型int,因此使用语句int x = 100;,而第二次给x重新赋值时,使用语句为x = 200,这是因为x已经存在了,不能重新定义,不能指定变量类型int

变量不但可以重新赋值,还可以赋值给其他变量。让我们来看一个例子:

public class Main {
    public static void main(String[] args) {
        int n = 100; // 定义变量n,同时赋值为100
        System.out.println("n = " + n); // 打印n的值,结果为100

        n = 200; // 变量n赋值为200
        System.out.println("n = " + n); // 打印n的值,结果为200

        int x = n; // 变量x赋值为n(n的值为200,因此赋值后x的值也是200)
        System.out.println("x = " + x); // 打印x的值,结果为100

        x = x + 100; // 变量x赋值为x+100(x的值为200,因此赋值后x的值是200+100=300)
        System.out.println("x = " + x); // 打印x的值,结果为300
        System.out.println("n = " + n); // 再次打印n的值,结果为200
   }}12345678910111213141516

我们一行一行地分析代码执行流程:
int n = 100;,该语句定义了变量n,同时赋值为100,因此,JVM在内存中为变量n分配一个“存储单元”,填入值100
在这里插入图片描述
执行n = 200;时,JVM把200写入变量n的存储单元,因此,原有的值被覆盖,现在n的值为200
在这里插入图片描述
执行int x = n;时,定义了一个新的变量x,同时对x赋值,因此,JVM需要新分配一个存储单元给变量x,并写入和变量n一样的值,结果是变量x的值也变为200
在这里插入图片描述
执行x = x + 100;时,JVM首先计算等式右边的值x + 100,结果为300(因为此刻x的值为200),然后,将结果300写入x的存储单元,因此,变量x最终的值变为300
在这里插入图片描述
可见,变量可以反复赋值。注意,等号=是赋值语句,不是数学意义上的相等,否则无法解释x = x + 100

基本数据类型

基本数据类型是CPU可以直接运算的类型。Java定义了一下几种基本数据类型:

  • 整数类型:byte,short,int,long

  • 浮点数类型:float,double

  • 字符类型:char

  • 布尔类型:boolean


变量是程序运行过程中它的值是允许改变的量

相关问题推荐

  • 回答 156

    对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后动手去实践。当我们在去...

  • 回答 93

    2个都很好就业,更关键的是要学得到东西

  • 回答 12
    已采纳

    获取Map集合中所有的key可以通过map集合的keySet()方法获取例如:    Map map = new HashMap();    map.put(xx,xx); //存放数据    //.... 省略    Set set = map.keySet();    //可以通过迭代器进行测试    Iterator iter = set.iter...

  • 回答 56
    已采纳

    不同年龄,不同掌握程度,学历,找工作城市,面试能力这是一个多方面影响的结果,如果是平均值的话,全国平均薪资14k左右

  • 回答 38

    具体学多久,根据自己的学习力,自律性、解决问题能力来决定若系统性学习,跟着讲师的节奏走,大概半年左右,有专业的讲师把课程进行规划,尽心系统学习,有问题,讲师会帮忙解决,学习的效率很高,避免了自学中出现各种问题解决不了,而耽误很多时间,可能会...

  • BIO与NIO、AIO的区别2020-05-19 15:59
    回答 4
    已采纳

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要...

  • 回答 23
    已采纳

    (1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...

  • Java方法的命名规则2021-04-06 19:07
    回答 31

    ava是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成,例如com、xuetang9、compan...

  • 回答 2

    public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    } ...

  • 回答 6

    经典版单例模式public class Singleton {        private static Singleton uniqueInstance;//利用一个静态常量来记录singleton类的唯一实例。     private Singleton() {     }     public static  Singleton getInstance()...

  • 回答 3

    哈希表的长度一般是定长的,在存储数据之前我们应该知道我们存储的数据规模是多大,应该尽可能地避免频繁地让哈希表扩容。但是如果设计的太大,那么就会浪费空间,因为我们跟不用不到那么大的空间来存储我们当前的数据规模;如果设计的太小,那么就会很容易发...

  • 回答 14

    1. DOM(Document Object Model)        DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才...

  • 回答 19

    1)作用不同: throw用于程序员自行产生并抛出异常; throws用于声明在该方法内抛出了异常2) 使用的位置不同: throw位于方法体内部,可以作为单独语句使用; throws必须跟在方法参数列表的后面,不能单独使用。3)内容不同: throw抛出一个异常对象,且只能是...

  • 回答 11

    基本执行过程如下:1)程序首先执行可能发生异常的try语句块。2)如果try语句没有出现异常则执行完后跳至finally语句块执行;3)如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。4)catch语句块可以有多个,分别捕获不同类型...

  • 回答 20

    100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...

  • 回答 16

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译...

没有解决我的问题,去提问