1.运算符的优先级以及复杂表达式
优先级 | 运算符 | 结合性 |
---|---|---|
1 | ( ) [ ] . | 从左到右 |
2 | ! ~ ++ -- | 从右到左 |
3 | * / % | 从左到右 |
4 | + - | 从左到右 |
5 | << >> >>> | 从左到右 |
6 | < <= > >= instanceof | 从左到右 |
7 | == != | 从左到右 |
8 | & | 从左到右 |
9 | ^ | 从左到右 |
10 | | | 从左到右 |
11 | && | 从左到右 |
12 | || | 从左到右 |
13 | ? : | 从左到右 |
14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右到左 |
在对一个复杂表达式进行运算时,要按照运算符的优先级顺序进行从高到底进行,同级的运算符则按照在表达式中出现的位置从左到右的方向进行。
例如:x>y &&!z
相当于(x>y)&&(!z)
例如:假设int x =1,y=-2,n=10.那么,表达式x+y+(--n)*(x>y&&x>0?(x+1):y)的值int型数据,结果为17。
例题:下列运算符中,优先级最高的是:D
A:+=
B: ==
C &&
D++
2.java 语句
Java的语句可以分为5类
(1)方法调用语句
(2)表达式语句
一个表达式的最后加上一个分号就构成了一个语句,称作表达式语句。分号是语句不可缺少的一部分。
(3)复合语句:可以用"{"和"}"把一些语句括起来构成符合语句,一个符合语句叶称作为一个代码块
比如
{
x=1;
}
(4)控制语句
控制语句包括:条件分支语句,循环语句和跳转语句。
(5)package语句和import语句:与类和对象有关
3.标识符与关键字
什么是标识符?
在Java中变量以及类和方法都需要一定的名称 ,这种名称就叫做标识符。
标识符命名的基本规则:
所有标识符都必须以一个字母,下划线或美元符号$开头,后面的字符可以包含字母,数字,下划线和美元符号。
标识符的命名约定(方便读者阅读)
常量用大写字母,下划线常用于常量名词分隔。
常量用小写字母开始,如果一个常量名由多个名词构成,第一个单词后面的单词以大写字母开始,类以大写字母开始。
什么是关键字?
是Java语言本身使用的标识符,它有其特定的语法含义,Java关键字不能使用做用户标识符,如:for,while,boolean等都是Java语言的关键字。
Java中的关键字有哪些? 1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
2)2个保留字(现在没用以后可能用到作为关键字):goto、const。
3)3个特殊直接量:true、false、null。
例题:下列变量名的定义中,符合Java命名约束的是:A
A)filename
B)super
C)int
D)2$number
例题:下列不属于Java关键字的是:
A)this
B)super
C)finally
D)NULL
4.简单数据类型
Java语言提供了两种数据类型:简单类型 和引用类型
例题:Java中的基本数据类型int在不同的操作系统平台的字长是:
A)不同的
B)32位
C)64位
D)16位
常量
在Java中的常量在程序中为一个标识符,用来记忆一个固定的值。在程序执行过程中常量是不可更改的数据,常量用final声明,常量与变量的区别是前者不占用内存。Java约定常量名称用大写字母。
声明常量的格式:final 类型 常量名 = 值;
布尔类型
只有两个值,true和false,代表了两种状态:真和假,书写时直接使用true和false这两个英文单词,不能加引号。
整型常量
不含小数的整数值,书写时可采用十进制,八进制,十六进制的形式。十进制常量以非0开头后跟多个0~9之间的数字;八进制以0开头后面跟0-7之间的数字;十六进制则以0X开头后面跟多个0~9之间的数字或a~f之间的小写数字或者A~F之间的大写字母。
浮点型常量
有两种表示形式
1.十进制数形式,由数字和小数点组成,且必须由小数点,如.123,0.123,123.0
2.科学计数法形式:如123e3或123E-3,其中e或E之前必须有数,且e或E后面的指数必须为整数。
字符常量
是由一对单引号括起来的单个字符。他可以是Unicode字符集中的任意一个字符,比如'a','b'。对无法通过键盘输入的字符,可用转义符表示。
字符常量的另一种表示就是直接写出字符编码,如字母A的十六进制表示为'\u0041'。
例题:Java中定义常量的保留字是:B
A)const
B)final
C)finally
D)native
例题:下列数中为八进制的是:C
A)27
B)0X25
C)026
D)028
变量
变量在程序中为一个标识符,在内存中是一块空间,它提供了一个临时存放信息和数据的地方,具有记忆数据的功能。变量是可以改变的,它可以存放不同类型的数据,通常用小写字母或单词作为变量名。
变量有三个元素:名称,类型和值。
变量的声明和初始化
在Java中存储一个数据,必须将它保存到一个变量中。变量在使用前 必须有定义,即有确定的类型和名称。
声明变的格式为:类型 变量名 = 【初值】;
变量有一定的生命周期和作用域。变量的作用域是指允许访问变量的代码范围。按作用域来分,变量可以分成局部,变量,类成员变量,方法参数,异常处理参数等几类。
在类中声明的变量称为类的成员变量,通常在类开始处声明,可以在整个类中使用。在方法或语句块中声明的变量称为局部变量,
局部变量在声明时一定要初始化即赋初值。否则程序运行时将出错。
成员变量在声明时可以不初始化,程序运行时,系统会自动进行初始化工作,即给成员变量赋初值。
例题:下列关于Java布尔类型的描述中,正确的是:A
A:一种基本的数据类型,它的类型名称为boolean。
B:用int表示类型。
C:其值可以赋给int类型的变量。
D:有两个值,1代表真,0代表假。
例题:下列整数的定义中,错误的是:A
A:int f = 3.14
B: int a = 012;
C int i = 187;
D int d = 0X123;
5.数据类型的自动转换
Boolean类型不可转换为其它的数据类型。
整型,字符型,浮点型在混合运算中的自动相互转换,应该遵循以下原则。
占位数小的类型字段转换为占位数大的类型。
数据类型按占位数大小排序(小->大)
byte -> short ->(char) ->int ->long ->float->double。
多种类型的数据混合运算时,系统首先自动将所有数据类型转换为占位数最大的那种数据类型,然后在进行计算。
6.强制转换
占位数大的数据类型转换为占位数小的数据类型时,要加上强制转换符,但是可能会造成精度降低或者溢出,使用的时候要注意。
当需要把一个整数变成一个字符型数据使用的时候,也需要将整数类型数据强制转换为字符型数据。
变量类型强制转换的格式为:(数据类型)数据表达式;
7.各种数据类型的转换
涉及byte , short , 和char类型的运算操作首先会把这些值转换成int 类型,然后对int类型值进行运算,最后得到int类型的结果。因此 ,如果把两个byte类型值相加,最后会得到一个int类型的结果。
例题:下列表达式中,类型可以作为int型的是(C)
A)"abc"+"efg"
B)"abc" + 'efg'
C)'a' + 'b'
D)3+"4"
例题:下列关于boolean类型的叙述中,正确的是:D
A)可以将boolean类型的数值转换为int类型的数值
B)可以将boolean类型的数值转换为字符串
C)可以将boolean类型的数值转换为char类型的数值
D)不可以将boolean类型的数值转换为其它基本数据类型