Java中的变量

/**
* 关于 Java 语言当中的变量:
*
* 1. 什么是变量?
* - 变量的本质上来说是内存空间,这块空间有(数据类型、名字、字面值)
* - 变量包括三部分:数据类型、名称、字面值【数据】
* - 变量是内存中存储数据的最基本的单元
*
* 2. 数据类型的作用?
* - 不同的数据有不同的类型,不同的数据类型底层分配不同大小的空间
* - 数据类型是指导程序在运行阶段应该分配多大的内存空间
*
* 3. 变量要求:“数据”必须与“数据类型”一致,当不一致时编译报错
*
* 4. 变量名:只要是合法标识符即可
*
* 5. 语法格式:
* - 声明:数据类型 变量名;
* int num;
*
* - 赋值:变量名 = 字面值;
* num = 10;
*
* - 声明可以与赋值一起写
* int num = 10;
*
* 6. 赋值后可以再次赋值,首次赋值称为初始化
*
* 7. 有变量的概念了后,内存空间能够被重复使用,提高了利用率
*
* 8. 通过访问一个变量包括两种形式:
* - 第一种:读取 变量中保存的具体数据 get/获取
* - 第二种:修改 变量中保存的具体数据 set/设置
*
* 9. 变量可以在一行声明多个
* int a,b,c;
*
* 10. Java 中的变量必须先声明,再赋值,才能访问
*
* 11. 在同一个“作用域”当中,变量名不能重名,但是变量可以重新赋值
* - 变量的作用域:是描述变量的作用范围
* - 在范围之内可以被访问,只有出了这个范围该变量就无法访问
* - 在不同作用域中可以重名
*
* 12. 变量的作用域范围判定:“出了大括号就不认识了。”
*
* 13. 变量分类:
* -局部变量:在方法体中声明的变量
* -成员变量:在方法体外,类体之内声明的变量
*
* 14. 变量访问遵循就近原则
*/ public class VarTest { public static void main(String[] args) { int i; // 声明一个 整型(int)变量,名称为 i
// System.out.println(i);
// 变量 i 并没有初始化,直接编译会报错 i = 10; // 为变量 i 赋值 整数(int) 10,在此为 i 完成了初始化 System.out.println(i); // 正常执行 i = 100; // i 再次赋值 System.out.println(i); int a,b,c = 300; // 一行可以多个声明
// a,b未初始化,c 初始化为 300, // System.out.println(a); 编译报错
// System.out.println(b); 编译报错
System.out.println(c); a = 1;
b = 2; System.out.println(a);
System.out.println(b); // System.out.println(k);
// int k = 100;
// 错误,在 Java 方法体中程序是“自上而下”执行 // int i = 10;
// 在同一个“作用域”当中,变量不能重名 int f = 1; // 变量 f 作用域在 方法体 main 内 for(int j = 0; j < 10; j++) { System.out.println(f);
// 因为 for 包含在 main 内,变量 f 属于 main 方法,没有出 main 的括号
} // System.out.println(j);
// 报错,因为变量 j 的作用域在 for 循环,“出了大括号就不认识了。”
} // 成员变量
int i = 200; //方法体外,类体之内,不同作用域中可以重名 }

学习笔记--Java中的变量的更多相关文章

  1. JavaScript学习笔记——JS中的变量复制、参数传递和作用域链

    今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执 ...

  2. Android学习笔记----Java中的字符串比较

    用习惯了C#.C++,在做字符串比较时想当然地使用如下语句: string str1 = "abcd", str2 = "abcd"; if(str1==str ...

  3. 2.1多线程(java学习笔记) java中多线程的实现(附静态代理模式)

    一.多线程 首先我们要清楚程序.进程.线程的关系. 首先进程从属于程序,线程从属于进程. 程序指计算机执行操作或任务的指令集合,是一个静态的概念. 但我们实际运行程序时,并发程序因为相互制约,具有“执 ...

  4. 设计模式学习笔记——java中常用的设计模式

    单例设计模式(Singleton Pattern) 观察者模式(Observer Pattern) 工厂模式(Factory Pattern) 策略模式(Strategy Pattern) 适配器模式 ...

  5. Java学习笔记-Java中的常用类

    Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,Math System System:类中的方法和属性都是静态的 字段摘要 static PrintSt ...

  6. php学习笔记4--php中的变量作用域

    变量作用域:可以简单地理解为变量的可见区域,变量能被访问的范围.如同其他语言,php中也有全局作用域和局部作用域之分,但是不同的是:php中的全局作用域指的是:只能在函数外部使用,而局部作用域指的是: ...

  7. java学习笔记--java中的基本数组[5]

    java基础很重要, 今天呆家看java视频,顺便总结前几周看的java书籍,做一下简单的总结:1:数组的声明,2:数组的赋值: 3:数组的方法: 声明一个数组主要有两种方式: //类型 []数组名字 ...

  8. java学习笔记——java中对象的创建,初始化,引用的解析

    如果有一个A类. 1.例如以下表达式: A  a1 = new A(); 那么A是类,a1是引用.new A()是对象.仅仅是a1这个引用指向了new A()这个对象. 2.又如: A  a2; A代 ...

  9. JAVA学习笔记:注释、变量的声明和定义、

    本文内容: 注释 变量的声明和定义 成员变量和局部变量 首发时间:2018-03-16 15:59 注释: 单行注释:// 多行注释:/* - */ 变量: 变量是内存中的一个存储区域,变量的定义就是 ...

随机推荐

  1. LuoguP7694 [COCI2009-2010#4] AUTORI 题解

    Content 科学论文会大量引用一些早期的著作,因此在一个论文中出现两种不同的命名约定并不少见.这两种不同的命名约定分别是: 长变体,由每个作者姓氏的完整单词由连字符连接而成,例如 Knuth-Mo ...

  2. vue 判断页面是否滚动到底部

    需求 要求用户阅读完本页所有内容后,下一步按钮才可以点击. 实现思路 通过判断当前页面是否到达底部来设置按钮的点击事件. 要判断当前页面是否到达底部需要用到三个距离--距离顶部的距离scrollTop ...

  3. 【LeetCode】966. Vowel Spellchecker 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 日期 题目地址:https://leetcod ...

  4. 【九度OJ】题目1182:统计单词 解题报告

    [九度OJ]题目1182:统计单词 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1182 题目描述: 编一个程序,读入用户输入的,以 ...

  5. 【LeetCode】932. Beautiful Array 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 构造法 递归 相似题目 参考资料 日期 题目地址:h ...

  6. 【嵌入式AI】全志 XR806 say hello world

      欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   大家好,我是极智视界,本文介绍了全志 ...

  7. MySQL定时备份数据库方案

    MySQL数据备份 1.备份全部数据库的数据和结构 mysqldump -uroot -p123456 -A > /data/mysqlDump/mydb.sql 2.备份全部数据库的结构(加 ...

  8. a.equals(b) 判断对象相等

    一.值是null的情况: 1.a.equals(b), a 是null, 抛出NullPointException异常. 2.a.equals(b), a不是null, b是null,  返回fals ...

  9. 遍历 HashMap 的 5 种最佳方式

    使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap KeySet 使用 For-each 循环迭代 HashMap 使用 Lambda 表达式 ...

  10. TGAN

    目录 概 主要内容 Saito M., Matsumoto E. & Saito S. Temporal Generative Adversarial Nets with Singular V ...