【Java学习】Java数据类型与字符串拼接,进制转换,自加自减等(2)

java数据类型,字符串拼接,进制转换,原码反码补码,自加自减等

进制转换

这个链接讲的非常清楚
http://www.sojson.com/hexconvert.html

进制:一种进位制 10 进制,就是逢x进一。
二进制由来:是根据电子元器件的状态来的
一个开关位能表示两种状态,(开 关),x个开关就可以有,2^x次方中组合
我们计算机的数据非常大的比如图片,音频,视频,这些数据一两个开关位表示不来,
国际组织这么规定 吧8个开关位表示为1个字节
1byte = 8bit
1kb = 1024byte
1m = 1024kb

字节是我们计算机数据的最小单位
很显然 二进制的表现形式 很长,不利于记忆和书写

8进制由来
010 101 100
从后向前,每三个分开,不够补零。
2 5 4

16进制由来

0000 1010 1100
每4位分为一组
0 A B

结论:进制越大,数据的表现形式越短。

任意进制到十进制的转换
十进制到十进制
12345 ------12345
=10000+2000+300+40+5
=1*10^4 +2*10^3 +3*10^2 +4*10^1 +5*10^0

观察每一组数据发现都是有规律的
我们把1,2,3,4,5,称之为系数
把这个10称之为基数
把从后向前从0开始的编号,这个编号称之为权数

系数*基数^权数

二进制数据由0 1 组成
八进制数据由0—7组成
十六进制由0—9ABCDEF组成
为了区分各种数据我们通过前缀来区分
二进制:加前缀0b100
八进制:加前缀0100
十进制:100
十六进制:加前缀0x100

0b1110 14
01110 512+64+8=584
0x1110 4096+256+16 = 4368

0B100110-----046
0B100110-----0X26

原码反码补码

计算机底层是通过补码来运算的
原码 一个数的二进制表现形式
反码
补码

正数的原码反码补码是一样的

数字符号位数值位
+700000111
-710000111

负数的原码反码补码 有规则
-7 原码 10000111
反码 11111000 符号位不变,其余取反
补码 11111001 在反码的末尾加1

练习:
0b10110100 求补码和反码

原码0b 1 0110100
反码 1 1001011
补码 1 1001100

补码 0b 1 1101110
补码的反码 1 0010001
补码的补码 1 0010010
或者像求补码一样逆向求原码

说到这里需要注意一点东西:
原来我没弄清楚。
如果说给你一个11111111,这个数让你求它的反码与补码
它应该是一个负数,而且计算机是8位的,则第一位为符号位1表示负数
如果是正数的话,则为01111111.
计算机要是16位的话,原式应该写成0000000011111111,这样表示的是正数。
如果要表示负数,原码应该写成1000000011111111

这里说一下为什么是-128~+127
11111111表示-127,01111111表示+127
00000000表示+0,10000000表示-0,计算机将-0记为-128.
原码 10000000
反码 11111111 符号位不变其余位取反
补码 1 00000000 加1刚好进1,符号位被挤到前面去了,

Java数据类型

基本数据类型:整数型,浮点型,布尔型,字符型
整数型:
byte 一个字节 -128~~~+127
short 两个字节
int 四个字节
long 八个字节
浮点型:
float 四个字节
double 八个字节
布尔型 boolean 一个字节
字符型 char 两个字节

整数默认int 小数默认 double

byte a = 127;存不下
short b = 300;
int c = 5000;
long num = 100000000000L;值后面加L,代表long类型
float f = 3.14F;定义float类型的时候,值后面加后缀F,代表这是float类型的数据
double d = 3.14; 小数默认double
boolean flgs = true/false;
char ch = ‘A’;

java逻辑字符串拼接

代码

public class PinJie {
    public static void main(String[] args) {
        System.out.println("5+5="+5+5);
        System.out.println(5+5+"=5+5");
    }
}

结果

5+5=55
10=5+5

ASCII表

在这里插入图片描述

逻辑运算符

在这里插入图片描述

++ 和- -

自加自减++ ,- -

i++ 先赋值,再自加1
++i 先自加1,再赋值
i- - 先赋值,再自减1
- -i 先自减1,再赋值

举例代码:

public class SuShu {
    public static void main(String[] args) {
        int i = 2;
        //            r2i3 r3i3  r7i4  r5i4  r9i3  r10i3  r12i2
        int result = (i++) + 1 + (++i) - 2 + (i--) + 1 + (--i);
        System.out.println(i);
        System.out.println(result);

    }
}

结果

2   
12

---------------------------------------
谢谢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值