Java基础之关键字,标识符,变量
Java基础
首先,来看一下Java基础知识图解,以下便是在java学习中我们需要学习设计到的一些知识(当然不是很完全)。

这些都是接下来在以后的学习中我们会学到的一些知识。
1 关键字
首次先来学习一下Java中的关键字,关键字的定义是:被java语言赋予了特殊含义,用作专门用途的一些单词,其特点是:在使用的过程中要所有的关键字都是小写的。
举一些栗子:
定义数据类型的关键字:class,interface,enum,byte,short,int,long,float,double,char,boolean,void
用于定义数据类型值得关键字:true,fasle,null
用于定义流程控制得关键字:if,else,switch,case,defalut,while,do,for,break,continue,return
用于定义访问权限得关键字:private,protect,default,public
用以定义类,函数,变量修饰的关键字:abstract,final,static,synchronized
用于定义类与类之间关系的关键字:implements,extends
用于建立实例以及引用实例,判断实例的关键字:new,this,super,instanceof
处理异常的关键字:try,catch,finally,throw,throws
创建包,引入其他包的关键字:package,import
等等,还有一些其他的关键字:native,strictfp,transient,volatile,assert
2 标识符
标识符:java中对给个变量,方法,类等要素命名时使用的字符序列。----------(用大白话就是:凡是自己可以起名的地方都是标识符。)
标识符有一定的规则,我们在起名时最好做到见名知意,这样可以为我们在开发过程中起到事半功倍的作用。具体的参照我们可以参照《阿里巴巴开发手册》中的一些规范。在这里,我怕们
我们写一些普通规范,可能与阿里巴巴开发规范有一点出入。合法的标识符规则包括一下几点:
1.由26个字母大小写,数字0-9,$,_组成;
2.数字不可以开头;
3.不可以使用java中的关键字和保留字,但是在命名中可以包含关键字和保留字;
4.java中严格区分大小写,长度无限制;
5.标识符中不能包含空格
java中命名规范示例:
包名:多单词组成,所有字母小写。eg:com.maybe.projectname.packagename
类名,接口名:多单词组成时,每个单词首字母大写,以此类推。eg:OneBigFace
变量名,方法名:多单词组成时,首单词首字母小写,从第二个单词开始首字母大写,以此类推.eg:queryForShow
常量名:所有字母都大写,多单词之间用下划线拼接。eg:XXX_YYY_ZZZ
3 变量
1.变量的概念
内存中一块区域,该区域有自己的名称(变量名)和类型(数据类型),java中的变量,必须先声明后使用,该区域的数据可以在同一类型的范围内不断变化
2.使用变量我们要注意的地方
1.变量的作用域:在一对{ }之间;
2.变量需要初始化值
3.定义变量的格式: 数据类型 变量名 = 初始化值; eg: int a = 10;变量是通过变量名来访问变量存在的那块内存区域。
图例:

