这篇文章为你搞懂三个问题

  1. 什么是变量?
  2. 如何使用变量?
  3. 变量命名有哪些规范?

变量

计算机的内存类似于人的大脑,电脑使用内存来存储计算所需要的数据。

内存像旅馆一样,不同的房间类型对应不同的数据类型,内存存储数据时会根据数据的需求为它申请一块合适的空间。用于存储数据的这个空间就是变量。

变量名 内存地址
name 0x5c2a0c3f.. 张三
age 0xcd4d72a... 10

变量名、内存和存储的值如上表↑

可以看到内存地址长而不方便记忆,但是变量名可以像给一个人起外号一样,方便记忆

使用变量的步骤

二狗放学回家后,妈妈给他做好了丰盛的饭菜,二狗吃上这些饭菜需要哪几步呢?

  1. 需要先准备一个碗或者盘子
  2. 将菜或汤装入容器中
  3. 夹菜或者用勺子喝汤

使用变量的步骤就和使用二狗吃饭的步骤是一样的:

  1. 声明变量,根据数据类型在内存中申请空间
  2. 赋值,将数据存储至对应的内存空间
  3. 使用变量,取出数据使用

用下面的代码演示变量的使用过程:

public class DemoVariable{
public static void main(String[] args){
//1.声明变量
int a;
//2.赋值
a=10;
//3.使用变量(打印变量的值到控制台)
System.out.println(a);
}
}

上面的赋值语句看起来很像数学中的等式,但赋值和等号是完全不同的

在编程中等号的作用是将"="右边的值放入左边的变量中,以后都要记住这个规则

也可以将声明变量和赋值同时进行:

public class DemoVariable{
public static void main(String[] args){
//1.声明变量并赋值
int a=10;
//2.使用变量(打印变量的值到控制台)
System.out.println(a);
}
}

总结

  1. 声明变量的语法:

数据类型 变量名;

  1. 变量赋值的语法:

变量名=数值;

  1. 声明变量和变量赋值同时进行的语法:

数据类型 变量名=数值;

变量的命名规则

1.在java中变量名的大写是有严格区分的,像 Javajava 就是两个完全不同的变量

2.允许以下规则的字符做变量名

首字符: 1.字母 2.下划线 3.$符号

其余部分:任意多的 1.数字 2.字母 3.下划线 4.$符号

例如:a _ $_ a1 $a user_name

3.java中的变量名不能和关键字冲突

生活在古代的人民起名就不能随便起,如果和皇帝的名字冲突了可能就要杀头。java编译器就和古代皇帝一样霸道:“不按我的规矩来,哼哼,就等着报错吧”

例如:public static void class 这些关键字及以后咱们要说到的数据类型

4.要避免无意义的变量名

例如:aa bbb z1 haha

试一试

  1. 下面的变量名中哪些是错误的?为什么?

    string String a+b 9variable my name
  2. 在 eclipse 中编写如下代码,能否运行?为什么?
public class Test1 {
public static void main(String[] args) {
String book;
System.out.println(book);
}
}
  1. 在 eclipse 中编写如下代码,能否运行?为什么?
public class Test2 {
public static void main(String[] args) {
int num=20;
int num=15;
}
}

鼓励你在留言中发布自己的答案,与其他人一起交流,并在百度上搜索相关问题

004 java中的变量的更多相关文章

  1. java中打印变量地址

    在java中打印变量的地址 这个代码是在startoverflow上看到的,跟大家分享一下. import sun.misc.Unsafe; import java.lang.reflect.Fiel ...

  2. Java中的变量与变量的作用域

    关于Java中的变量及变量的作用域 关于Java中的变量及变量的作用域 0. 变量的概念 在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据.系统分配的内存单元要使用一个标记符来标 ...

  3. Java中静态变量与实例变量

    知识回顾 上一篇总结了java中成员变量和局部变量的区别,这一篇将总结静态变量和实例变量的一些特性和区别. 示例代码 package Variable; public class VariableDe ...

  4. Java中关于变量的几种情况

    Java中关于变量的几种情况 1.继承时变量的引用关系 class Animals { int age = 10; void enjoy() { System.out.println("An ...

  5. Java中静态变量的声明位置

    Java中静态变量只能是成员变量,局部方法中的局部变量除final外不能有任何其他修饰符,例如: public class Test { static String x = "1" ...

  6. java中static变量和方法的总结

    转自:http://blog.csdn.net/haobo920/article/details/5921621 java中static变量和方法的总结 java中一切皆是对象 一个类中对象的定义一般 ...

  7. 谈谈java中静态变量与静态方法在有继承关系的两个类中调用

    谈谈java中静态变量与静态方法在有继承关系的两个类中调用 学习的中如果遇到不明白或者不清楚的的时候,就是自己做些测试,自己去试试,这次我就做一个关于静态变量和静态方法在有继承关系的两个类中的问题测试 ...

  8. 谈谈java中成员变量与成员方法继承的问题

    谈谈java中成员变量与成员方法继承的问题 关于成员变量和成员方法的的继承问题,我也可以做一个小测试,来看看结果. 首先我们先创建一个父类:

  9. Java中的变量——通过示例学习Java编程(4)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=14&cid= 变量是用来存放可以更改的值的容 ...

随机推荐

  1. C# 操作 MongoDB

    今项目使用Mongodb,C#操作MongoDB使用MongoDB.Driver.dll库(Nuget),写了个小Demo,如下: using System; using System.Collect ...

  2. npm更换为镜像

    背景:npm在安装的过程中需用从国外的网站获取代码,速度非常慢,因此更换为淘宝镜像,提升速度. 1.永久起作用: npm config set registry https://registry.ta ...

  3. nginx负载均衡tomcat和配置ssl

    目录 tomcat 组件功能 engine host context connector service server valve logger realm UserDatabaseRealm 工作流 ...

  4. Windows bat脚步同步时间

    @echo onnet stop w32timew32tm /unregisterw32tm /registernet start w32timew32tm /config /manualpeerli ...

  5. linux防火墙(四)—— SNET和DNET原理及应用

    图(1) 一.SNAT策略 应用环境:局域网主机共享单个公网IP地址接入Internet,简单的说就是企业内部局域网想访问外部服务器时,网关型防火墙需要开启的SNAT应用策略. SNAT策略原理:网关 ...

  6. c++11中关于`std::thread`线程传参的思考

    关于std::thread线程传参的思考 最重要要记住的一点是:参数要拷贝到线程独立内存中,不管是普通类型.还是引用类型. 对于传递参数是引用类型,需要注意: 1.当指向动态变量的指针(char *) ...

  7. JS原型链中的prototype与_proto_的个人理解与详细总结

    一直认为原型链太过复杂,尤其看过某图后被绕晕了一整子,今天清理硬盘空间(渣电脑),偶然又看到这图,勾起了点回忆,于是索性复习一下原型链相关的内容,表达能力欠缺逻辑混乱别见怪(为了防止新人__(此处指我 ...

  8. WPF优化:Freezable冻结对象

    原文:WPF优化:Freezable冻结对象 WPF虽然很美观,效果很炫,但是对资源的消耗也很大,尤其是初次接触WPF的人,因为很多地方虽然实现了想要的效果,但是由于经验问题,所以也会造成很大的资源浪 ...

  9. Android GPS应用(获取定位信息)

    1.介绍 2.使用方法 3.在AndroidManifest.xml文件中添加 <uses-permission android:name="android.permission.AC ...

  10. JAVA数据结构--LinkedList双向链表

    链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括两个部分: ...