一.表达式
表达式由运算符和操作数组成,如5,num1,num1+num2(+是运算符,num1,num2是操作数),sum=num1+num2(两步运算,一步是加,一步是赋值)
运算符:算术运算符,赋值运算符,关系运算符,逻辑运算符,条件运算符,位运算符
和Python有一点不同:Python中运算符:算术运算符;比较(关系)运算符;赋值运算符;逻辑运算符;位运算符;成员运算符(in,not in);身份运算符(is ;is not)
二.赋值运算符
格式:变量=表达式(注意:赋值运算符是从右往左算的);
例:int n=3;//把3赋值给n
三.自增自减运算符
num2=++num1(先加得到新的num1,在赋值给num2);
num2=num1++(先把num1赋值给num2,在加)
++,--例:
1 package com.imooc; 2 3 public class MathDemo { 4 5 public static void main(String[] args) { 6 // x++ 7 int x=4; 8 int y=(x++)+5; 9 //结果位x=5,y=9 10 System.out.print("x="+x+",y="+y); 11 //++x 12 int x2=4; 13 int y2=(++x2)+5; 14 //结果位x2=5,y2=10 15 System.out.print(" x2="+x2+",y2="+y2); 16 //x-- 17 x=4; 18 y=(x--)+5; 19 //结果为x=3,y=9 20 System.out.print(" x="+x+",y="+y); 21 //--x 22 x=4; 23 y=(--x)+5; 24 //结果为x=3,y=8 25 System.out.print(" x="+x+",y="+y); 26 } 27 28 }
四.算术运算符
主要用于基本的算术运算,如加减乘除等
Python中无++和--,但是Python3中有(//,表示向下取整)
算术运算符例:
1 package operator; 2 3 public class MathDemo { 4 5 public static void main(String[] args) { 6 int num1=9,num2=6; 7 int result; 8 //加法 9 result=num1+num2; 10 System.out.println(num1+"+"+num2+"="+result); 11 //减法 12 result=num1-num2; 13 System.out.println(""+num1+"-"+num2+"="+result); 14 //字符串连接 15 System.out.println(""+num1+num2); 16 //乘法 17 result=num1*num2; 18 System.out.println(num1+"*"+num2+"="+result); 19 //除法(分子分母都是整数,向下取整) 20 result=num1/num2; 21 System.out.println(num1+"/"+num2+"="+result); 22 System.out.println("13.0/5"+"="+13.0/5); 23 //求余 24 result=num1%num2; 25 System.out.println(num1+"%"+num2+"="+result); 26 //小数也可以,得1.5 27 System.out.println("13.5%3"+"="+(13.5%3)); 28 29 30 } 31 32 }
五.关系运算符
又叫比较运算符用于判断两个数据的大小,如大于,小于,等于等等,比较的结果是一个布尔值
'A'>'B',比较的是字符的ascii码值
六.if else
例:注意;和{},而不像Python中的(:)
1 package operator; 2 3 public class If_Else { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 double price1=80,price2=55; 8 double result=price1+price2; 9 if(result>=100){ 10 result-=20; 11 System.out.println("已经打折减价20,总价为:"+result); 12 } 13 else{ 14 System.out.println("未打折,总价为:"+result); 15 } 16 17 } 18 19 }
1 package operator; 2 3 import java.util.Scanner; 4 5 public class If_Else { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 //输入数据 10 System.out.println("请输入数字:"); 11 Scanner s=new Scanner(System.in); 12 int n=s.nextInt(); 13 if(n%2==0){ 14 System.out.println(n+"是偶数"); 15 } 16 else{ 17 System.out.println(n+"是奇数"); 18 } 19 } 20 21 }
七.逻辑运算符
逻辑运算符用来连接一个或多个条件,判断这些条件是否成立,逻辑运算符的结果是布尔类型。
Python中是and和or【注:是短路运算符,相当于&&和||】,非是一样的
八.条件运算符
++单目运算符;
+-*/双目运算符
和Python中的三元操作符一样,return a if bool else b
条件运算符例:Java中:a>b?a:b;
相当于Python中:return a if a>b else b;
1 package operator; 2 3 import java.util.Scanner; 4 5 public class Luoji { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 int a=3,b=4; 10 int max; 11 // if(a>b){ 12 // max=a; 13 // } 14 // else{ 15 // max=b; 16 // } 17 // System.out.println("最大值为:"+max); 18 max=a>b?a:b; 19 System.out.println("最大值为:"+max); 20 boolean b1=a>b?(3<6):(true==false); 21 22 } 23 24 }
九.运算符优先级
Java中
Python中
闰年例:
1 package operator; 2 3 import java.util.Scanner; 4 5 public class Luoji { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 System.out.println("请输入年份:"); 10 Scanner s =new Scanner(System.in); 11 int year=s.nextInt(); 12 if ((year%4==0 && year%100!=0)||(year%400==0)){ 13 System.out.println(year+"年是闰年"); 14 } 15 else{ 16 System.out.println(year+"年是平年"); 17 } 18 } 19 20 }