【java 学习笔记2】运算符

一、运算符

1.字符连接符: +

“+”可以连接字符(char)和字符串(String)

		//字符的连接
        System.out.println("hel"+"lo");//hello

任何数据类型和字符串类型进行连接的时候,结果都会变为字符串

		//字符与整型
        System.out.println("java"+20);//java20

2.自增自减运算符:++,–

A、在单独使用时,前++和后++没有区别,也就是:++num和num++是完全一样的
B、在和其他操作混合使用时(比如打印输出)

  • a、如果是前++,那么变量立刻马上+1,然后拿着结果进行使用【先加后用】
  • b、如果是后++,那么首先使用变量原本的值,然后在让变量+1【先用后加】
    注意:常量不能使用自增、自减运算符
    代码如下(示例):
/**
 * 自增自减运算符
 */
public class TestDemo01 {
    public static void main(String[] args) {
        //单独使用
        int a = 1;
        int b = a++;
        System.out.println(b);// 1
        //与打印输出语句混合使用
        //前++
        int c = 1;
        System.out.println(++c);// 2
        //后++
        int d = 1;
        System.out.println(d++);// 1
        //错误写法
//        30++;
    }
}

3.赋值运算符

A、基本赋值运算符,就是一个等号‘=’
int a = 30
B、复合赋值运算符

  • +=(加)
  • -=(减)
  • *=(乘)
  • /=(除)
  • %=(余)

注意:
a、只有变量才能进行赋值运算,常量不行
b、复合赋值运算其中隐含了一个强制类型转换

/**
 * 赋值运算符
 */
public class TestDemo01 {
    public static void main(String[] args) {
        byte a = 1;
        a += 1;// 2
        a -= 1;// 1
        //复合赋值运算符包了一个含强制类型转换
        
//        a = a + 1;// 会出现错误
        a += 1;   // 正常执行
    }
}

结果分析:
a = a + 1,会报错是因为 a 是byte类型 ,1是int类型,byte类型 + int类型 = int
(小范围类型加大范围类型,结果是大范围类型的数据类型)
a += 1,可以执行,是因为复合赋值运算符包含了一个强制类型转换,byte + int =(byte)int

4.比较运算符:==、>、<、<=、>=、!=

A、比较运算的结果是一个boolean值,成立就是ture,不成立就是false
B、如过进行多次判断、不能连着写(1<x<3错误写法)

5.逻辑运算符:连接多个boolea值

A、&& 全都是ture,才是ture
B、|| 全都是false,才是false
C、! 取相反

/**
 * 逻辑运算符
 */
public class TestDemo01 {
    public static void main(String[] args) {
        System.out.println(true&&true);//true
        System.out.println(true&&false);//false
        System.out.println(false&&true);//false
        System.out.println(false&&false);//false
        
        System.out.println(true||true);//true
        System.out.println(true||false);//true
        System.out.println(false||true);//true
        System.out.println(false||false);//false
    }
}

6.三元运算符

格式:变量名称 = 条件 ? 表达式A :表达B
A、如果条件成立ture,那么将表达式A的值赋值给左侧的变量
B、如果条件不成立false,那么将表达式B的值赋给左侧的变量

a = 1 > 2 ? 1:2; // a = 2

结果分析:如果条件满足,会赋值表达式A,如果不满足,会赋值表达式B
注意:必须保证表达式A、B都符合左侧数据类型的要求

//       错误写法,数据类型不统一
//        a = 1 > 2 ? 1.000:2; // a = 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值