二、变量与运算符

关键字

关键字的定义和特点

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

特点:关键字中所有字母都为小写

用于定义数据类型的关键字

class

interface

enum

byte

short

int

long

float

double

char

boolean

void

 

 

 

用于定义数据类型值的关键字

true

false

null

 

 

用于定义流程控制的关键字

if

else

switch

case

default

while

do

for

break

continue

return

 

 

 

 

 

用于定义访问权限修饰符的关键字

private

protected

public

 

 

用于定义类,方法,变量修饰符的关键字

abstract

final

static

synchronized

 

用于定义类与类之间关系的关键字

extends

implements

 

 

 

用于定义建立实例及引用实例,判断实例的关键字

new

this

super

instanceof

 

用于异常处理的关键字

try

catch

finally

throw

throws

用于包的关键字

package

import

 

 

 

其他修饰符关键字

native

strictfp

transient

volatile

asser

 

 

保留字

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。  

   byValue、cast、future、generic、inner、operator、outer、rest、var 、goto、const

标识符

标识符: Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符 凡是自己可以起名字的地方都叫标识符。

定义合法标识符规则: 由26个英文字母大小写,数字:0-9 ,_或 $ 组成   数字不可以开头。 不可以使用关键字和保留字,但能包含关键字和保留字。 Java中严格区分大小写,长度无限制。 标识符不能包含空格。

注意:在起名字的时,为了提高阅读性,要尽量有意义,做到“见名知意”。

命名规范

Java中的名称命名规范:

包名:多单词组成时所有字母都小写:xxxyyyzzz

类名接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

变量

变量的概念:

内存中的一个存储区域

该区域有自己的名称(变量名)和类型(数据类型)

Java中每个变量必须先声明,后使用

该区域的数据可以在同一类型范围内不断变化    

定义变量的格式:数据类型  变量名=初始化值

变量的作用域:一对{ }之间有效

数据类型

按被声明的位置划分:

成员变量:方法外部、类的内部定义的变量

局部变量:方法或语句块内部定义的变量        

注意:类外面(类对应的大括号外面)不能有变量的声明

按所属的数据类型划分:

基本数据类型变量 引用数据类型变量

变量的分类-按数据类型

Java对每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间。

二、变量与运算符

整数类型:byte、short、int、long

Java各整数类型有固定的表示范围和字段长度,不受具体 操作系统的影响,以保证 java 程序的可移植性。

Java 的整型常量默认为 int 型,声明 long 型常量须后加‘l’(小写L) 或‘L’。

类   型

占用存储空间

表数范围

byte

1字节

-128 ~ 127

short

2字节

-215 ~215-1 

int

4字节

-231 ~ 231-1

long

8字节

-263 ~ 263-1

浮点类型:float、double

与整数类型类似,Java 浮点类型也有固定的表示范围和字段长度,不受具体操作系统的影响。

Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加‘f’ 或 ‘F’。

浮点型常量有两种表示形式: 十进制数形式:如:5.12      512.0f      .512   (必须有小数点)

科学计数法形式:如:5.12e2      512E2     100E-2

类  型

占用存储空间

表数范围

单精度float

4字节

-3.403E38 ~ 3.403E38

双精度double

8字节

-1.798E308 ~ 1.798E308

字符类型:char

char型数据用来表示通常意义上的"字符"。

Java中字符是用单引号(‘ ’)括起来的单个字符。

例如:char c1 = 'a';   char c2 = '中'; char c3 =  '9';

转义字符:使用‘\’来将其后的字符转变为特殊字符型常量。

例如:char c3 = ‘\n’;  (换行符)

布尔类型:boolean

boolean 类型适于逻辑运算,一般用于程序流程控制:

if条件控制语句;

                  while循环控制语句;

do-while循环控制语句;

      for循环控制语句;

boolean类型数据只允许取值true和false,不可以0或非0的整数替代true和false,这点和C语言不同。

基本数据类型转换

自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:

二、变量与运算符

有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。       byte,short,char三者在计算时首先转换为int类型。 当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

强制类型转换

将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,要格外注意。

字符串转换为基本数据类型,需要通过基本类型对应的包装类提供的parseXXX方法。

如: String a = “43”; int i = Integer.parseInt(");

boolean类型不可以转换为其它的数据类型。  

 

运算符

算术运算符

赋值运算符

比较运算符(关系运算符)

逻辑运算符

位运算符

三元运算符

算术运算符

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4; -b

-4

+

5+5

10

-

6-4

2

*

3*4

12

/

5/5

1

%

取模

5%5

0

++

++

自增(前):先运算后取值

自增(后):先取值后运算

a=2;b=++a;

a=2;b=a++;

a=3;b=3

a=3;b=2

- -

- -

自减(前):先运算后取值

自减(后):先取值后运算

a=2;b=- -a

a=2;b=a- -

a=1;b=1

a=1;b=2

 

算术运算符的注意问题

如果对负数取模,可以把模数的负号忽略不记,如:5%-2=1。 但被模数是负数就另当别论。

对于除号“/”,它的整数除和小数除是有区别的:

整数之间做除法时,只保留整数部分而舍弃小数部分。

例如:int x=3510;x=x/1000*1000;  x的结果是?

赋值运算符

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

区分==和=的区别?

比较运算符

运算符

运算                                         范例                                              结果

==

相等于                                     4==3                                             false

!=

不等于                                     4!=3                                               true

<

小于                                          4<3                                               false

>

大于                                          4>3                                                true

<=

小于或者等于                                 4<=3                                             false

>=

大于或者等于                                 4>=3                                            true

 

注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。

注2:比较运算符“= =”不能误写成“=” 。

逻辑运算符

运算符

运算

范例

结果

&

AND(与)

false & true

false

|

OR(或)

false|true

true

^

XOR(异或)

true^false

true

!

Not(非)

!true

false

&&

AND(短路与)

false&&true

false

||

OR(短路或)

false||true

true

 

逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 && x<6 。

“&”和“&&”的区别: 单&时,左边无论真假,右边都进行运算; 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 和“||”的区别同理,双或时,左边为真,右边不参与运算。

异或( ^ )与或( | )的不同之处是:对于 ^ 而言,当左右都为true时,结果为false。

三元运算符

格式:

(条件表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

运算符优先级

二、变量与运算符