一、Java语言的基本组成

1、关键字:被java语言赋予了特殊含义的单词。

特点:①.关键字所有字母都是小写的。

           ②.java中的关键字根据功能不同可以分成多种类型。

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

class

Interface

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

assert

 2、标识符:在程序中自定义的一些名称。

①.特点:由26个英文字母大小写、数字:0~9、符号:_$组成。

②.定义规则:

数字不可以开头。

不可以使用关键字。 

3、Java语言的命名规范:

注意:java严格区分大小写。在起名字的时候尽量取的有意义,以提高阅读性。

格式:XxxYyyZzz             例如:Demo、FactoryProxyMode
     格式:xxxYyyZzz           例如:printStudentName、getAge
     格式:XXX_YYY_ZZZ          例如:COUNTRY、MY_FIRST_NAME
     格式:xxx或者xxx.yyy.zzz           例如:package、cn.itcast.demo

4、常量:表示不可改变的数值。

①.java中常量的分类:

  •  整数常量:所有的整数。
  •  小数常量:所有的小数。
  •  布尔型常量:较为特有,只有两个值:true和false。
  •  字符型常量:将一个数字或者字母通过单引号(‘ ’)标识起来。
  •  字符串常量:将一个或者多个字符通过双引号(“ ”)标识起来。
  •  null常量:只有一个值:null。

②.对于整数:java有三种表现形式。

0~9,逢10进1。       例如:9

0~7,逢8进1,用0开头。      例如:056

0~9、A~F,逢16进1,用0x开头表示。      例如:0x3C

 5、进制之间的转换

  • 正数的进制之间的转换

①.十进制转二进制:除2取余,逆向读数

java 关键字 大写 java关键字都是小写吗_数据类型


②.二进制转十进制:按权相加法。

java 关键字 大写 java关键字都是小写吗_java 关键字 大写_02



③.二进制转十六进制:每4位二进制数变成一位十六进制数。

java 关键字 大写 java关键字都是小写吗_运算符_03


④.二进制转八进制:每3位二进制数变成一位八进制数。

java 关键字 大写 java关键字都是小写吗_java 关键字 大写_04

 

       总结:十进制转八进制,转十六进制跟转二进制的过程是一样的(反过来,二进制转8进制或者16进制,跟②的步骤是类似的),将十进制数除以8或者除以16,能整除就取0,否则取1,逆向读数。

       更方便的方法:先将十进制数转成二进制数,然后把每3位或者每4位作为一位来分别表示8进制或者16进制中的一位。

 

  • 负数的二进制

     转换原理:其实就是该负数对应的正数二进制的补码形式。

0,负数的最高位都是1。

.正数:原码=补码(例如:6的原码和补码都是110)。

.负数:原码的每一位取反(即反码)再加1。如下:

   

java 关键字 大写 java关键字都是小写吗_java 关键字 大写_05

 

6、变量:数值可以不断变化的一块内存存储区域(相当于数学中的未知数)。

特点:①.每个变量在内存中必须要有自己名称(变量名)和类型(数据类型)。

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

           ③.变量需要声明才能使用。


作用:用来不断的存放同一类型的常量,并可以重复使用。

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

例如:int x=4;

***什么时候定义变量?***

当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作。 

Java 语言的数据类型:基本数据类型(也称:原始数据类型)、引用数据类型。

 

java 关键字 大写 java关键字都是小写吗_自增_06

注意:java中整数类型默认的是int类型,小数默认的是double类型。 

7、数据类型转换

      (1)自动类型转换(隐式类型转换):在运算过程中,当表示小范围数据类型的数值和表示大范围数据类型的数值相运算时,系统会自动将表示小范围数据类型的数值自动提升为高类型。

 自动类型转换的条件:

转换前的数据类型要与转换后的数据类型兼容。

转换后的数据类型表示的范围要比转换前的类型大。 

      (2).强制类型转换(显式类型转换):在运算过程中,如果想将两个不同数据类型的数值的运算结果强制成指定的数据类型。

     格式:(要转换的数据类型)变量名; 

注意:

.类型的转换只限该行语句,并不会影响原先定义的变量类型。

.任何数据类型碰到String类型的变量或者常量之后都向String类型转换。 

二、运算符

1、概念:运算符就是数学中的运算符号。Java中的运算符可以分为:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符和三元运算符等等。

2、算术运算符:

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4;-b;

-4

+

5+5

10

-

5-3

2

*

3*4

12

/

8/2

4

%

取模(取余数)

5%2

1

++

自增(前)

a=2;b=++a;

a=3;b=3

