JavaSE二-标识符,关键字,数据类型

 

   一、标识符和关键字
        1、具有特殊作用的分隔符:分号;、花括号{}、圆括号()、空格、圆点 . 
        2、标识符规则:用于给程序中变量、类、方法命名的符号。
                                Java的标识符必须以字母、下划线_、美元符$开头,后面可跟任意数目的字母、数字、下划线、和美元符。
                                此处的字母不限于26个英文字母,而且可以包括Unicode字符集内的多种语言的字符。
                    注意:(1)标识符不能以数字开头;
                         (2)区分大小写;
                         (3)不能是Java关键字和保留字,错误实例:int boolean; 但可以包含关键字和保留字:int aboolean。
                         (4)对于特殊字符,只能包含美元符,不能包含@、#等其他特殊字符
        3、变量名,类名,包名命名建议首先要见名知意:
 
 
变量名
类/接口名
包名
常量
方法名
一个单词
小写
首字母大写
小写
大写
小写
举例
num
Hello
utils
NUM
test
两个或多个
单词
小写,而且可以用下划线分隔
首字母大写
小写
小写,而且可以用下划线分隔
首个单词小写,第二个单词开始首字母大写
举例
num_before
HelloWorld
 
MAX_VALUE
getConnection
 
   二、附图Java关键字:
 abstract
continue
for
new
switch
assert
default
if
package
synchronized
boolean
do
goto
private
this
break
double
implements
protected
throw
byte
else
import
public
throws
case
enum
instanceof
return
transient
catch
extends
int
short
try
char
final
interface
static
void
class
finally
long
strictfp
 volatile
const
float
native
super
while
   
        其中,enum是Java5开始新增的关键字,用于定义一个枚举。
               goto,const也被称为保留字(reserved word),意思是Java目前还未使用这两个关键字,但可能在未来的Java版本中使用这两个关键字。
        Java还提供了三个特殊的直接量(literal): true、false、null。Java的标识符也不能使用这三个特殊的直接量。
 
 
    三、Java数据类型分类
            Java支持的类型分为两类:基本类型(Primitive Type)和引用类型(Reference Type)。
            
      (一)基本类型包括boolean类型和数值类型
            boolean类型只有两个值,真和假,即true和false,理论上占用1bit的空间,实际上占用一字节(8bit)
               数值类型包括整数类型:   
                                  byte,1字节8位,范围:-128(-2^7)~127(2^7-1);
              short,2字节16位,范围:-32768(-2^15)~32767(2^15-1);
             int,4字节32位,范围:-2147483648(-2^31)~2147483647(2^31-1);
                                     long,8字节64位,范围:(-2^63)-(2^63-1)
                                    char,2字节(代表字符型,相当于一个16位的无符号整数);
   
    字符类型的值必须由单引号括起来,它有三种表示形式
                      1.直接通过单个字符来指定,例如‘A‘、‘9‘和‘0‘等
                      2.通过转义字符表示特殊字符型值,例如‘\n‘、‘\t‘等
                      3.直接使用Unicode值来表示字符型值,格式是‘\uXXXX‘,其中XXXX表示一个十六进制数,一共可以表示65536个字符;其中前256个(‘\u0000‘~‘\u00FF‘)字符和ASCII码(美国信息交换标准代码)中的字符完全重合
      char类型的变量、值完全可以参加四则运算等数学运算,也可以比较大小——实际上都是用该字符对应的编码参与运算    
    浮点类型:
                     float,单精度浮点数,4字节32位,第一位是符号位,接下来8位表示指数,再接下来的23位表示尾数;
         double,双精度浮点数,8字节64位,第一位是符号位,接下来11位表示指数,再接下来的52位表示尾数;
          Java的浮点类型默认是double类型,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型值后紧跟f或F;
                    
          Java的浮点数有两种表示形式:
                  -->十进制数形式:如5.12、512.0、.512,浮点数必须包含一个小数点,否则会被当成int类型处理;
                  -->科学计数法形式:如5.12e2(即5.12*10^2), 5.12E2(也是5.12*10^2)
            注意:只有浮点类型的数值才可以使用科学计数法形式表示。如51200是int类型的值,但512E2则是浮点类型的值。
        
          此外,Java还提供了三个特殊的浮点数值:正无穷大,负无穷大,非数,用于表示溢出和出错。
              如,使用一个正数(浮点数)除以0将得到正无穷大:float x = 521.0f/0; //输出 Infinity
                      使用一个负数 (浮点数) 除以0将得到负无穷大:float y = -521.0f/0; //输出-Infinity
                          0.0除以0.0或对一个负数开方得到非数: float a = 0.0f/0.0f;//输出NaN
 
            这三个特殊值是Float和Double类中定义的public static final值,可通过Double和Float类直接调用
                Double.POSITIVE_INFINITY/Float.POSITIVE_INFINITY = Infinity
                Double.NEGATIVE_INFINITY/Float.NEGATIVE_INFINITY = -Infinity
                Double.NaN/Float.NaN= NaN
            注意:所有的正无穷大,负无穷大值都是相等的,而NaN不与任何数值相等,甚至和自身都不相等
 
    (二)引用类型包括类、接口、和数组类型,还有一种特殊的null类型
       所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。
  实际上,引用类型变量就是一个指针,指向所引用的对象在内存中存放的首地址,只是Java没有指针这个说法。
         空类型(null)就是null值的类型,这种类型没有名称。空引用(null)是null类型变量唯一的值。
       null只能被转换为引用类型,不能转换成基本类型,所有不要把一个null值赋给基本数据类型的变量

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


