0
点赞
收藏
分享

微信扫一扫

重写和重载、<<和>>和^的作用、位数值、++和--和&&和&和||和|、a-z对应的数值、byte类型、变量、单位、进制和码

Mhhao 2022-01-08 阅读 49

JDK java development kit java开发工具
JVM java virtual machine java虚拟机,真正运行java程序的地方
JRE java java runtime enviroment java运行环境
那JDK,JVM,JRE之间的关系又是如何的呢?请看下图

  • 由图我们可以知道,JDK>JRE>JVM(且是包含关系);
  • 那java的跨平台性(一次编译,处处运行),就是因为JVM,不同平台安装不同的JVM
  • 关键字全是小写
  • 标志符由数字,大小写英文,$, _ 这四种符号组成(不包括空格)
  • 标志符不能以数字开头,不能是关键字

我自己整理出来了一个口诀
十变其他,除以其他;
其他转十,乘以其他;
二转其他,以2的幂次分组;

举例:
1.十进制转其他进制

2.其他进制转十进制

3.二进制转其他

其实,任意进制的转换可以用十进制做桥梁

正数:原码,反码,补码都是一样的
负数:
反码是原码的符号位不变,其他取反
补码是反码加1

例子:
+7
原码 0000 0111
反码 0000 0111
补码 0000 0111
-7
原码 1000 0111
反码 1111 1000
补码 1111 1001

1t = 1024G
1G = 1024M
1M = 1024k
1k = 1024B
1B = 8b
B是Byte(字节),b是bit(位)

1.为何要有变量呢? ----- 是为了分配内存空间
2.按照数据类型区分变量分为:基本数据类型和引用数据类型

3.只有成员变量才有默认值,局部变量是没有用默认值的
byte,short,int,long—0
float,double ----0.0
char — /u0000
boolean ---- flase
引用类型 – null

4.全局变量就是静态变量

5.成员变量和局部变量在内存中的位置
成员变量在堆内存里,局部变量在栈内存里。

6.变量和常量相加的区别
变量:
变量相加在运行的时候才能知道对错;
变量相加先提升到默认类型在计算,
如:btye,short相加的时候会默认先转成int在相加,最后得到的数据也是int类型
常量:
常量相加编译期间就知道了;
常量相加先计算结果,然后看是否在对于的数据类型的范围里面;

例子:
byte a=1, b=4, c;
byte c = a + b; // 报错
byte c = 1 + 4; // 成功

7.对于byte类型的一些面试题
首先,我们必须知道byte的范围 -128~127
当数值超出这个范围,得到的数据是如何计算的呢?
思路:先把值以int的4个字节的形式展现,然后截取最后一个字节(byte的字节大小),其为补码。求其 原码就是结果了。

例子:
byte a = (byte)130;其a为多大

int 的130 为 00000000 00000000 00000000 10000010
截取最后一字节(8位) 10000010 就是其补码
反码(补码减一) 10000001
原码(取反) 11111110 最后值为 126
例子:
byte b = (byte) 128; // -128
byte b = (byte) 129; // -127 其实就是,假如超过数据范围了,那结果和值取模和为256
byte b = (byte) 130; // -126

8.关于char类型的计算
首先要知道’A’ = 65; ‘a’=97;
所以,‘a’+1 = 98;
“hello” + ‘a’ + 1 = “helloa1” // 这是字符串的拼接
“5+5=” 5+5 => 5+5=55
5+5 + “=5+5” => 10=5+5

符号放前面,那就先自运算,再计算;符号放后面,那就先计算,再自运算
++a 先a加一后再去计算
a++ 先计算再让a加一
同理–;

&&和||表示短路与和短路或
对于&&短路与只要前面的为假,那后面的就不管了,直接返回假
对于||短路与只要前面你都为真,那后面的就不管了,直接返回真

表示异或,相同的才是假,不同的为真
一个数对另一个数异或两次该数不变; abb = a 用于加密

面试题:如何让a,b两个变量的值互换?
a=a^b; b=b^a ; a= a^b

<< 表示左移,乘以2的移动幂次; 2<<3 =》 22^3 = 28=16
//>> 表示右移,除以2移动的幂次

假设158,
个位:158%10 = 8
十位: 158/10%10 =5
百位: 158/10/10%10 = 1

重载:同名方法,但是参数个数,类型,顺序不同; (区与返回类型无关系)
重写:一摸一样(方法名,参数,回参)

举报

相关推荐

0 条评论