零基础学Java-基础语法篇day2(运算符)

算术运算符
算数运算符作用
+两个操作数相加
-两个操作数相减
*两个操作数相乘
/两个操作数相除
%取模运算,获得余数

实例:

public class Demo1Operator {
    public static void main(String[] args){
        System.out.println(10+20);
        System.out.println(10-20);
        System.out.println(10*20);
        System.out.println("------------------");
        /*整数相除,结果只能得到整数,如果想得到带有小数的结果,必须加入小数(浮点类型)运算*/
        System.out.println(10/2);
        System.out.println(10/3);
        System.out.println(10/3.0);
        System.out.println(10.0/3);
        System.out.println("------------------");
        /*取模,即取余数*/
        System.out.println(5%2);
    }
}

打印结果:

字符的‘+’操作:

ASCII:字节到字符的对应关系

‘a’ — 97
‘A’ — 65
‘0’ — 48

实例:

public class Demo2Operator {
    public static void main(String[] args){
        int a=1;
        char b='a';
        System.out.println(a+b);
    }
}

打印结果:
98

分析原因:
a为int型,b为char型,当(byte、short、char、int)在一起运算的时候,都会提升为int之后,再运算。

字符串的‘+’操作
  • 字符串可以使用+号,跟(任意数据类型)拼接
  • 当+操作中出现字符串时,这个+是(字符串连接符)
  • 连续+操作时从左到右依次执行
    实例:
public class Demo3Operator {
    public static void main(String[] args ){
        System.out.println("zhengjingsuo"+123);
        System.out.println("zhengjingshuo"+true);
        System.out.println(1+99+"黑马程序员");//从左到右执行
        System.out.println("5+5="+5+5);
        System.out.println("5+5="+(5+5));//小括号先运算
    }
}

打印结果:

zhengjingsuo123
zhengjingshuotrue
5+5=55
100黑马程序员
5+5=10

实例:
数值拆分:
键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台,

import java.util.Scanner;
public class Demo5Operator {
   public static void main(String[] args){
       Scanner sc = new Scanner(System.in);
       System.out.println("请输入一个三位数");
       int num =sc.nextInt();
       int ge = num%10;
       int shi = num/10%10;
       int bai = num/100;
       System.out.println("整数"+num+"的个位为"+ge);
       System.out.println("整数"+num+"的个位为"+shi);
       System.out.println("整数"+num+"的个位为"+bai);
   }
}

结果:

123
整数123的个位为3
整数123的个位为2
整数123的个位为1

自增自减运算符
++自增变量值加1
- -自减变量值减1

实例:

public class Demo6Operator {
    public static void main(String[] args){
        int a=10;
        int b=++a;//先a=a+1,再b=a;
        System.out.println(a);
        System.out.println(b);
        b=a--;//先b=a,再a=a-1;
        System.out.println(a);
        System.out.println(b);
    }
}

打印结果:

11
11
10
11

分析:

++和- -

  • 放在变量后面,先将该变量原本的值取出来参与操作,随后进行自增(++)或自减(-
    -)。

  • 放在变量前面,先进行自增(++)或自减(- -),然后拿变量参与操作。

  • 只能操作变量,不能操作常量。

赋值运算符

实例:

public class Demo7Operator {
    public static void main(String[] args){
        int a=10;
        System.out.println(a);
        a+=10;//a=a+10;
        System.out.println(a);
        a-=10;//a=a-10;
        System.out.println(a);
        a*=10;//a=a*10;
        System.out.println(a);
        a/=10;
        System.out.println(a);
        a%=10;
        System.out.println(a);                  
    }
}

打印结果:

20
10
100
10
0

注意点:
在这里插入图片描述
报错:
java: 不兼容的类型: 从int转换到short可能会有损失
正确写法:

public class Demo7Operator {
    public static void main(String[] args){
    short a=1;
    a = (short)(a+1);
    System.out.println(a);
    }
}

结果:
2
分析原因:
参考day1类型转换

public class Demo7Operator {
    public static void main(String[] args){
    short a=1;
    a +=1;
    System.out.println(a);
    }
}

结果:
2
分析原因:
a+=1;相当于a=(short)(a+1);扩展赋值运算符底层会自带强转.

关系运算符

在这里插入图片描述

== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于

其返回值为布尔类型
实例:

public class Demo7Operator {
    public static void main(String[] args){
    System.out.println(10>20);
    System.out.println(10<20);
    System.out.println(10!=20);
    System.out.println(10==20);
    }
}

打印结果:

false
true
true
false

逻辑运算符

在这里插入图片描述

&(逻辑与) 一假则假,全真才真
|(逻辑或)一真则真,全假才假
!(逻辑非)取反
^(逻辑异或)相同为假,不同为真

实例:

public class Demo7Operator {
    public static void main(String[] args) {
        int x=10;
        System.out.println(x>5&x<15);
    }
}

打印结果:
true

短路逻辑运算符

在这里插入图片描述

&&短路与 当左边为false时,右边就不执行了;如果左边为true,右边要执行
|| 短路或 当左边为true时,右边就不执行了;如果左边为false,右边要执行
实例&&:

public class Demo7Operator {
    public static void main(String[] args) {
        int x=3;
        int y=4;
        System.out.println(++x>4&&y--<5);
        System.out.println(x);//4
        System.out.println(y);//4
    }
}

打印结果:
4
4

实例&:

public class Demo7Operator {
    public static void main(String[] args) {
        int x = 3;
        int y = 4;
        System.out.println(++x > 4 & y-- < 5);
        System.out.println(x);//4
        System.out.println(y);//3
    }
}

打印结果:
4
3

三元运算符

格式:关系表达式?表达式1:表达式2
计算关系表达式的值,如果值为true,取表达式1的值,如果为false,取表达式2的值

实例:取两个数的最大值

public class Demo7Operator {
    public static void main(String[] args) {
        int x = 3;
        int y = 4;
        System.out.println(x>y?x:y);
    }
}

打印结果:
4

实例:取三个数的最大值

public class Demo7Operator {
    public static void main(String[] args) {
        int x = 3;
        int y = 4;
        int z = 5;
        System.out.println((x>y?x:y)>z?(x>y?x:y):z);
    }
}

打印结果:
5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值