【JAVA语言学习】第04章 运算符(P063 - P103)

韩顺平 零基础30天学会Java 学习笔记

第04章 运算符(P063 - P103)

1. 算数运算符

在这里插入图片描述

// 取模 %
// 本质看一个公式 a % b = a - a / b * b
10 % 3 = 1
-10 % 3 = -1
10 % -3 = 1
-10 % -3 = -1
  • 练习

    int i = 1;
    i = i++;  // 规则使用临时变量:(1)temp=i;(2)i=i+1;(3)i=temp;
    System.out.println(i);  // 输出 1
    
    int i = 1;
    i = ++i;  // 规则使用临时变量:(1)i=i+1;(2)temp=i;(3)i=temp;
    System.out.println(i);  // 输出 1
    

2. 关系运算符(比较)

在这里插入图片描述

结果要么true,要么false

3. 逻辑运算符

在这里插入图片描述
在这里插入图片描述

  • 练习

    在这里插入图片描述
    答案:(1) x = 6, y = 6; (2) x = 6, y = 5; (3) x = 11, y = 6; (4) x = 11, y = 5
    在这里插入图片描述

4. 赋值运算符

// 复合赋值运算符会进行类型转换
byte b = 3;
b += 2;    // 等价于 b = (byte)(b + 2)
b++;	   // 等价于 b = (byte)(b + 1)

在这里插入图片描述

5. 三元运算符

  • 基本语法:条件表达式 ? 表达式1 : 表达式2;
  • 表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)

运算符优先级

在这里插入图片描述

  • 只有单目运算符、赋值运算符是从右向左运算的

标识符

  • 由26个字母、_或$组成,数字不可以开头。
  • 标识符明明规范
    1. 包名:多单词组成时,所有字母都小写:aaa.bbb.ccc
    2. 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
    3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
    4. 常量名:所有字母都大写。多单词组成时,每个单词用下划线连接:XXX_YYY_ZZZ

键盘输入语句

// 1. 导入该类所在的包,java.util.*
import java.util.Scanner;

public class Input {

	public static void main(String[] args) {
		// 2. 创建该类对象(声明变量)
        // Scanner类表示简单文本扫描器
        Scanner input = new Scanner(System.in);
        // 3. 调用里面的功能
        System.out.println("Please input your name: ");
        String name = input.next();
        System.out.println("Please input your age: ");
        int age = input.nextInt();
	}
}

进制转换

B:2 O:8 D:10 H:16

  • 十进制转二进制

在这里插入图片描述

  • 原码、反码、补码

    • 二进制的最高位是符号位:0表示正数,1表示负数;
    • 正数的原码、反码、补码一样;
    • 负数的反码 = 原码符号位不变,其它位取反;负数的反码 = 补码 - 1;
    • 负数的补码 = 反码 + 1;
    • 负数的原码 = 补码 - 1,符号位不变,其它位取反
    • 0的反码、补码都是0;
    • java没有无符号数;
    • 在计算机运算的时候,都是以补码的方式来运算的;
    • 当我们看运算结果的时候,要看原码。
  • 位运算练习

    • ~-2 = ?

      -2的原码:10000000 00000000 00000000 00000010

      -2的反码:11111111 11111111 11111111 11111101

      -2的补码:11111111 11111111 11111111 11111110

      ~-2操作: 00000000 00000000 00000000 00000001

      运算后原码:00000000 00000000 00000000 00000001

    • >>:算术右移,低位溢出,符号位不变,并用符号位补溢出的高位

      <<:算数左移,符号位不变,低位补0

      >>>:逻辑右移,又称无符号右移,低位溢出,高位补0

    • 练习1
      在这里插入图片描述 a = 1 / 2 / 2 = 0 00000001 => 00000000 (01)
      b = -1 / 2 / 2 = 0 10000000 00000000 00000000 00000001
      c = 1 * 2 * 2 = 4 00000001 => 00000100
      d = -1 * 2 * 2 = -4;
      e = 0在这里插入图片描述
      答案:-3;2;3;4;5;5;-2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值