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. Linux 编译安装、压缩打包、定时任务

    目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...

  2. CF1036D Vasya and Arrays 题解

    Content 给定两个长度分别为 \(n\) 和 \(m\) 的数列 \(A,B\).你需要将两个数列都恰好分成 \(k\) 份,使得两个数列中第 \(i(i\in[1,k])\) 份的元素和对应相 ...

  3. 在程序出现问题,当找不到错误时,第一时间用try ,catch包括起来

    在程序出现问题,当找不到错误时,第一时间用try ,catch包括起来,把错误找到.

  4. .net Core 使用 iTextSharp 生成PDF 简单示例

    在 Nuget 中导入需要的插件: 实现的代码: 1 [HttpGet, Route("CreatePdf")] 2 public Response CreatePdf() 3 { ...

  5. C++基础之虚析构函数原理

    结论 虚函数表指针 + 虚函数表 共同实现 演示 VS2017(32位) 基类有析虚构函数 一段代码演示 #include <iostream> #include <memory&g ...

  6. 【LeetCode】912. Sort an Array 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 库函数排序 桶排序 红黑树排序 归并排序 快速排序 ...

  7. 【LeetCode】365. Water and Jug Problem 解题报告(Python)

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

  8. 【剑指Offer】和为S的两个数字 解题报告(Python)

    [剑指Offer]和为S的两个数字 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...

  9. GCD - Extreme (II)(UVA11426)

    思路:欧拉函数: 欧拉函数,然后用下等差数列公式就行了. 1 #include<stdio.h> 2 #include<algorithm> 3 #include<ios ...

  10. 家用路由器也能充当Web服务器?路由器插件开发心得

    起因 最近刚刚结束考研,开始有时间写文章了.在复习的时候中,经常忍不住折腾各种东西,于是有一天看中了我手上的华为路由器.什么?华为路由器,你可能有这样的疑问,华为路由器不是自研的芯片吗,就像我手上这台 ...