局部变量,对象声明的引用都在栈中,new出来的实例对象都在堆中,静态变量在静态域中,字符串常量在常量池中。
变量的分类,看以下代码来做一个初步了解。
class Variables {
/**
* 全局变量:写在函数体外和大括号外面的变量
* 作用域:从定义的开始,到文件的解析结束
* 全局变量的初始化,可以在先定义在初始化;eg:int a; a = 10;也可以在定义同时初始化:int a = 10;
* 存储位置:静态区
* 程序启动就会分配内存空间,直到程序结束才会释放
* 全局变量又分为:
* 类变量和实例变量。
* 类变量:静态变量,也就是在变量中加了static关键字。
* 实例变量:也叫对象变量,声明在类的内部,但是在其他方法的外部。类的每个对象都维护着他的一份自己的实例变量的副本
*/
static int a;//类变量
int b = 10;//实例变量
/**
* 局部变量
* 写在函数或者代码块中的变量, 我们称之为局部变量
* 作用域: 从定义的那一行开始, 一直到遇到大括号或者return
* 局部变量可以先定义再初始化, 也可以定义的同时初始化
* 存储 : 栈
* 栈: 存储在栈中的数据有一个特点, 系统会自动给我们释放
*/
{
int c;
}
}
public class VariableTest {
public static void main(String[] args) {
Abc a1 = new Abc();
Abc a2 = new Abc();
a1.a=3;
a1.b=5;
System.out.println(a1.a);//输出 3
System.out.println(a1.b);//输出 5
System.out.println(a2.a);//输出 3
System.out.println(a2.b);//输出 10
}
}
静态变量,也就是类变量,如果在过程中被赋值,则会影响整个代码中的变量值。
实例变量,成员变量赋值被修改只能影响自身对象的值,不会影响其他对象对这个值得引用。
-----------------------------------------------------------------------------------------------------------华丽的分割线----------------------------------------------------------------------------------------------
明天再继续整理有关变量得一些知识。
第一次写博客,今天也是我生日。希望以后可以坚持住写博客。见证自己的成长,也希望每个人都能活出自己想要的样子,共勉!!!
Java基础之关键字,标识符,变量的更多相关文章
- Java基础-synchronized关键字的用法(转载)
synchronized--同步 顾名思义是用于同步互斥的作用的. 这里精简的记一下它的使用方法以及意义: 当synchronized修饰 this或者非静态方法或者是一个实例的时候,所同步的锁是加在 ...
- java基础语法(标识符 修饰符 关键字)
标识符 用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列称为标识符. 1)只有字母(区分大小写),下划线,美元符号和数字组成,长度不受限制.注:字母包括英文26个字母 ,汉字,日 ...
- JAVA基础篇NO1--环境变量的配置及命名规则
标签(空格分隔): java基础 一:计算机概述 计算机:硬件和软件 硬件:控制器 运算器 存储器 输入和输出设备 存储器:外存(硬盘) 内存 软件:系统软件 应用软件 系统软件:wi ...
- Java基础-运行原理及变量(01)
java运行原理 手动编写java文件由编译器编译成.class文件,再由解释器翻译class文件成机器语言运行. Java中注释分类 单行注释格式: //注释文字多行注释格式: /* 注释文字 */ ...
- java基础之关键字static
在java当中有很多关键字,static便是其中一个,它很普通但我们经常需要运用到它,所以要了解static是非常有必要的. 鉴于本人知识结构有限,若有错误忘不吝赐教,甚为感谢. 一. ...
- Java基础(3)——变量
从这篇文章起开始正式进入正题啦,本文将较为简单的介绍一下变量以及常量.变量,顾名思义,就是可以变的量,常量那么久相反了,常常不变的量就叫常量._(¦3」∠) 变量 在 Java 中,任何一个变量都得有 ...
- java基础---->final关键字的使用
这里介绍一些java基础关于final的使用,文字说明部分摘自java语言规范.心甘情愿这四个字,透着一股卑微,但也有藏不住的勇敢. Final关键字的说明 一.关于final变量规范说明 .A fi ...
- java基础之常量与变量
概要:通过这段时间的工作,发现自己的基础还是很薄弱的,so,you know 常量 一种特殊的变量,程序运行过程中不能改变的值 语法格式:final 数据类型 常量名称 = 常量值 例子:fina i ...
- Java基本语法--关键字&标识符
本篇博客主要介绍了Java基本语法中的关键字.保留字和标识符. 关键字与保留字 关键字(keyword的定义及特点) ✄ 定义:被Java 语言赋予了特殊含义,用做专门用途的字符串 ✄ 特点:关键字中 ...
随机推荐
- python列表操作符
list1=[123,456] list2=[234,234] list1>list2 >>>False#返回False 第一项比较之后直接返回false,第二项不看 #+实现 ...
- 【深度学习】用PaddlePaddle进行车牌识别(二)
上节我们讲了第一部分,如何用生成简易的车牌,这节课中我们会用PaddlePaddle来识别生成的车牌. 数据读取 在上一节生成车牌时,我们可以分别生成训练数据和测试数据,方法如下(完整代码在这里): ...
- CentOS7搭建solr7.2
solr介绍 一.Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中. 二.Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式( ...
- MySQL升级-5.6升级到5.7版本&切换GTID模式
目前未在生产环境中升级过数据库版本,倒是在测试环境跟开发环境升级过. 可以通过mysqldump sql文件进行升级,也可以通过mysql_upgrade升级,前者耗时较长,且 ...
- C语言第二次博客作业—分支结构
一.PTA实验作业 题目1:计算分段函数 1.实验代码 double x,y; scanf("%lf",&x); if(x>=0){ y=sqrt(x); print ...
- Alpha冲刺第一天
Alpha冲刺第一天 站立式会议 项目进展 项目的第一天,主要工作是对项目的开发进行规划,以及将规划的成果转化为燃尽图与博客文章.依据项目需求分析报告与开题报告中已经完成的设计任务和项目规划,我们将系 ...
- Linux下ftp和ssh详解
学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...
- django搭建web (二) urls.py
URL模式: 在app下的urls.py中 urlpatterns=[ url(正则表达式,view函数,参数,别名,前缀)] urlpatterns=[ url(r'^hello/$',hello. ...
- 【iOS】Swift LAZY 修饰符和 LAZY 方法
延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间,如果有一些对象的属性和内容非常复杂的话,这个时间更是不可忽略.另外,有些情况下我们并不会立即用到 ...
- fread函数详解
函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream ) b ...