java 第三章 运算符,表达式和语句

1.加减运算符+,-(4级)是二目运算符,结合方向是从左到右。

2.乘*,除/,求余%(3级)是二目运算符,结合方向是从左到右,操作元是整型或浮点型数据

3.自增++,自减—是单目运算符,操作元必须是一个整型或浮点型变量。++x(--x)表示在使用x之前,先使x的值增(减)1;x++(x--)表示在使用x之后,使x的值增(减)1。

4.精度从低到高排列顺序是:byte,short,char,int,long,float,double。如果表达式中有double型数据,则输出double型;如果表达式中有float型数据,则输出float型;以此类推;如果表达式中最高精度低于int型整数,则按int型精度进行计算。

5.java允许把不超出byte,short,char的取值范围的算术表达式的值赋给byte,short,char型变量。

6.关系运算符(6级)用来比较两个值的关系,的运算结果是boolean型(true和false,不能是0,1)。如果是数据类型,则比较数据内容;如果是引用类型,则比较引用对象的引用值

7.逻辑运算符包括&&(11级),||(12级),!(2级)。其中&&,||为二目运算符,结合方向为从左到右,!为单目运算符,结合方向为从右到左。操作元必须是boolean型数据。

8.赋值运算符=是二目运算符(14级),左面的操作元必须是变量,不能是常量和表达式,结合方向是从右到左。不要将赋值运算符=与关系运算符==混淆。

9.整数类型在内存中以二进制的形式表示,左面最高位是符号位0表示正数1表示负数。负数采用补码表示。

10.按位与运算符&是双目运算符,对两个整型数据a,b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a,b两个数据对应位都是1,则c的该位是1,否则是0。如果b的精度高于a,那么结果c的精度和b相同。

11. 按位或运算符|是双目运算符,对两个整型数据a,b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a,b两个数据对应位都是0,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。

12.按位非运算~是单目运算符,对一个整型数据a按位进行运算,运算结果是一个整型数据c。运算法则是:如果a对应位是0,则c的该位是1,否则是0。

13. 按位异或运算符^是双目运算符,对两个整型数据a,b按位进行运算,运算结果是一个整型数据c。运算法则是:如果a,b两个数据对应位都相同,则c的该位是0,否则是1。如果b的精度高于a,那么结果c的精度和b相同。

14.位运算符也可以操作逻辑型数据,法则是:

当a,b都是true时,a&b是true,否则a&b是false。

当a,b都是false时,a|b是false,否则a|b是true。

当a是true时,~a是false;当a是false时,~a是true。

位运算符在操作逻辑型数据时,与逻辑运算符&&,||,!不同的是:位运算符要计算完a和b的值之后再给出运算的结果。

15.instanceof是二目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符的结果是true,否则是false。

16.运算符的优先级和结合性

17.if语句是单条件单分支语句,语法格式:

if(表达式){

若干语句

if后面的一对小括号()内的表达式的值必须是boolean类型,如果只有一条语句,{}可以省略不写。

18.if-else语句是单条件双分支语句,语法格式:

If(表达式){

若干语句

else{

若干语句

if后面的一对小括号()内的表达式的值必须是boolean类型。如果只有一条语句,{}可以省略不写。

19.switch语句是单条件多分支的开关语句,格式为(其中break语句是可选的):

switch(表达式)

case 常量值1:

若干语句

break;

case 常量值2:

若干语句

break;

case 常量值n:

若干语句

break;

default:

   若干语句

switch语句中“表达式”的值可以为byte,short,int,char型(不可以是long型数据);常量值也是byte,short,int,char型,而且要互不相同。

20.for(表达式1;表达式2;表达式3){

若干语句

21.while(表达式){

若干语句

22.do{

若干语句

}while;

23.在循环体中可以使用break语句和continue语句。在一个循环中,例如循环50次的循环语句中,如果在某次循环中执行了break语句,那么整个循环语句就结束。如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入下一次循环。

24.for(声明循环变量:数组的名字){

……

声明的循环变量的类型必须和数组的类型相同,声明循环变量必须是变量声明,不可以使用已经声明过的变量

25.创建一个对象:Scannerreader=new Scanner(System.in);

然后用reader对象调用下列方法,读取用户在命令行输入的各种基本数据的类型。

nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()。

上述方法执行都会阻塞,等待用户在命令行输入数据回车确认。在从键盘输入数据时,经常让reader对象先调用hasNextXXX()方法等待用户在键盘输入数据,然后在键盘输入一个非数字字符串结束整个操作过程。


你可能感兴趣的:(java总结)