JAVA语言学习笔记之运算和语句

2.1数据运算
高级语言中,运算通过表达式来表示。表达式又是通过运算符和运算分量组成,运算分量是指常量、变量、方法调用。
JAVA的基本运算有下列几种:
赋值运算算术运算、
自增运算
自减运算
关系运算
逻辑运算
条件运算、
字符串连接运算。
2.1.1 赋值运算
赋值运算分为两类:简单赋值运算、复合赋值运算
1.简单赋值运算形式
变量=表达式
赋值运算执行过程:
(1)计算表达式(2)赋值运算符两端类型不一致时候,表达式值类型自动转换为变量类型(3)赋值到变量并同时存储到变量对应的存储单元
注意点:自动类型转换是指简单类型向复杂类型的转换,是单向的,既不能由复杂转换成简单的
byte-short-int-long-float-double
赋值运算符结合性是"自右向左",有连续多个赋值运算时,从右向左逐个赋值
2.复合赋值运算
复合赋值运算的特点是变量要参与运算也要接受赋值,常用的赋值运算符有:
+=
-=
*=
/=
%=
如果@为双目运算符,则复合运算 x@=e就等效于 x=x@(e)
 
2.1.2算术运算
算术运算中运算变量的类型都是数值型(整数类型或是浮点数类型),其中只有一个运算分量的是单目运算,有两个运算分量的是双目运算。
单目运算符:  +(取正)、-(取负)
双目运算符: +(加)、-(减)、*(乘)、/(除)、%(余数)
注意点:单目运算符优先级高于双目运算符;余数运算符的结果符号与被除数符号相同
 
2.1.3自增和自减运算
自增运算符"++"、自减运算符"--"都是单目运算符,并且要求运算分量是数值类型变量,作用是是变量值增加1或者减少1。
自增自减运算的四种形式:
++i形式,引用变量前i+1,变量值为i初始值加1    如:i=4;j=++i;运算结果i=5,j=5
--i形式,引用变量前i-1,变量值为i初始值减1 如:i=4;j=--i;运算结果i=3,j=3
i++形式,引用变量后i+1变量值在运算后将初始值加1 如:i=4;j=i++;运算结果i=5,j=4
i--形式,引用变量后i-1变量值在运算后将初始值减1 如:i=4;j=i--,运算结果i=3,j=4
注意点:自增自减运算时的运算对象只能是变量,不能使常量或表达式,如4++或(i+j)++为不合法
 
2.1.4关系运算
关系运算用来进行两个表达式的比较,运算的结果是布尔型。
关系运算符有6个,如下:
<小于
<=小于等于
>大于
>=大于等于
==等于
!=不等于
关系运算结果有两个,比较结构成立为true,比较结构不成立为false
注意点:<、>、<=、>=的运算优先等级高于==、!= ;关系运算符的优先级低于算术运算符;关系运算符的结合方向是从左向右
 
2.1.5逻辑运算
逻辑运算用来实现连续多个条件的逻辑与、逻辑或、逻辑否定的判定。逻辑运算符有三个&&(与)、||(或)、!(非)。逻辑运算的操作数是布尔型,结果也是布尔型。
注意点:!(非)的优先级高于算术运算符,&&(与)和||(或)优先级低于关系运算符
逻辑运算基本性质:
1.对于表达式a&&b,如果a=false,该表达式为false,仅当a=true时,计算b,确定表达式结果
2.对于表达式a||b,如果a=true,该表达式为true,仅当a=false时,计算b,确定表达式结果
 
2.1.6条件运算
条件运算属于三目运算,形式为逻辑表达式?表达式1:表达式2 
条件运算的执行过程:
(1)计算逻辑表达式
(2)如果逻辑表达式的值为true,计算表达式1,并以表达式1的值作为条件运算的结果
(3)如果逻辑表达式的值为false,计算表达式2,并以表达式1的值作为条件运算的结果
注意点:条件运算符(?:)优先级高于赋值运算符,低于逻辑运算符,关系运算符,算术运算符;条件运算符的结合性为“自右向左”,如x>y?:x:u>v?:u:v等价于x>y?x:(u>v?:u:v)
 
2.1.7位运算和移位运算
1. 位运算
位运算符有 4 个,优先级从高到低分别是 ~( 位反 ) &( 位与 ) ^( 位异或 ) |( 位或 )
位反运算符是单目运算符,其优先级高于算术运算符,位与、位异或、位或运算符低于关系运算符
(1) 位与运算
规则 0&0=0 ,0&1=0,1&0=0,1&1=1
典型用法 : 一种是取位串的某几位,一种是保留变量的某几位
(2) 位或运算
   规则 0|0=0,0|1=1,1|0=1,1|1=1
   典型用法 : 将位串的某几位置 1
(3) 位异或运算
   规则 0^0=1,0^1=0,1^0=1,1^1=0
   典型用法 : 将位串的某几位取反
