javac 保留变量名 java的保留字_javac 保留变量名


### 数据类型和运算符

* 标识符Identifier

* 作用

> 常量、变量、方法、类和包等的名称

* 命名规则

> 必须以字母、_下划线、美元符$开头。

> 其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合

> 大小写敏感,长度无限制。

> 不可以是Java的关键字。

* 关键字/保留字

* Java关键字是Java语言保留供内部使用的,如class用于定义类。 关键字也可以称为保留字,它们的意思是一样的。

abstract assert boolean break byte case

catch char(charecter) class const continue default

do double else extends final finally

float for goto if implements import

instanceof int interface long native new

null package private protected public return

short static strctfp super switch synchronized

this throw throws transient try void

volatile while

* Java基本数据类型

*Java是一种强类型语言

> 常量是有数据类型的

> 变量都必须声明其数据类型。

——————————>基本数据类型{数值型(byte,short,int,long,float,double)、char、boolean}

数据类型

——————————>引用数据类型{(类)class、(接口)interface、数组}

* 常量和变量

* Java是一种强类型语言,每个变量都必须声明其类型。

* Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

* 变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储单元,声明格式为:

> type [varName =value] [{,varName[=value]}] ;

**

> 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

> 变量名必须是合法的标识符。

* 整型数据类型

* 整型常量

> 十进制整数,如:99, -500, 0

> 八进制整数,要求以 0 开头,如:015

> 十六进制数,要求 0x 或 0X 开头,如:0x15

* 整型变量

类型 占用存储间 表数范围

byte 1字节 -128~127

short 2字节 -2^15~2^15-1 (-32768~32767)

int(integer) 4字节 -2^31~2^31-1 (-21477483648~2147483647)

long 8字节 -2^63~2^63-1

* 浮点型变量

类型 占用存储间 表数范围

float 4字节 -3.403E38~3.403E38

double 8字节 -1.798E308~1.798E308

> float类型:单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。

> double类型:双精度类型 精度是float类型的两倍,绝大部分应用程序都采用double类型。

** 注意

> 浮点常量默认为double。要变为float,需在后面增加F/f. 如: 3.14F

> 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

* 字符数据类型

转义符 含义 Unicode值

b 退格(backspace) u0008

n 换行 u000a

r 回车 u000d

t 制表符(tab) u0009

" 双引号 u0022

' 单引号 u0027

反斜杠 u005c

* final 常量

* 使用final修饰的变量,只能被初始化一次,变成了常量。

* final常量是有名称的

* 命名规则(规范)

* 所有变量、方法、类名:见名知意

* 变量、方法名:

> 首字母小写和驼峰原则

> run(), runRun(), age ageNew monthSalary

> userName

* 常量:

* 大写字母和下划线:MAX_VALUE

* 类名:

* 首字母大写和驼峰原则: Man, GoodMan

* Java 语言支持如下运算符:

* 算术运算符: +,-,*,/,%,++,--

* 赋值运算符 =

* 扩展赋值运算符:+=,-=,*=,/=

* 关系运算符: >,<,>=,<=,==,!=

* 逻辑运算符: &&,||,!

* 位运算符: &,|,^, >>,<<,>>> (了解!!!)

* 条件运算符 ?:

* 算术运算符

* 二元运算符类型提升:

> 整数运算:

>> 如果两个操作数有一个为Long, 则结果也为long

>> 没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

> 浮点运算:

>> 如果两个操作数有一个为double, 则结果为double.

>> 只有两个操作数都是float, 则结果才为float.

* 一元运算符(++, --):

> int a = 3;

> int b = a++; //执行完后,b=3。先给b赋值,再自增。

> int c = ++a; //执行完后,c=5。先自增,再给b赋值

* 逻辑运算符

* 逻辑运算符与布尔操作数一起使用,组成逻辑表达式

* 逻辑表达式的结果是布尔值

* &和&&的区别

> “&”:无论任何情况,“&”两边的表达式都会参与计算。

> “&&”: 当“&&”的左边为false,则将不会计算其右边的表达式。即左false则false

* “|”和“||”的区别与“&”和“&&”的区别类似。

* 位运算符(了解)

* 位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。

* 如果操作的对象是char、byte、short,位移动作发生前其值会自动晋升为int,运算结果也为int。

运算符 含义 示例

& 按位与(AND) c = a & b

| 按位或(OR) c = a | b

^ 按位异或(相同为0相异为1) c = a ^ b

>> 右移;左边空位补最高位即符号位 b = a >> 2

>>> 无符号右移,左边空位补0 b = a >>> 2

<< 左移;右边空位以补0 b = a << 1

* 条件运算符

* 语法格式

* x ? y : z

* 唯一的三目运算符