@ 注解能被用来为程序元素( 类、 方法、 成员变量等) 设置元数据。 值得指出的是, 注解不影响程序代码的执行, 无论增加、 删除注解, 代码都始终如一地执行。 如果希望让程序中的注解在运行时起一定
@ 1、线性表的概念 线性表是最常见也是最简单的一种数据结构。简言之, 线性表是n个数据元素的有限序列。 其一般描述为: A={a1,a2,……an) 一个数据元素通常包含多个数据项, 此时每个数据元
简介 ArrayList是开发中使用比较多的集合,它不是线程安全的,CopyOnWriteArrayList就是线程安全版本的ArrayList。CopyOnWriteArrayList同样是通过数组
在 Java String类源码阅读笔记 里学习了String类的源码,StringBuilder、StringBuffer是经常拿来和String类做对比的两个类,可谓是“爱恨纠缠” ,这里我们继续
话不多说,先上图。 1、基本概念 欲说线程,必先说进程。 进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进
@ 网络基础 计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。 那什么是互联网呢?互联网是网络的网络(internet
JVM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。 先上图: 1、JVM基本概念 1.1、JVM是什么 JVM 的全称是 「Java Virtual Machine
@ 本文基于jdk1.8 HashMap采用 key/value 存储结构,每个key对应唯一的value。 在jdk1.7之前,HashMap 的内部存储结构是数组+链表。 在jdk1.8中 Has
@ Eclipse是很多Java开发者的第一个开发工具,尽管开源的Eclipse在一后起之秀的对比下,显得有些颓势,但是,Eclipse有着丰富的插件支持。选择合适的插件,Eclipse表示:老夫也能
@ 准备 LinkedList是基于双向链表数据结构实现的Java集合(jdk1.8以前基于双向循环链表),在阅读源码之前,有必要简单了解一下链表。 先了解一下链表的概念:链表是由一系列非连续的节点组
@ 写博客哪有刷逼乎有意思 1 写博客哪有刷逼乎有意思 2 写博客哪有刷逼乎有意思 3 类的加载、 连接和初始化 系统可能在第一次使用某个类时加载该类, 也可能采用预加载机制来加载某个类。 JVM 和
树结构是一类重要的非线性数据结构。直观来看,树是以分支关系定义的层次结构。树结构在客观世界广泛存在,如人类社会的族谱和各种社会组织机构都可用树来形象表示。 树在计算机领域中也得到广泛应用,尤以二叉树最
@ 本文基于jdk1.8 String类可谓是我们开发中使用最多的一个类了。对于它的了解,仅仅限于API的了解是不够的,必须对它的源码进行一定的学习。 一、前置 String类是Java中非常特别的一
随便打开一个招聘网站,看看对高级Java工程师的技能要求。 抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方。 Java基础 计算机基础 数据库,SQL/NoSQL 常用开
@ JDBC指Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。 1、JDBC典型用法 1.1、JDBC 4.2 常用接口和类简介
简介 ArrayList是基于数组实现的一种列表。 ArrayList继承体系如下: 图一:ArrayList继承体系 ArrayList实现了List, RandomAccess, Cloneabl
@ Java 的 IO 通过 java.io 包下的类和接口来支持, 在 java.io 包下主要包括输入、 输出两种 10 流, 每种输入、 输出流又可分为字节流和字符流两大类。 其中字节流以字节为
@ 使用断言 断言(Assertion)是一种调试程序的方式。在Java中,使用assert关键字来实现断言。 断言的概念 假设确信某个属性符合要求, 并且代码的执行依赖于这个属性。例如, 需要计算:
@ Java 程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能。 Java 提供了 System 类和 Runtime 类来与程序的运行平台进行交互。 Syste
@ Java 提供了一个操作 Set 、 List 和 Map等集合的类:Collections , 该工具类里提供了大量方法对集合元素进行排序、 查询和修改等操作,还提供了将集合对象设置为不可变、对