day3(运算符 原码反码补码)

day3

运算符

算术运算符

基本用法
public class AriDemo1 {
    public static void main(String[] args) {
        //运算符+-*
        System.out.println(3+2);
        //计算时有小数参与,结果可能不准确
        System.out.println(1.1+1.1);
        
        System.out.println(1.1+1.01);
        System.out.println(1.1-1.01);
        System.out.println(1.1*1.01);



    }
}

运行结果:

5
2.2
2.1100000000000003
0.09000000000000008
1.1110000000000002

高级用法
数字相加

类型不一致进行转换

隐式转换(1.小变大 2.byte short char 先提升为int在计算)

在这里插入图片描述

强制转换(可能出现错误)

在这里插入图片描述

字符串加操作

在这里插入图片描述

字符相加

char的提升

在这里插入图片描述

只要有字符串参与,就是拼接

自增自减运算符

前++ 后++

单独一行结果一样,参与计算则不同(先用后加 先加后用)

用法

赋值运算符

+= 等赋值运算符底层都隐藏着强转

s = (short)(s+1)

关系运算符(比较运算符)

结果是boolean类型

注意"=="

import java.util.Scanner;

public class CompareTest1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入自己衣服时髦程度(1~10)");
        int you = sc.nextInt();
        System.out.println("请输入相亲对象衣服时髦程度(1~10)");
        int her = sc.nextInt();
        
       // System.out.println(you > her);
        boolean result = you > her;
        System.out.println(result);
    }
}

逻辑运算符

&与

|或

^异或(同为false)

!(不要写多次,写一个或者不写)

优化

短路逻辑运算符

&& (第一个错误,不判断后一个)短路与

|| (第一个正确,不判断第二个)短路或

import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int number1 = sc.nextInt();
        System.out.println("请再输入一个整数");
        int number2 = sc.nextInt();
//        boolean result1 = (number1 == 6 || number2 ==6);
//        boolean result2 = (number1+number2)%6 == 0;
//        boolean result = result1 || result2;
//        System.out.println(result);

        //true有三种情况
        //a == 6
        //b == 6
        //(a+b)%6==0
        boolean result = number1 ==6 ||number2 == 6 ||(number1+ number2)%6 == 0;
        System.out.println(result);
    }
}

三元运算符

结果必须要用

在这里插入图片描述

运算符优先级

小括号优先所有

在这里插入图片描述

原码反码补码

原码

符号位(0为正)+

原码对负数计算出现错误

反码是为了解决负数计算

反码

正数不变

负数符号位不变,其他取反

补码

反码+1

为了解决跨0问题

反码中0反码有两种形式(11111111)(00000000)

128无原码反码,因补码错一位故可以到128

其他运算符

符号位(0为正)+

原码对负数计算出现错误

反码是为了解决负数计算

反码

正数不变

负数符号位不变,其他取反

补码

反码+1

为了解决跨0问题

反码中0反码有两种形式(11111111)(00000000)

128无原码反码,因补码错一位故可以到128

其他运算符

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值