一、标识符和关键字
        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)。
            
          (1)基本类型包括boolean类型和数值类型
         
 boolean类型只有两个值,真和假,即true和false,理论上占用1bit的空间,实际上占用一字节(8bit)
   boolean类型的值或者变量,通常被用作flag来进行流程控制,比如用在 if条件控制语句以及 while、do-while、for等循环控制语句中,还可在三目运算符中使用
        (2)数值类型包括整数类型和浮点类型
整数类型:
             1、byte类型:1字节8位,范围:-128(-2^7)~127(2^7-1);
                2、short类型:2字节16位,范围:-32768(-2^15)~32767(2^15-1);
              3、char类型:2字节(代表字符型,相当于一个16位的无符号整数);
char类型的值必须由单引号括起来,它有三种表示形式
                (1)直接通过单个字符来指定,例如'A'、'9'和'0'等
                (2)通过转义字符表示特殊字符型值,例如'\n'、'\t'等
                (3)直接使用Unicode(Java使用的字符集)值来表示字符型值;格式是'\uXXXX',其中XXXX表示一个十六进制数,一共可以表示65536个字符
   其中前256个('\u0000'~'\u00FF')字符和ASCII码(美国信息交换标准代码)中的字符完全重合

(4)在C中char是ASCII的字符集,最大为255,即一个字节;而java的char是Unicode的字符集,最大为65535,即两个字节,其容纳了各国的字符。

所以C中不可以使用汉字作为变量名,而java则可以

(5)char类型的变量、值完全可以参加四则运算等数学运算,也可以比较大小——实际上都是用该字符对应的编码参与运算 
                4、int类型:4字节32位,范围:-2147483648(-2^31)~2147483647(2^31-1); 
          5、long类型:8字节64位,范围:(-2^63)-(2^63-1)
浮点类型:        
         1、float类型:单精度浮点数,4字节32位,第一位是符号位,接下来8位表示指数,再接下来的23位表示尾数;
   Java的浮点类型默认是double类型,如果希望Java把一个浮点类型值当成float类型处理,应该在这个浮点类型值后紧跟f或F;
       2、double类型:双精度浮点数,8字节64位,第一位是符号位,接下来11位表示指数,再接下来的52位表示尾数
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不与任何数值相等,甚至和自身都不相等 

(3) 引用类型包括类、接口、和数组类型,还有一种特殊的null类型

       所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。
               实际上,引用类型变量就是一个指针,指向所引用的对象在内存中存放的首地址,只是Java没有指针这个说法。

     空类型(null)就是null值的类型,这种类型没有名称。空引用(null)是null类型变量唯一的值。
    null只能被转换为引用类型,不能转换成基本类型,所有不要把一个null值赋给基本数据类型的变量
这是我的学习笔记,请大家多多指正。

