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