[零基础学JAVA]Java SE基础部分-03. 运算符和表达式
转自:http://redking.blog.51cto.com/27212/116751
1、课程名称:运算符、表达式
讲解了JAVA中各种运算符的使用,包括与、或、非、大于、小于等。
讲解了JAVA中各种运算符的使用,包括与、或、非、大于、小于等。
2、知识点
2.1、上次课程主要知识点回顾
1、标识符命名:由字母、数字、下划线、$组成,其中不能以数字开头
2、java的数据类型划分:
· 基本数据类型
· 引用数据类型
3、 各种数据类型间的转换问题
2.1、上次课程主要知识点回顾
1、标识符命名:由字母、数字、下划线、$组成,其中不能以数字开头
2、java的数据类型划分:
· 基本数据类型
· 引用数据类型
3、 各种数据类型间的转换问题
2.2、本次课程预计讲解知识点
1、运算符
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”
程序中如果使用了除法,则被除数不能为“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、i++
· ++i:表示的先自增再进行操作
· i++:表示的是先进行操作再进行自增
第一个i++输出应该为20后再自增,第二个输出的i就已经是第一个i++后的21了哈,第三个语句++i是先进行自增后再操作应该输出22哈,所以输出应该为20、21、22,我们验证下效果哈。
开发中--操作也有两种:
· --i:先自减,再操作
· i--:先操作,再自减
· --i:先自减,再操作
· i--:先操作,再自减
我们把上面的例子修改下看看效果哈。
关系运算符:
返回的值是一个boolean值。完全可以使用一个boolean值去接收返回的内容。
返回的值是一个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中“==”就表示判断两个数相等,如果是一个“=”表示的是赋值操作语句。
在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。
true & true = true
true & false = false
false & false = false
false & true = false
只要在相与的一端有一个是false,则结果都为false。
显示false,为什么哈?false & true = false哈.
· true = 1;false = 0
|- “&&”称为短路与,是与判断语句有关的。
只要第一个条件是false,则以后永远是false,后面的条件不再判断了。
|- “&&”称为短路与,是与判断语句有关的。
只要第一个条件是false,则以后永远是false,后面的条件不再判断了。
我们修改下上面的例子哈.加个&&看看效果.
public class Demo06 { public static void main(String args[]) { /* if(布尔值){ //如果值为true,则此处代码执行 } */ if (1/1!=1&&1/0==0) { System.out.println("条件满足"); } } }; |
我们看下条件为true时的效果哈.
· 或操作(||、|)
true || true = true
true || false = true
false || false = false
false || true = true ;
只要有一个是true,则其他的永远是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运算符及表达式
public class BasicDataTypeTest{
public static void main(String args[]){
int i ,j;
i = 1;
j = 2;
System.out.println(i+j);
char a ,b ;
a = 'a';
b = 'b';
int c = 6;
// c = c + a;
int d = b + c;
char tmp ;
tmp = (char )d ;
int e = d - c ;
tmp = (char) e;
System.out.println(a+b);
System.out.println(d);
System.out.println(e);
if(1/1==1||1/0==1)
System.out.println("true");
if(1/1!=1&&1/0==1)
System.out.println("false");
/*
if(1/1==1|1/0==1)
System.out.println("true");
if(1/1!=1&1/0 ==1)
System.out.println("false");
*/
boolean t,f;
t =true ;
f = false;
boolean is ;
is = t&&f;
float fl = 12.3f;
System.out.println(is);
System.out.println(a+b+c+"hello"+fl);
}
}
public static void main(String args[]){
int i ,j;
i = 1;
j = 2;
System.out.println(i+j);
char a ,b ;
a = 'a';
b = 'b';
int c = 6;
// c = c + a;
int d = b + c;
char tmp ;
tmp = (char )d ;
int e = d - c ;
tmp = (char) e;
System.out.println(a+b);
System.out.println(d);
System.out.println(e);
if(1/1==1||1/0==1)
System.out.println("true");
if(1/1!=1&&1/0==1)
System.out.println("false");
/*
if(1/1==1|1/0==1)
System.out.println("true");
if(1/1!=1&1/0 ==1)
System.out.println("false");
*/
boolean t,f;
t =true ;
f = false;
boolean is ;
is = t&&f;
float fl = 12.3f;
System.out.println(is);
System.out.println(a+b+c+"hello"+fl);
}
}