1、课程名称:运算符、表达式
讲解了JAVA中各种运算符的使用,包括与、或、非、大于、小于等。
2、知识点
2.1、上次课程主要知识点回顾
1、标识符命名:由字母、数字、下划线、$组成,其中不能以数字开头
2、java的数据类型划分:
・ 基本数据类型
・ 引用数据类型
3、 各种数据类型间的转换问题
2.2、本次课程预计讲解知识点
1、运算符
2、表达式
3、具体内容
本季目标
运算符
算术运算符
+:表示两个数字相加
-:表示两个数字相减
Demo01:
public class Demo01
{
public static void main(String arg[])
{
int i=3;
int j=5;
i=i+j;
//i+j==>i
System.out.println(i);
float f1=9.5f;
float f2=2.5f;
System.out.println(f1-f2);
}
}
|
*、/:乘法、除法
Demo02:
public class Demo02
{
public static void main(String args[])
{
int i = 30;
int j = 3;
System.out.println(i*j);
System.out.println(i/j);
}
}
|
注意点:
程序中如果使用了除法,则被除数不能为“0”
Char和int之间也是可以相互转换的。
Demo02:
public class Demo02
{
public static void main(String args[])
{
char i = 'A';
int j = 10;
j = i + j;
i = (char)j;
System.out.println(i);
}
}
|
%取模操作(取余数)
1/2的话是商为0,余1哈。
我们看下20/3余2的效果哈。
++和--操作
・ ++表示自增,自己可以增加一个
・ -- 表示自减,自己可以减少一个
开发中++有两种情况:++i、i++
・ ++i:表示的先自增再进行操作
・ i++:表示的是先进行操作再进行自增
第一个i++输出应该为20后再自增,第二个输出的i就已经是第一个i++后的21了哈,第三个语句++i是先进行自增后再操作应该输出22哈,所以输出应该为20、21、22,我们验证下效果哈。
开发中--操作也有两种:
・ --i:先自减,再操作
・ i--:先操作,再自减
我们把上面的例子修改下看看效果哈。
关系运算符:
返回的值是一个boolean值。完全可以使用一个boolean值去接收返回的内容。
我们来测试下哈:
public class Demo03
{
public static void main(String args[])
{
int i=10;
int j=20;
System.out.println(i>j);
}
};
|
public class Demo03
{
public static void main(String args[])
{
int i=10;
int j=20;
boolean b=i>j;
System.out.println(b);
}
};
|
b输出了false,证明完全可以使用一个boolean值去接收返回的内容。
注意点:
在java中“==”就表示判断两个数相等,如果是一个“=”表示的是赋值操作语句。
布尔逻辑运算:
・ !:表示非,表示与实际值相反。
我们修改下上面的例子哈:
输入b的值相反true哈.
public class Demo04
{
public static void main(String args[])
{
int i=10;
int j=20;
boolean b=i>j;
System.out.println(!b);
}
};
|
・ 与操作(&&、&)
true & true = true
true & false = false
false & false = false
false & true = false
只要在相与的一端有一个是false,则结果都为false。
显示false,为什么哈?false & true = false哈.
以前我们说过,任何数都不能除以0,否则程序会出错,我们看下效果哈.
・ true = 1;false = 0
|- “&&”称为短路与,是与判断语句有关的。
只要第一个条件是false,则以后永远是false,后面的条件不再判断了。
我们修改下上面的例子哈.加个&&看看效果.
public class Demo06
{
public static void main(String args[])
{
/*
if(布尔值){
//如果值为true,则此处代码执行
}
*/
if (1/1!=1&&1/0==0)
{
System.out.println("条件满足");
}
}
};
|
没看到出错信息哈,因为加了“&&”短路与后,
这个条件已经为false了,则以后永远是false,所以后面的条件不再判断了。
我们看下条件为true时的效果哈.
・ 或操作(||、|)
true || true = true
true || false = true
false || false = false
false || true = true ;
只要有一个是true,则其他的永远是true
短路或:只要第一个条件为真了,则以后的条件都不用判断了。
第一个为true哈,应该显示true,我们看下效果.
我们来比较下||和|区别哈.
我们先看下||短路或,1/1==1为true,执行下面的语句显示51cto.blog哈。
显示正常哈。
那我们改成|非短路或呢?我们看下效果哈。
在判断第二个条件时出错了哈。
在代码开发中比较常用的就是“||”、“&&”。
位运算符
这在开发中不大常用哈.
赋值运算符=
这个应该非常熟悉了哈.
扩展赋值运算符
+=
-=
*=
/=
10/20为什么是0,不是0.5哈,我们说过这是因为整型变量损失精度的原因哈。我们要输出0.5的值,就要指定i为一个float变量类型。
字符串连接运算符
字符串的连接操作:
程序中如果使用“"”括起来的代码称为字符串。字符串的连接使用“+”
看下效果哈
注意:任何数据类型如果遇到了字符串,则肯定全部转换为字符串类型。
这句话我们验证下哈:
看到没,i和j全部转换成字符串类型输出了哈。
运算符优先级
我们可以使用()改变优先级
表达式
三目运算符
本季重点
Java运算符及表达式