(4) 位反运算
   规则 诸位将位串各位取反
   典型应用 : 将正数变为负数(原码取反 +1 变成补码)、负数变为正数 ( 补码 -1 取反 )
 
2. 移位运算
  移位运算符有三个 分别是左移运算符 << 、右移运算符 >> 、逻辑右移运算符 >>>
  左移运算规则:左运算分量每一位向左运动,右边空出位置用 0 填充,左端移出位信息丢弃。每左移 1 位相当于乘 2
  右移运算规则:左运算分量每一位向右移动,右端移出位信息丢弃。每右移 1 位相当于除以 2
 
2.2 语句
程序语言使用语句来描述计算步骤。
JAVA 语言中语句的基本形式:
基本语句 ------------------- 表达式语句
                   空语句
                   Break 语句
                   Continue 语句
                   Return 语句
控制结构语句 ------------ 复合语句
                   If 语句
                   Switch 语句
                    循环语句 ---------------while 语句
                                    Do…while 语句
                                    For 语句
                   Try…catch 语句
Package 语句
Import 语句
 
2.2.1 基本语句
基本语句主要由表达式语句、空语句、 break 语句、 continue 语句、 return 语句等。基本语句以分号结尾。
1. 表达式语句
在赋值表达式、自增自减表达式、方法调用表达式后加上分号即为表达式语句。
2. 空语句
只有一个分号的语句。空语句什么都不执行,作用使用循环执行动作的程序中
3.break 语句
出现在多路按值选择结构或循环结构中,强制结束所在的控制结构,让程序执行后续语句。
4.continue 语句
出现在循环结构中,作用是提早结束当前轮次循环,进入下一轮次循环
5.return 语句
出现在方法体中,作用是结束方法的执行返回到方法调用处。
 
2.2.2 复合语句
2.2.3 if 语句
两路条件选择结构,基本型式如下 :
If ( 条件表达式 )
语句 1
Else
语句 2
2.2.4 switch 语句
Switch( 表达式 )
{
Case 常量表达式 1: 语句序列 1;break;
Case 常量表达式 2: 语句序列 2;break;
Case 常量表达式 n: 语句序列 n;break;
}
2.2.5 try…catch 语句
为了出线异常处理代码时,可以直接中断正常的执行流程,直接执行处理异常的程序语句块。
基本型式 :
Try
{ 语句块
}
Catch
{ 异常发生时需要处理的程序 }
Finally
{ 无论是否发生异常的都要处理的语句块 }
2.2.6 while 语句
当条件成立时候重复执行指定的循环体。
基本形式 :
While( 条件表达式 )
循环体
2.2.7 do…while 语句
重复执行指定的循环体,直至条件不成立结束循环。
基本形式 :
Do
循环体
While( 条件表达式 )
2.2.8 for 语句
循环之前为变量设置初始值,在循环结构中变量逐一变化的循环计算结构。
For 循环语句包含四个部分:为循环有关变量赋初始值的表达式、控制循环条件的表达式 2 、实现循环计算的语句、执行循环后有关变量更新的表达式 3
基本形式:
For (表达式 1 ;表达式 2 ;表达式 3
语句
 
For 语句的状况
1 for 语句形式中,表达式 1 、表达式 2 、表达式 3 都可以省略。
表达式 1 省略表示没有赋初值部分,前面的程序段已经为有关变量赋了初值;
表达式 2 省略表示循环条件永远为真,循环体中使用 break 语句转移
表达式 3 省略表示没有独立的变量更新,变量更新在循环体中处理
注意点,无论三个表达式是否都省略,其中的两个分号不能省略,如下格式
for(;;){
If ( 条件 )break;
}
 
(2) 在表达式 1 、表达式 2 、表达式 3 都可包含多个子表达式,子表达式之间用逗号分隔
(3) 允许在初始化部分 ( 表达式 1) 对变量作说明
 
2.2.11 package 语句
程序员可以使用该语句将自己编写的类组成程序包,便于以后调用。
基本形式:
Package 包名;
注意点: package 语句必须出现在源程序文件的起始行,表示出现在该文件的所有类都属于该程序包;包名是一个目录名,可以有路径。如果源程序文件首行没有 package 语句,则被默认为无名包,存于当前目录
 
2.2.12 import 语句
用来引入所需要的类。
基本格式 :
Import 包名 .
注意点:如果需要从一个包中引入多个类,可以用通配符 ”*”
Java 源程序中可以有多个 import 语句,它们必须出现在 package 语句之后,类的定义之前
 
2.2.13 java 应用程序的基本结构
[package 包名; ]
Import 包名 . 类名;
…// 更多的 import 语句,引入更多的类
[public]class 类名 {
Int val=… // 变量定义语句
Public static void main(string args[]) // 方法定义
{
…// 变量定义和控制语句构成的方法体
}
}

你可能感兴趣的:(java,注释,语言,字节,源程序)