JavaSE(二)标识符,关键字,数据类型的更多相关文章

  1. core java 1~4(HelloWorld & 标识符|关键字|数据类型 & 表达式|流程控制 & 数组)

    MODULE 1 Java的编译和运行----------------------------编译:javac -d bin src\HelloWorld.java -d:指定编译后的class 文件 ...

  2. Java从零开始学二(标识符和关键字)

    标识符.关键字.注释 一.标识符 Java中的包.类.方法.参数和变量的名字由任意顺序的大小字母.数字.下划线(_).和美元符号($)组成, 标识符:不能以数字开头.也不能是JAVA中的保留关键字 如 ...

  3. Python 1基础语法二(标识符、关键字、变量和字符串)

    一.标识符 标识符就是程序员自己命名的变量名.名字需要有见名知义的效果,不要随意起名 :比如 a=1 a是个变量,a这个变量名属于标识符 1 company = '小米 2 employeeNum = ...

  4. java中注释、关键字、标识符,数据类型(上)

    一.java中的注释(有3种) 注释:是给写代码的人看的,注释不会被执行 单行注释:用符号"//"实现 多行注释:用"/* */ " 实现 javaDoc(文档 ...

  5. java基础1_标识符,数据类型

    JDK的卸载与安装 : 1  卸载 a 从程序中卸载   控制面板 - 程序和功能 - 卸载JDK; b 删除  C:\Windows\System32 下面的  java   javac  java ...

  6. JAVA_SE基础——6.标识符&关键字

    学会写helloworld之后,  我们就开始来认识标识符&关键字 一.标识符 标识符是指可被用来为类.变量或方法等命名的字符序列,换言之,标识符就是用户自定义的名称来标识类.变量或方法等.更 ...

  7. Go语言从入门到放弃(二) 优势/关键字

    本来这里是写数据类型的,但是规划了一下还是要一步步来,那么本篇就先介绍一下Go语言的 优势/关键字 吧 本章转载  <The Way to Go>一书 Go语言起源和发展 Go 语 言 起 ...

  8. javase基础笔记2——数据类型和面向对象

    API:Application program interface  程序调用一个方法去实现一个功能 正则表达式:regex 用来匹配的 javaEE里边有三大框架 SSH struts spring ...

  9. 二、C# 数据类型

    C#语言的基本类型包括8种整数类型.2种用于科学计算的二进制浮点类型.1种用于金融计算的十 进制浮点类型.1种布尔类型以及1种字符类型. 2.1 基本数值类型 C#中的基本数据类型都有关键字和它们关联 ...

  10. C#基础(二)--之数据类型

    在第一章我们了解了C#的输入.输出语句后,我这一节主要是介绍C#的基础知识,本节的内容也是后续章节的基础,好的开端等于成功的一半.在你阅读完本章后,你就有足够的C#知识编写简单的程序了.但还不能使用继 ...

随机推荐

  1. Confluence5.6.6安装和破解

    1.安装confluence 1. 软件环境说明 # 安装 jdk [root@wiki_5-- jar]# cat /etc/redhat-release CentOS Linux release ...

  2. ElasticSearch 常用 curl 命令

    1. 集群支持的选项 curl -XGET 'http://10.240.0.8:9200/_cat'  2. 查看节点信息 curl -XGET 'http://10.240.0.8:9200/_ ...

  3. BZOJ 2435:[Noi2011]道路修建(树型DP)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2435 题意:中文题意. 思路:很简单的树形DP,sz记录儿子有多少个和cur记录走的哪条弧,然后直接 ...

  4. 跟我学SpringCloud | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪

    SpringCloud系列教程 | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪 Springboot: 2.1.6.RELEASE SpringCloud: ...

  5. django基础知识之自连接:

    自连接 对于地区信息,属于一对多关系,使用一张表,存储所有的信息 类似的表结构还应用于分类信息,可以实现无限级分类 新建模型AreaInfo,生成迁移 class AreaInfo(models.Mo ...

  6. ICC中用Tcl脚本给版图中的Port/Terminal加Label的方法

    本文转自:自己的微信公众号<数字集成电路设计及EDA教程> 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教程. 考虑到微信公众 ...

  7. windows软件卸载工具Geek Uninstaller免安装版

    曾经一个问题一直困扰这我,就是每次在卸载软件的时候都卸载不干净,卸载完后会有遗留文件夹,每次都要手动删,还有注册表也不干净,让我很是难受,直到有一天发现了一个卸载神器Geek Uninstaller ...

  8. MyBatis where、set、trim标签的用法

    <!-- 4.3.1 where用法 <where>标签的作用:如果该便签包含的元素中有返回值,就插入一个where:如果 where后面的字符串是一and或or开头的,就将它们剔除 ...

  9. ZIP:ZipStream

    ZipInputStream: ZipInputStream(InputStream in) :创建新的 ZIP 输入流. int read(byte[] b, int off, int len) : ...

  10. yum只下载不安装软件包

    一.通过yum自带的工具yumdownloader [root@host---- interpreter]# rpm -ql yum-utils package yum-utils is not in ...