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. CCNode详解

    cocos2d的所有类都以CC开头,那么实际上这个类的名字就是Node,类如其名,这个类的实例就是一个节点.Cocos2d的类是树状继承的,而在内存中,各个实例之间也是以“树”这种数据结构相关联的., ...

  2. [BZOJ4082][Wf2014]Surveillance[倍增]

    题意 给你一个长度为 \(len\) 的环,以及 \(n\) 个区间,要你选择尽量少的区间,使得它们完全覆盖整个环.问最少要多少个区间. \(len,n\leq 10^6\) . 分析 考虑普通的区间 ...

  3. stl源码剖析 详细学习笔记 RB_tree (2)

    //---------------------------15/03/22---------------------------- //一直好奇KeyOfValue是什么,查了下就是一个和仿函数差不多 ...

  4. 杂谈---LZ的编程之路以及十点建议

    LZ本人是09年毕业的,在某二流本科院校学的非计算机专业,在兴趣的驱使之下,最终毅然决然的走上了编程这一条“不归路”. 说起LZ的经历虽不算是跌宕起伏,但也真正算是人生无常. 当初09年7月回到家里, ...

  5. Asp.Net_的传值跟存储值操作

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  6. java后台面试知识点总结

    本文主要记录在准备面试过程中遇到的一些基本知识点(持续更新) 一.Java基础知识 1.抽象类和接口的区别 接口和抽象类中都可以定义变量,但是接口中定义的必须是公共的.静态的.Final的,抽象类中的 ...

  7. DRF框架QQ登录功能

    用户模块---QQ登录 流程图 QQ登录文档:http://wiki.connect.qq.com/%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C_oauth2-0 流程简述 ...

  8. djbc

    jdbc:mysql://localhost:3306:test这句里面分如下解析:jdbc:mysql:// 是指JDBC连接方式:localhost: 是指你的本机地址:3306 SQL数据库的端 ...

  9. Practice1小学四则运算(改进)

    #include<stdio.h> #include<stdlib.h> #include<time.h> void srand(unsigned);//随机生成不 ...

  10. ElasticSearch 2 (11) - 节点调优(ElasticSearch性能)

    ElasticSearch 2 (11) - 节点调优(ElasticSearch性能) 摘要 一个ElasticSearch集群需要多少个节点很难用一种明确的方式回答,但是,我们可以将问题细化成一下 ...