++

自增(后)

a=2;b=a++

a=3;b=2

--

自减(前)

a=2;b=--a

a=1;b=1

--

自减(后)

a=2;b=a--

a=1;b=2

+

字符串连接符

“ab”+”cd”

“abcd”

 注意:

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

.对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

.“+”除字符串相加功能外,还能把非字符串转换成字符串。 

总结:

.取模运算的规律:%左边如果小于右边,则结果是左边。左边等于右边,结果是0(能整除,结果就为0)。右边是1,结果也是0。

.取模运算时。如果出现负数,则运算结果的符号就看被模数(%左边)。

.自增(++)或者自减(--)时,如果++(或--)在前面,表示该变量先自增1(或减1),再赋值。而++(或--)在后面,则表示先赋值,再自增1(或减1)。

.无论是a++(或++a)还是a--(或者--a),变量a的值始终都会自增1或者自减1。 

3、转义字符:通过反斜线( \ )这个符号来转变后面字母或者符号的含义。 

4、赋值运算符

运算符

范例

结果

=

int a=3;

a=3

+=

int a=4;a+=3;

a=7(相当于a=a+3)

-=

int a=4;a-=3;

a=1(相当于a=a-3)

*=

int a=4;a*=3;

a=12(相当于a=a*3)

/=

int a=8;a/=2;

a=4(相当于a=a/2)

%=

int a=5;a%=2;

a=1(相当于a=a%2)

 5、比较运算符

运算符

运算

范例

结果

==

相等于

4==3

false

!=

不等于

4!=3

true

小于

4<3

false

大于

4>3

true

<=

小于等于

4<=3

false

>=

大于等于

4>=3

false

instanceof

检查是否是某个类的对象

“abc” instanceof String

true

 注意:

      ①.比较运算符的结果都是boolean型,要么是true,要么是false。

      ②.比较运算符中的“==”不能误写为“=”,两者是两个功能不同的运算符。 

6、逻辑运算符

运算符

运算

范例

结果

&

AND(与)

false & true

false

|

OR(或)

false | true

true

^

XOR(异或)

true ^ false

true

!

Not(非)

!true

false

&&

AND(短路与)

false && true

false

||

OR(短路或)

false || true

true

 ①.作用:用于连接boolean类型的表达式。

②.逻辑运算符运算规律:

③.&和&&以及|和||的特点: 

7、位运算符

运算符

运算

范例

<< 

左移

3<<2=12 --> 3*2*2=12

>> 

右移

3>>1=1 --> 3/2=1

>>> 

无符号右移

3>>>1=1 --> 3/1=1

&

与运算

6 & 3 = 2

|

或运算

6 | 3 = 7

^

异或运算

6 ^ 3 = 5

~

反码

~6 = -7

 

总结:

<<:表示乘以2的倍数。左移之后,移出的高位被舍弃,空出的低位用0补。

>>:表示除以2的倍数。如果最高位为0,右移之后,移出的低位被舍弃,空出的高位用0补。如果最高位为1,右移后,空出的高位用1补。

>>>:无论最高位是0还是1,右移后,空出的高位全部用0补。

~:对二进制的每位取反。 

运算:二进制位进行&运算,只有1&1时结果才为1,否则都为0。

运算:二进制位进行|运算,只有0|0时结果才为0,否则都为1。

运算:相同二进制进行^运算,结果是0。不同二进制进行^运算,结果是1。 

技巧:二进制的1就是true,0就是false) 

     注:一个数异或同一个数两次,结果还是这个数。   例如:6^3^3=6 

8、三元运算符

①.概念:三个元素参与运算的符号。

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

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

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

     例:

int x = 1,y;
     y = (x>1)?100:200;
     System.out.println(“y=”+y);  //结果为y=200

 

注意:

     ①.三元运算符运算后一定会有一个结果。

     ②.三元运算符的运算结果会根据表达式1和表达式2的值的数据类型而变化(类型自动提升)。

     例如:

int x = 1,y;
     y =(x>0)?'a':200;
     System.out.println("y="+y);    //结果y=97

9、运算符的优先级

优先级

运算符

结合性

1

()

从左至右

1

[]

从左至右

2

!、+(正号)、-(负号)

从右至左

2

~

从右至左

2

++、--

从右至左

3

*、/、%

从左至右

4

+、-

从左至右

5

<<、>>

从左至右

6

>、>=、<、<=

从左至右

7

==、!=

从左至右

8

&

从左至右

9

^

从左至右

10

|

从左至右

11

&&

从左至右

12

||

从左至右

13

?:

从右至左