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. Codeforces 948D Perfect Security(字典树)

    题目链接:Perfect Security 题意:给出N个数代表密码,再给出N个数代表key.现在要将key组排序,使key组和密码组的亦或所形成的组字典序最小. 题解:要使密码组里面每个数都找到能使 ...

  2. LeetCode 刷题笔记 1. 两数之和(Two Sum)

    tag: 栈(stack) 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案. ...

  3. commitizen和cz-customizable配置git commit message

    起因 团队对提交的commit message格式有约定俗称的要求,但是没有一个统一的规范,导致大家提交的commit message或多或少不太一样.因此,需要一个工具来帮助大家统一commit m ...

  4. 华为云Istio服务网格,让应用治理智能化、可视化

  5. Cloud Native Weekly | KubeCon首登中国,华为云亮相KubeCon 2018,微软云服务又罢工

    1.KubeCon首登中国,Kubernetes将如何再演进? 11月14日,由CNCF发起的云原生领域全球最大的峰会之一KubeCon+CloudNativeCon首次登陆中国,中国已经成为云原生领 ...

  6. 技术进阶:Kubernetes高级架构与应用状态部署

    在了解Kubernetes应用状态部署前,我们先看看Kubernetes的高级架构,方便更好的理解Kubernetes的状态. Kubernetes 的高级架构 包括应用程序部署模型,服务发现和负载均 ...

  7. mybatis mapper使用记录

    insert://插入一条数据//支持Oracle序列,UUID,类似Mysql的INDENTITY自动增长(自动回写)//优先使用传入的参数值,参数值空时,才会使用序列.UUID,自动增长int i ...

  8. 小学四则运算APP 第一阶段冲刺 第二天-补

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第一次冲刺阶段时间:11.17~11.27 本次发布已经解决上次问题,问题是写程序逻辑错误,问题已经修改!我们还增加两个模块的面板设置,如 ...

  9. 校园社交网站app

    1.项目说明 1.1 项目背景 虽然公共社交网络系统能够满足大多数高校校园用户在校园网络社交的需求,但是针对校园学习.工作和文化生活等方面的支持以及学校个性化需求方面却存在不足.利用电子校务平台的数据 ...

  10. Ubuntu安装jdk,正确配置环境变量

    作为一个Linux新手,在写这篇博客之前,装了几次jdk,好多次都是环境变量配置错误,导致无法登录系统.经过几天的研究,今天新装系统,从头来完整配置一遍 系统版本:Ubuntu 16.04 JDK版本 ...