本文共 4929 字,大约阅读时间需要 16 分钟。
在Java中,一共有5种算术运算符,分别是:+(加), -(减), *(乘), /(除), %(取模),其中前四种运算方法与我们小学学过的四则运算一致,后一种则表示求两个数相除之后求取余数.
需要注意的是:
1.除法符号两边都是整数,计算结果也是一个整数(整除)System.out.println(10/4);//2
2.除法符号两边有一边是小数,计算结果也是小数
System.out.println(10/4.0);//2.5
3.byte,short,char类型在参与计算的时候,会自动把自己提升为int类型
4.浮点数(小数),是不精确的,拿不精确的数参与计算,得到的结果更加不精确
System.out.println(2.6-2);//0.6000000000000001 无限接近于0.6
在计算机存储过程中中,每个字符在底层都是由一个数字存储,所以字符在参与+操作时,会使用字符底层的数字进行加法运算
System.out.println('B'+2);//66+2=68System.out.println('d'-3);//100-3=97System.out.println((char)97);//aSystem.out.println('中'+0);//20013System.out.println((char)20013);//中
以下常用字符和数字的对应关系:
// ‘A’ 65 A-Z是连续的 // ‘a’ 97 a-z是连续的 // ‘0’ 48 0-9是连续的
字符串可以和任意的数据类型相加,结果还是一个字符串(字符串连接)
System.out.println("你好"+true);//你好true System.out.println("你好"+1);//你好1
所以我们经常字符串的+操作的拼接作用来展示结果
int a = 10;int b = 20;System.out.println("a:"+a);//a:10System.out.println("b:"+b);//b:20
赋值运算符分为基本的赋值运算符和扩展的赋值运算符两种:
基本的赋值运算符: = 把等号右边的值赋值给等号左边的变量;
扩展的赋值运算符: +=, -=, *=, /=, %=, 把运算符左右两边的数先进行+ - * / % 的操作,再把结果赋值给左边的变量;int a = 10;a+=20;//就相当于 a= a+20;
需要注意的是:
1.+=, -=, *=, /=, %=运算符左边必须是变量,不能是常量2.+=,-=,*=,/=,%=运算符中隐含一个强制类型转换
byte cc = 10; cc+=20;//就相当于(byte)(bb+20);
自增运算符: ++,本身+1;自减运算符: --,本身-1;多用在循环中
注意:
++和–单独使用:运算符写在变量的前后结果是一样的;int a = 10;a++;System.out.println("a:"+a);//a:11
++和–与其他运算符混合使用:
++(–)写在变量前边,先把变量的值加(减)1,然后使用改变后的值参与运算;++(–)写在变量后边,先使用变量原来的值参与运算,运算结束后在把变量的值加(减)1;
int aa = 10; //--与输出语句混合使用 System.out.println(aa--);//10==>先打印aa原来的值10,在把aa进行--
作用:用于比较两个数,结果是一个布尔值
==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于
int a = 10;int b = 20;int c = 10;System.out.println(a==b);//falseSystem.out.println(a==c);//trueSystem.out.println(a!=b);//trueSystem.out.println(a!=c);//false
注意事项: 等于号是==,千万不要把 == 写成 =(赋值).
作用:用于连接布尔表达式,表达式的结果是一个布尔值
&: 与运算符:有false则false
| (回车上边shift+):或运算符:有true则true
!: 取反:非真则假,非假则真
boolean b1 = true;boolean b2 = (100+20)-30<50;boolean b3 = true;System.out.println("b2:"+b2);//b2:falseSystem.out.println(b1 & b2);//falseSystem.out.println(b1 & b3);//trueSystem.out.println(b1 | b2);//trueSystem.out.println(b1 | b3);//trueSystem.out.println(!b1);//falseSystem.out.println(!b2);//true
短路与和短路或
&&:短路与,符号左边是false,则不在执行右边,可以直接确定结果| |:短路或,符号左边是true,则不在执行右边,可以直接确定结果
&&和||和&和|的运算结果是一样的,但&&和| |可以提高效率.
int a = 10;int b = 20;//System.out.println(++a>20 & --b<30);//false & true ==>false//System.out.println("a:"+a);//a:11//System.out.println("b:"+b);//b:19System.out.println(++a>20 && --b<30);//false && 左边能确定结果,右边不在执行 ==>falseSystem.out.println("a:"+a);//a:11System.out.println("b:"+b);//b:20
元,指的是参与计算的变量个数,如:一元:1个数参与计算 ++a, --b;二元:2个数参与计算 a+b ,a>b, a && b,三元运算符:3个数参与计算,作用是获取两个数中的最大值或最小值,或者比较两个数的大小.
格式: 关系表达式? 表达式1:表达式2;
int a = 10;int b = 20;//获取a和b两个数的最大值 int max = a>b? a : b;
if语句是最常用的判断语句,其有三种语句格式
int a = 10;int b = 20;//判断a和b是否相等if(a==b){ //false System.out.println("a等于b!"); }
//键盘输入一个整数,判断整数是否为一个偶数 a%2==0Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");int a = sc.nextInt();if(a%2==0){ System.out.println(a+"是一个偶数!");}else{ System.out.println(a+"是一个奇数!");}
用于多个条件的判断
//程序从控制台接收一个百分制的分数Scanner sc= new Scanner(System.in);System.out.println("请输入您的分数:"); int score = sc.nextInt();//使用if语句对分数进行判断//90分—100分:打印:优秀if(score>=90 && score<=100){ System.out.println("优秀"); }else if(score>=70 && score<=89){ //70 – 89分,打印:良好 System.out.println("良好");}else if(score>=60 && score<=69){ //60 – 69分,打印:及格 System.out.println("及格");}else if(score>=0 && score<=59){ //0 – 59分,打印:不及格 System.out.println("不及格"); }else{ //其它情况,打印:输入的分数不正确! System.out.println("输入的分数不正确!");}
switch语句也是常用的判断语句,多用于在多个值中选择一个执行
switch (week){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("您输入的值有误!"); break;}
如果不加break,将出现穿透现象,即可能打印多个结果.
穿透的原理是当case中的语句执行完毕,而没有break时, 程序会无条件的执行后续的case或default中的语句,直到遇到break语句或整个switch语句结束为止.有时我们也会利用穿透优化程序:switch (month){ case 12: case 1: case 2: System.out.println("冬季"); break; case 3: case 4: case 5: System.out.println("春季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; default: System.out.println("您输入有误!"); break; }
好了,今天的学习就到这里了!!!
转载地址:http://wdwei.baihongyu.com/