Java基础-变量的定义以及作用域详解

                                    作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.字面量

  常量(字面量)表示不能改变的数值(程序中直接出现的值)。字面量有时也称为直接量,包括所有的整数,所有的小数,所有的字符,布尔值,null。Java中常量(字面量)的分类:

1>.整数常量:

  直接出现的整数,如:1,2,3,4,.....等等。

2>.小数常量:

  直接出现的小数,如:3.14,9.8等等。

3>.布尔(boolean)型常量:

  只有两个值:true 和 false

4>.字符常量:

  将一个数字,字母或者符号用单引号('')括起来。如:‘a’,'A','尹'等等。注意,必须是单引号引起来的单个字符,例如:‘’,‘yinzhengjie’都不是字符,‘ ’是空格字符。

5>.字符串常量:

  将一个或者多个字符用双引号("")括起来,使用双引号引起来的任意字符,如:"","yinzhengjie","尹正杰"等等都是字符串

6>.null常量:

  只有一个数值:null(即空值。)

二.变量的定义

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ public class VariableDemo{
public static void main(String[] args){
//1>.变量的声明
int age;
/**
int 是一种java数据类型,表示整数
age 是一个变量名
程序执行上面一行,就会在内存中分配一块存储空间(也可以叫内存地址),通过变量名age来访问这块存储空间。
*/ //2>.给变量赋值
age = 18;
/**
把18这个数存储到age变量名所标识的存储空间中。
*/ //3>.打印变量的值
System.out.println(age);
/**
把age变量名所标识的存储空间的内容打印到屏幕上。
*/ //4>.给变量进行重新赋值
age = 26;
/**
把26存储到age变量名所标识的存储空间中,age变量原来的值18就被覆盖啦!
*/
System.out.println(age); //5>.变量可以参与运算,作为其它表达式的一部分
int myAge;
myAge = age +2;
/**
把age变量的值26取出来,和2相加,把结果28存储到myAge变量中。
*/ //6>.变量必须先赋值再使用
int year;
// System.out.println(year); //"错误: 可能尚未初始化变量year" //7>.建议定义变量的同时就给定初始值
int month =3;
System.out.println(month); //在同一个作用域中不能定义重复的变量
// int year = 2018; //"错误: 已在方法 main(String[])中定义了变量 year" }
}

三.变量的分类

 /*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ public class ClassVariables{ int x = 100; //成员变量 {
int y = 200; //局部变量
} public static void main(String[] args){ int m = 300; //局部变量
{
int n = 400; //局部变量
} if (true){
int z = 500; //局部变量
}
}
}

四.变量的作用域

  变量的作用域就是变量在哪个范围内有效,成员变量的作用域是整个类,局部变量的作用域是从变量定义的位置开始,直到包含它的大括号结束。

Java基础-变量的定义以及作用域详解的更多相关文章

  1. Java基础-反射(reflect)技术详解

    Java基础-反射(reflect)技术详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.类加载器 1>.JVM 类加载机制  如下图所示,JVM类加载机制分为五个部分 ...

  2. Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 ...

  3. Java基础13:反射与注解详解

    Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...

  4. Java基础周测试(一)详解

    一.单选题 (题数:30,共 150.0 分) 1.下列选项不可作为Java语言变量名的是(    ).(5.0分) A.a1            B.$1           C._1       ...

  5. Java基础 - 变量的定义和使用

    变量定义 public class Main { public static void main(String[] args) { // 定义byte类型的变量 byte b = 10; System ...

  6. java基础回顾(五)线程详解以及synchronized关键字

    本文将从线程的使用方式.源码.synchronized关键字的使用方式和陷阱以及一些例子展开java线程和synchronized关键字的内容. 一.线程的概念 线程就是程序中单独顺序的流控制.线程本 ...

  7. Java基础进阶:继承重点摘要,继承详解,方法重写注意事项,方法重载与重写的区别,抽象类,代码块, 附重难点,代码实现源码,课堂笔记,课后扩展及答案

    继承重点摘要 *继承的特点: 子类在初始化之前,一定要先完成父类数据的初始化 子类在初始化之前,一定要先访问父类构造,完成父类数据的初始化 系统在每一个构造方法中默认隐藏了一句super(); 如果我 ...

  8. java基础篇---JSP内置对象详解

    在JSP中为了简化用户的开发,提供了九个内置对象,这些内置对象将由容器为用户进行实例化,而用户直接使用即可,而不用像在java中那样,必须通过关键字new进行实例化对象之后才可以使用.   No. 内 ...

  9. 《Java基础知识》序列化与反序列化详解

    序列化的作用:为了不同jvm之间共享实例对象的一种解决方案.由java提供此机制. 序列化应用场景: 1. 分布式传递对象. 2. 网络传递对象. 3. tomcat关闭以后会把session对象序列 ...

随机推荐

  1. [计算机视觉] 图像拼接 Image Stitching

    [计算机视觉] 图像拼接 Image Stitching 2017年04月28日 14:05:19 阅读数:1027 作业要求: 1.将多张图片合并拼接成一张全景图(看下面效果图) 2.尽量用C/C+ ...

  2. 【ORACLE】碎片整理

    alter table test enable row movement; alter table test shrink space; execute dbms_stats.gather_table ...

  3. ESLint 规则详解(二)

    接上篇 ESLint 规则详解(一) 前端界大神 Nicholas C. Zakas 在 2013 年开发的 ESLint,极大地方便了大家对 Javascript 代码进行代码规范检查.这个工具包含 ...

  4. centos7 RabbitMQ部署

    一.RabbitMQ简单介绍在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务 ...

  5. C++基础知识(3)

    C++内置的数据类型:基本类型.复合类型 基本类型:整型,浮点型,字符型 复合类型:数组,字符串,指针和结构 复合数据类型是在基本数据类型的基础上创建的 要知道系统中整数的最大长度,可以在程序中使用C ...

  6. A. Elections

    链接 [http://codeforces.com/contest/1043/problem/A] 题意 有n个投票人已经投个对手ai票,让你求最小的k使得k-ai加起来大于,对手得票总和 分析 一个 ...

  7. 2018软工实践—Beta冲刺(7)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Beta 冲鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调组内工作 整体软件测试 展示GitHub当日代码/文档签入记录(组 ...

  8. ElasticSearch 2 (20) - 语言处理系列之如何开始

    ElasticSearch 2 (20) - 语言处理系列之如何开始 摘要 Elasticsearch 配备了一组语言分析器,为世界上大多数常见的语言提供良好的现成基础支持. 阿拉伯语.亚美尼亚语,巴 ...

  9. cxgrid多选删除

    设置OptionsData选项中的Editing设为True,按着Shift和Ctrl可实现多选 SelectionChanged事件 For i:= 0 To cxGrid1DBTableView1 ...

  10. 深入 Nginx 之配置篇

     常用配置项 在工作中,我们与 Nginx 打交道更多的是通过其配置文件来进行.那么掌握这些配置项各自的作用就很有必要了. 首先,nginx.conf 的内容通常是这样的: ... ... #核心摸块 ...