算术运算符

回顾:
1、
INT  1a   a-1
a_1  a1


2、数据类型
值类型:实际的值
引用类型:地址


3、类型转换
int a = 23;
double b = a; //自动转换
a = (int)b; //强制转换


4、计算过程中,永远两两计算
   计算时,两个数类型比较,先把小类型转成大类型才计算。




-----------------------------
运算符:
一、算术运算符
----二元运算(两个数参与)------
1、+    -    *(乘)
2、/(除)
1)整数之间,表示整除(只保留商的整数部分,除数不能为0)
如:25/2 = 12
2)浮点数,正常计算
double a = 25;
System.out.println(a/2);


特殊情况:
System.out.println(a/0);//不会出错,无穷大


3、%(取余数)
double a = 25;
System.out.println(a%2);
//商12余数1,结果是1.0
int a = 25;
System.out.println(a%2);
//商12余数1,结果是1


经常用于判断一个数是不是偶数或奇数。
a%2结果是0证明是偶数。


-------- 一元运算符----------
++  自增
1、放在变量后面,先运算,后自增
int x = 10;
int y = x++; //相当于y=x;x=x+1;
System.out.print("x="+x);
System.out.print("y="+y);


2、放在变量前面,先运算,后自增
int x = 10;
int y = ++x; //相当于x=x+1;y=x;
System.out.print("x="+x);
System.out.print("y="+y);


-- 自减 方法类似
int x = 10;
int y = 10;
System.out.println(x--); //10  x=9
System.out.println(x++); //9   x=10
System.out.println(--y); //9   y=9
System.out.println(y--); //9   y=8
System.out.println(x+y++); //18 y=9  
System.out.println(x);  //10
System.out.println(y);  //9


public class Test {
public static void main(String[] args) {
   int x = 10;
   int y = 10;
   System.out.println(x+++y); 
   //根据自左向右的原则
   //相当于(x++)+y  打印20   x=x+1-->11
   System.out.println(x); // 11
   System.out.println(y); // 10
}
}


public class Test {
public static void main(String[] args) {
   int x = 10;
   int y = 10;
   System.out.println(x+(++y)); 
   //根据先算括号的原则
   // y=y+1   打印21
   System.out.println(x);  //10
   System.out.println(y);  //11
}
}


-------三元运算符-------------
结果 = 条件?数1:数2;


当条件成立的时候,把数1赋值给左边,否则把数2赋值给左边。
int x = 10;
int y = x>10?1:2; //y=2


求两个数的最大值:
int x = 10;
int y = 11;
int max = x>y?x:y;
System.out.println("最大值:"+max);


练习:用Scanner输入两个整数,求两个数的最小值。


public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入第一个:");
int x = sc.nextInt();
System.out.println("输入第二个:");
int y = sc.nextInt();
int min = x<y?x:y;
System.out.println("最小值:"+min);
}
}


练习:输入一个三位的整数,把这个数的
百、十、个位上的数分别打印出来。
public class Test {
 public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
   System.out.println("请输入一个三位数:");
   int a = sc.nextInt();
   System.out.println("个位:"+a%10);
   System.out.println("百位:"+a/100);
   System.out.println("十位:"+a/10%10);
  }
}




变态例子:
int x = 20;
int y = 20;
System.out.println(x++);//20 x=21
System.out.println(--x);//20 x=20
System.out.println(++y);//21 y=21
System.out.println(y++);//21 y=22
System.out.println(x+++y);//42 x=21
//左优先(x++)+y 
System.out.println(x+(++y));//44  y=23
System.out.println(x+y++);//44  y=24
System.out.println(x);//21
System.out.println(y);//24






















   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值