一、运算符
运算符优先级:如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理
1.赋值运算符
赋值运算以符号 “=”表示,比如:赋予一个变量a=1
2.自增和自减运算符,++和- –
- ++a或a++,相当于a=a+1
- – -a或a- -,相当于a=a-1
- ++a或- -a,都应用于变量a之前,表示在变量a之前,先让a的值增减1
- a++或a- -,都应用于变量a之后,表示在变量a之后,先让a的值增减1
如下图,b=a++,是先将a的值赋予b,然后再a+1,所以此时a=2,b=1。
b=++a,是先将a的值+1,然后再赋予b,所以此时a=2,b=2
3.比较运算符(结果返回true或flase)
- >,比较左边是否大于右边
- <,比较左边是否小于右边
- ==,比较左边是否等于右边
- >=,比较左边是否大于等于右边
- <=,比较左边是否小于等于右边
- !=,比较左边是否不等于右边
4.逻辑运算符,返回类型:布尔值
&和&&的区别在于:&会对两个进行判断;&& 若第一个是错误的就不会去判断第二个,这样可以减少占用电脑内存
二、Java语句
1. if 条件语句
(1)简单的if 条件语句
if(布尔表达式){语句序列}
如图,当布尔表达式返回true 时候,执行后面的语句;否则不执行
(2)if…else 语句
if(表达式){若干语句} else{若干语句}
如图,if 表达式若成立,就执行后面的语句;否则,执行else后面的语句
(3)if…else,if 多分支语句
if(条件表达式1){语句序列1} else if(条件表达式2){语句序列2} else if(条件表达式3){语句序列3}……else if(表达式n){语句序列n}
如图,判断if 表达式1是否成立,成立就执行后面语句;否则,接着判断if表达式2是否成立,成立就执行后面的语句……以此类推
2. switch 多分支语句
switch(表达式) {
case 常量1:语句块1;break;
case 常量2:语句块2;break;
case 常量n:语句块n;break;
default :语句块;break;}
当表达式返回的值等于常量1时,执行语句块1;等于常量2时,执行语句块2,以此类推;都不等于的情况下,执行default后面的语句块
如下图,意思是当slider的数值为10时,输出位置信息[1000,1000];当数值为20时,输出[1,1];不符合以上条件的情况下,输出与滑块相同的值(因为两个输出的值都绑定了Slider)
注:switch中的表达式和case后面的值必须是整数、字符、字符串,所以有了图中的n=0+绑定滑块 switch(n)
若直接n=绑定滑块,则是无效的,即想绑定某些数值,在绑定的表达式上做运算即可,如下图
3.循环语句
(1)while 循环语句
while(条件表达式) {执行语句}
当条件表达式返回值为真时,执行括号中的语句;否则重新判断,直到返回结果为假时,退出循环。
如下图,如果n小于等于0,就输出n;若大于0,就执行后面的运算,直至n小于等于0,输出n
(2)do….while 循环语句
do{执行语句} while(条件语句)
先执行do后面的语句,再判断条件语句是否成立。如果成立,则继续执行语句,直至不成立输出值。
如下图,n=310,执行n=310-200=110,判断是否n>100。若成立,则继续执行语句n=110-200=-90,再判断是否n>100,不成立则退出,循环值
(3)for循环语句
- for(表达式1;表达式2:表达式3){语句序列}
表达式1:定义变量,表达式2:为布尔表达式返回真or假,表达式 3:用来改变变量
这个循环语句先执行表达式1,再判断表达式2,若为true,则进入循环,执行语句序列,再执行表达式3,再执行表达式2,判断是否为true,若为false,退出循环,输出值,若为true,则继续循环,直至false,输出最后值。
如图,先定义变量n=1,然后执行表达式1,判断是否n>0成立,则执行语句序列n=1-1 =0,再执行表达式3,n=0-2=-2,再执行表达式2,判断是否n>0,不成立则输出n值
- for(表达式1;表达式2;){表达式3;if(布尔表达式);break;n++}
n++和n=n+1相同,n为变量
执行表达式1,定义变量。再执行表达式2,再执行表达式3
接着执行if(布尔表达式),成立则输出值
不成立则执行x++,再进入循环
如图,先定义变量n=1,再执行表达式2,n=1+1=2。再执行表达式3,n=2+4=6
执行if,判断是否n>8,不成立则执行n++,即n=6+1=7
再执行表达式2,n=7+1=8,再执行表达式3,n=8+4=12
判断if 成立,所以输出值为12
(4)try…catch 语句
try{ }catch(err){ }
try…catch可以测试代码中的错误。try部分包含需要运行的代码,而catch 部分包含错误发生时运行的代码