java基础02_itEighteen

本文介绍了计算机中数的表示方式,包括真值、原码、反码和补码的概念及转换方法,并概述了Java的基本数据类型、关键字和部分语法特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、机器数
    一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。比如,十进制中的数+3 ,计算机字长为8位,转换成二进制就是00000011。如果是-3 ,就是10000011 。那么,这里的 00000011 和 10000011 就是机器数。

2、真值
    因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
    例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1

--------------------------------------

    1. 原码
    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
    [+1]原 = 0000 0001
    [-1]原 = 1000 0001
    第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
    [1111 1111 , 0111 1111]   即   [-127 , 127]


    2. 反码
    反码的表示方法是:
    正数的反码是其本身,
    负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
    [+1] = [00000001]原 = [00000001]反
    [-1] = [10000001]原 = [11111110]反
    3. 补码
    补码的表示方法是:
    正数的补码就是其本身,
    负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)








java
-----------
    jdk     //jre + tool
    jre     //jvm + 核心类库
    jvm     //sandbox

path
------------
    搜索路径. ; 

classpath
-------------
        搜索类的路径
            javac.exe             java.exe
    *.java  ----------> .class   ----------> 进程


    clasapth: . 
    javac.exe -cp HelloWorld.java           //文件名
    javac -cp d:\x\x\xx\x HelloWorld.java

    java -cp xx\x\x\xx HelloWorld       //

    //
    class HelloWorld{
        public static void main(String[] args){
            System.out.println("hello world"); //line       
        }
    }

1 byte = 8bit
1024Byte = 1KB
1024K = 1M
1024M = 1G
1024G = 1T
1024T = 1P
1024P = 1E
1024E = 1Z
1024Z = 1Y

keyword
------------------
    [数据类型]
    class       //类
    interface   //接口
    byte        //字节 500G byte 20Mbit
    short       //短整型 2byte
    int         //整型 4
    long        //长整型 8字节。
    float       //浮点型 4
    double      //双精度浮点 8
    char        //字符,2
    boolean     //布尔值 true false
    void        //空

    [数据类型值]
    true
    false
    null        //空,不存在。

    [流程控制]
    if          //如果
    else        //否则

    switch      //开关
    case        //

    default     //默认,缺省
    while       //当
    do

    for         //循环
    break       //中断

    continue    //继续
    return      //返回

    [权限修饰符]
    public      //公用的
    private     //私有的
    protected   //受保护的

    [函数、变量、类的修饰符]
    abstract    //抽象的
    final       //最终的
    static      //静态的
    synchronized//同步

    [类之间修饰]
    extends     //继承、扩展
    implements  //实现

    [创建对象]
    new         //新建
    this        //这个
    super       //父代
    instanceof  //谁的实例

    [异常]
    try         //尝试
    catch       //捕获
    finally     //最终

    throw       //抛
    throws      //抛

    [包]
    package     //
    import      //导入

    [other]
    native      //本地的
    transient   //临时的


[标识符]
---------------
    字符 + 数字 + _ + $
    //不能以数字开头
    //不能用关键字

    1.所有包小写
    2.接口 + 类 : 单词每个首字母大写,HelloWorld
    3.函数名:sayHelloWorld
    4.常量    //MAX

[注释]
    //      //单行注释
    /**/    //多行注释

    /**     //文档注释
     * 
     *
     */

常量
------------------
    数值
    100
    12.345
    true
    false
    'a'
    "abc"
    null;

整数
-----------
    1.十进制
        int age = 100 ;
    2.八进制
        int age = 0144
    3.十六进制
        int age = 0x64


进制转换
-------------
    10转2进制.(下除)
    2| 5      1
      -------
      2|2     0
        -----
         1
    101(从下往上一串)

    2进制转10进制.
    -------------
  权 8   4  2  1         
     1   0  1  0
     -----------
     8 + 0 + 2+ 0 = 10
------------------------------------------------------
正数的反码和补码都与原码相同。

负数的反码为对该数的原码除符号位外各位取反。

负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1  
-------------------------------------------------------
内存中负数的存储形式:补码
----------------------
    补码:整数取反 + 1.

+3  : 0000 0011
取反: 1111 1100
+1  : 1111 1101 = -3

+3  : 0000 0011
      1111 1101 = -3
---------------------
     10000 0000

7
---------------
    0000 0111
    1111 1001
byte : -128 ~ 127
-124:
-125:
-126:

java是强类型语言
------------------
    变量必须定义类型。

数据类型
----------------
    [基本数据类型]
    2^8 = 256

    byte            //1 -2^7 ~ (2^7 - 1)  xxxx xxxx 2^8
    short           //2 -2^15[-32768] -  ~ (2^15 - 1)[32767]  2^16 = 65536 
    int             //4 -2^31 -  ~ (2^15 - 1) 2^31 
    long            //8 -2^63 -  ~ (2^63 - 1) 2^64
    float           //4
    double          //8
    char            //2 
    boolean         //1 

    [引用类型]
    class
    interface
    []

基本概念
---------------
    数据类型
    数据类型值
    流程控制
    关键字 class
    输入/输出
    字节
    bit
    容量
    传输速率
    二进制运算
    short

byte、short、char提升为int类型。

    0000  1010 = 10
&   0000  1011 = 11
--------------
    0000  1010 = 10

    0000  1010 = 10
|   0000  1011 = 11
--------------
    0000  1011 = 11

    0000  1010 = 10
^   0000  1011 = 11
--------------
    0000  0001 = 1

二进制与运算 只有一个是0就是0,不进位.
二进制或运算,只有一个是1就是1,不进位 



a && b 
------------
    a为false,b不运算。


a || b
------------
    a为真,b不运算。

a & b(boolean)
---------------

移位运算
---------------
    <<      //1 << 1    x 2   (右边补0)
    >>      //有符号移动,所有的空位都和符号位看齐.
    >>>     //无符号移动,补0

    0000 0100       //4

这里写图片描述

左移补0
这里写图片描述

有符号右移动
这里写图片描述

无符号右移动
这里写图片描述
~ 1 按位取反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值