Java基础-变量的定义以及作用域详解
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基础-变量的定义以及作用域详解的更多相关文章
- Java基础-反射(reflect)技术详解
Java基础-反射(reflect)技术详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.类加载器 1>.JVM 类加载机制 如下图所示,JVM类加载机制分为五个部分 ...
- Java基础-DBCP连接池(BasicDataSource类)详解
Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 ...
- Java基础13:反射与注解详解
Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...
- Java基础周测试(一)详解
一.单选题 (题数:30,共 150.0 分) 1.下列选项不可作为Java语言变量名的是( ).(5.0分) A.a1 B.$1 C._1 ...
- Java基础 - 变量的定义和使用
变量定义 public class Main { public static void main(String[] args) { // 定义byte类型的变量 byte b = 10; System ...
- java基础回顾(五)线程详解以及synchronized关键字
本文将从线程的使用方式.源码.synchronized关键字的使用方式和陷阱以及一些例子展开java线程和synchronized关键字的内容. 一.线程的概念 线程就是程序中单独顺序的流控制.线程本 ...
- Java基础进阶:继承重点摘要,继承详解,方法重写注意事项,方法重载与重写的区别,抽象类,代码块, 附重难点,代码实现源码,课堂笔记,课后扩展及答案
继承重点摘要 *继承的特点: 子类在初始化之前,一定要先完成父类数据的初始化 子类在初始化之前,一定要先访问父类构造,完成父类数据的初始化 系统在每一个构造方法中默认隐藏了一句super(); 如果我 ...
- java基础篇---JSP内置对象详解
在JSP中为了简化用户的开发,提供了九个内置对象,这些内置对象将由容器为用户进行实例化,而用户直接使用即可,而不用像在java中那样,必须通过关键字new进行实例化对象之后才可以使用. No. 内 ...
- 《Java基础知识》序列化与反序列化详解
序列化的作用:为了不同jvm之间共享实例对象的一种解决方案.由java提供此机制. 序列化应用场景: 1. 分布式传递对象. 2. 网络传递对象. 3. tomcat关闭以后会把session对象序列 ...
随机推荐
- QT要点
1. QT设计器最终会被解释为ui_**.h. 2. QString与init之间的转换: QString转int: bool bIsOk; int a = str.toInt( &bIsOk ...
- 设计模式 笔记 策略模式 Strategy
//---------------------------15/04/28---------------------------- //Strategy 策略模式----对象行为型模式 /* 1:意图 ...
- python 函数学习
print dic.items() #[('a', 'hello'), ('c', 'you'), ('b', 'how')] print dic.iteritems() #<dictionar ...
- Oracle实用地址
1.详细安装教程 https://jingyan.baidu.com/article/3c48dd34be2a32e10be35881.html
- kafka的简单理解
经典组合: Flume+Kafka+Storm+HDFS/HBase Flume:分布式采集 Kafka:分布式缓存 Kafka简介: 一种分布式的.基于发布/订阅的消息系统(Scala编写的) Ka ...
- pandas 初识(一)
基本内容 Series: Series 是有一组数据(numpy的数据类型 numpy.ndarray)以及一组数据标签(即索引)组成,可以看成一个一个定长的有序字典(索引值到数据值的一个映射) ob ...
- Ubuntu 18.04下Couldn't connect to Docker daemon at http+docker://localunixsocket解决办法
一台服务器系统为:Ubuntu 18.04 LTS,上面建了git裸仓库,用于开发吧代码push到这里.同时WEB测试环境通过docker也部署在这台.通过git钩子post-receive,当有新代 ...
- xss基础
0x0 定义 总结: (1) 在页面显示 (2) 用户可控 满足以上两点就有可能存在xss 0x1反射型 0x2存储型 0x3 DOM型 与反射型相似 也是从get等参数传参 但 反射 ...
- java实验项目报告
JAVA课程项目报告 题目:利用java实现一个时钟的小程序 姓名:王国梁 班级:计科13-2 学号:201303011200 利用JAVA实现一个时钟的小程序 1 ...
- 第三次spring冲刺2
完成了对错题的收集,和做错题的功能,运用了android自带的SQLite数据库.