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. MySQL慢日志优化

    慢日志的性能问题 造成 I/O 和 CPU 资源消耗:慢日志通常会扫描大量非目的的数据,自然就会造成 I/O 和 CPU 的资源消耗,影响到其他业务的正常使用,有可能因为单个慢 SQL 就能拖慢整个数 ...

  2. Offset函数(Excel函数集团)

    此处文章均为本妖原创,供下载.学习.探讨! 文章下载源是Office365国内版1Driver,如有链接问题请联系我. 请勿用于商业!谢谢 下载地址:https://officecommunity-m ...

  3. Struts拦截器设置完的值为什么在页面取不到

    Struts拦截器设置完的值为什么在页面取不到. ActionContext ac = (ActionContext) invocation.getInvocationContext(); ac.pu ...

  4. 『学了就忘』Linux日志管理 — 90、Linux中日志介绍

    目录 1.日志相关服务 2.系统中常见的日志文件 1.日志相关服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.RedHat认为syslogd已经不能满足在工 ...

  5. PowerDotNet平台化软件架构设计与实现系列(09):消息平台

    消息队列已经几乎成为大中型高吞吐应用的标配,继续根据我们一贯的节约代码的风格,为了复用的目标,抽象出消息队列平台,进行消息队列管理. 环境准备 1.(必须).Net Framework4.5+ 2.( ...

  6. c++之折半查找(二分查找)递归与非递归的实现

    递归实现 template<typename T> int binary_search2(const T arr[], const int left, const int right, c ...

  7. 【LeetCode】1419. 数青蛙 Minimum Number of Frogs Croaking (Python)

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

  8. 【LeetCode】379. Design Phone Directory 解题报告 (C++)

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

  9. 【剑指Offer】按之字形顺序打印二叉树 解题报告(Python)

    [剑指Offer]按之字形顺序打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  10. 使用VUE CLI3.0搭建项目vue2+scss+element简易版

    1.安装Vue CLI 3 //三选一即可cnpm install -g @vue/cli npm install -g @vue/cli yarn global add @vue/cli 注意: 1 ...