从这里我们就要进入程序里面的语句了,无论是C C++还是java,它们都是有表达式语句运算等组成。
表达式:由操作数与运算符所组成;操作数可以是常量、变量也可以是方法,而运算符就是数学中的运算符号,如“+”、“-”、“*”、“/”、“%”等。
一个表达式引出这么多东西,下面我们来一一看看这是什么东西。
操作数:常量、变量或者方法(方法怎么用?)
运算符:数学中的运算符号,除了数学中的还有几个不同的,大家要记住 ~ 取补码 % 取模(取余数)!取反(只用于布尔值)= 赋值,通过一个实例来解释这些东西。
public classjavafh
{
public static void main(String args[])
{
byte a = java.lang.Byte.MAX_VALUE;//最大值是127 最小值-128
boolean b = false;
int c = 5 , d = 2 , e;
e = c%d ; // 5/2=2……1
System.out.println("a ="+a+",~a = "+~a); //~a 取最小值
System.out.println("b ="+b+",!b = "+!b); //b取反就是true
System.out.println("5%2 ="+e);
}
}
a++会先执行整个语句后再将 a 的值加 1 先执行再赋值
++b 则先把 b 的值加 1 后,再执行整个语句先赋值再执行
a--会先执行整个语句后再将 a 的值减 1
--b 则先把 b 的值减 1 后,再执行整个语句
实例
public classjavajj
{
public static void main(String args[])
{
int a,b,c,d;
a = 6;
b = 6;
c = 6;
d = 6;
System.out.print("a ="+a);
System.out.println(",a++ =" +(a++)+", a = "+a);
System.out.println("b ="+b+",++b = "+(++b)+", b = "+b);
System.out.println("c ="+c+",c-- = "+(c--)+", c = "+c);
System.out.println("d ="+d+",--d = "+(--d)+", d = "+d);
}
}
逻辑运算符主要有两个
&& 逻辑与 真真才真
|| 逻辑或 假假才假
逻辑运算主要适用于IF语句中,IF语句下面教程详细叙述
括号运算本着数学中的括号运算
下面通过一个实例来叙述逻辑运算和括号运算
实例:小明的语文成绩72分,数学成绩80分,英语成绩53分,文综是55分,计算出平均分,判断平均分是否在80分以上打印出优秀,在70-80分之间打印出良好,在60-70打印出合格,在60分以下打印出不合格。
public classjavacj
{
public static void main(String[] args)
{
int yw=72,sx=80,en=53,wz=55;
float pj;
pj = (yw+sx+en+wz)/4; //使用了括号符号
if (pj >= 80)
System.out.println("pingjun fen shi: "+pj+" cheng ji you xiu");
if ((pj >= 70) && (pj< 80)) // 逻辑与的使用真真才真
System.out.println("pingjun fen shi: "+pj+" cheng ji liang hao");
if ((pj >= 60) && (pj< 70))
System.out.println("pingjun fen shi: "+pj+" cheng ji he ge");
if (pj < 60)
System.out.println("pingjun fen shi: "+pj+" cheng ji bu he ge");
}
}
上面的实例中,功能实现是没问题,感觉太麻烦,主要介绍括号和逻辑运算符的作用,希望大家能理解。
优先级是先乘除后加减有括号的先算带括号的,一般原则是先左后右,也就是数学原则。
表达式是由常量、变量或是其他操作数与运算符所组合而成的语句。
上面例子中的语句就是表达式组成,但我们要学习简洁的表达式
+= -= *= /=
a =+ b 意思就是把a+b的值赋给a
- * /类似
a *= b++ a=a*b;b++
a *=++b b++;a=a*b
下面这个实例说明这些简洁的表达式的使用
public class javasl
{
public static void main(String []args)
{
int a=2,b=2;
System.out.println("a ="+a+", b = "+b+", (a+=b),a = "+(a+=b));
System.out.println("a ="+a+", b = "+b+", (a+=b++),a = "+(a+=b++));
System.out.println("a ="+a+", b = "+b+", (a+=++b),a = "+(a+=++b));
System.out.print("a ="+a+",b = "+b);
}
}
原则:以不流失数据为原则,可以做个类型转换,但布尔值不可以转换。
转换原则:
1 占用字节较少的类型转换成占用字节较多的类型。
2 字符类型会转换成 int 类型。
3 int 类型会转换成 float 类型。
4 表达式中若某个操作数的类型为 double,则另一个操作数字也会转换成 double类型。表达式中若某个操作数的类型为 double,则另一个操作数字也会转换成 double类型。
5 布尔类型不能转换成其它类型。
看这个实例大家就明白了
public classjavazh
{
public static void main(String[] args)
{
int a = 2;
char b = ‘b‘;
float c = 2.5f;
double d = 4.25;
System.out.print("(b/c)+(d/a)=");
System.out.println((b/c)+(d/a));
}
}
本文出自 “运维时代” 博客,请务必保留此出处http://daomeng.blog.51cto.com/1655407/1812357
原文地址:http://daomeng.blog.51cto.com/1655407/1812357