java 基础(一)

1注释

注释本不会被执行,是写给我们写代码的人看的

单行注释

 //单行注释

多行注释

 /*
 多行注释
 */

文档注释

 /**
 * @Description helloworld   代表一个描述
 * @Author 狂神说             代表作者
 *
 */

 


 

2.标识符

Java 所有的组成部分都需要名字。类名,变量名,以及方法名都被称为标识符。

所有的标识符都应该以A-Z或者a-z,美元符号$,下划线_ 开始。

java自己定义的关键字:

java 基础(一)

 


 

3.数据类型

强类型语言:要求变量的使用符合规定,所有变量都必须先定义后裔才能使用。

弱类型:js,javascript

强类型语言安全,但是速度慢!

java是一种强类型语言,要求严格

基本数据类型 (primitive type)

java 基础(一)

 

java 基础(一)

四类八种

  1. 整数型:byte(1字节),

    shout(2字节),

    int(4字节),

    long(8字节)long类型要在后面加L(也可以省略,超出int范围后需要加L),

    1. 浮点型:float(4字节),float类型,要在数字后面加f

    double(8字节 )

    1. 字符型:char(2字节) String是类不是基本数据类型 一个字符代表一个字

    2. 布尔型:boolean (1字节) 是非对错

     


     

    引用类型 (reference type)

    除了基本数据类型之外,都属于引用数据类型

     1. 类
     2. 接口
     3. 数组
     4. 枚举

 


 

4.什么是字节

   1.位(bit): 是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
   
  2.字节(byte): 是计算机中数据处理的基本单位,习惯用大写B来表示。
   
  3.1B (byte,字节 )= 8bit (位)。
 ​
  4.字符: 是计算机中使用的字母,数字,字和符号。

常见单位换算

    - 1bit表示1位
 - 1Byte表示一个字节 1B = 8b
    - 1024B = 1KB
 - 1024kb = 1M
    - 1024M = 1G
 - 1024G = 1TB

 

为什么一个字节是-128~127

​ 首先,一个字节有8位二进制位,理论上可以储存的数量为 2^8 即256。由于数字需要进行相应的运算(+ - * / …),所以我们希望256个数里面能够包含相应的负数,然而二进制本身没有表示负数。

  所以,规定字节的第一个位是符号位,并且0表示正数,1表示负数。比如001001011表示正数,110100011表示负数。

  这样一来,正数就能表示 2^7 即 127 ~ 0 之间的数,负数则能表示 - 2^7 即 -127 ~ 0 之间的数字。这就对于0的存储出现了重复, “+0” 即00000000 和 “-0” 即10000000。逻辑上来说 “+0” 和 “-0”同时存在,显然不合理,存储上来说 “+0” 和 “-0” 表示一个数但是占用了两个存储位,也不合理。

  既然0重复不合理,那么是否可以只保留一种作为0的表示,另外一种作为其他数的表示呢?如果可以的话,不就解决了逻辑上和存储上的问题了吗?

  那么到底是保留 “+0” 还是 保留 “-0” 呢?去除掉的那个“0”又表示什么数呢?首先,当前一个字节已经可以保存 127 ~ -127 (0重复) 即255个数。对于额外保存的数,我们当然是希望保存这个范围之外的数,并且最好“接壤” 127 ~ -127这个范围,那么优先考虑 128 和 -128。我们知道,字节的存储其实是使用补码来表示的,-127的补码是 10000001,这个数字 减1 刚好是 “-0” 10000000,-127 减1 等于 -128,所以这里将 “-0” 10000000 表示 -128 最合适。

  所以,最后一字节的数表示范围就是 127 ~ -128 (256个数)。另外,像KB, MB, GB…都类似于这种存储方式。

 

  #### 电脑的32位跟64位法人区别
   
    - 计算机里面有一个寻址能力,跟计算机的32位和64位直接挂钩的
    - 32位只能装32位系统,64位可以装64位也可以装32位的系统
    - 64位最多可以支持128G内存
    - 32位最多支持4GB内存

 


 

5.进制问题

进制说明

 1. 二进制: 0b
    2. 十进制 : 默认
    3. 八进制 : 0 逢八进一
    4. 十六进制 : 0x 逢十六进 一

 

银行业务用什么表示? 用BigDecimal 数学工具类

不能使用浮点数。

 

- float:

浮点数是有限的舍入误差,大约,接近但不等于

  • double:

最好完全(避免)使用浮点数进行比较

最好完全(避免)使用浮点数进行比较

最好完全(避免)使用浮点数进行比较

 

整数扩展

//整数扩展:  进制   二进制ob  十进制  八进制0  十六进制0x

int i = 10; //整数
int i2 = 010;//八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F F相当于16

System.out.println(i); //10
System.out.println(i2);//8
System.out.println(i3);//16

 

字符类扩展

 

        //浮点数扩展?  银行业务怎么表示? 钱
//bigDecimal 数学工具类
//float 表现的字长是有限的 离散的 会存在舍入误差 结果是个大约数 接近但不等于
//double
//最好完全(避免)使用浮点数进行比较
//最好完全(避免)使用浮点数进行比较
//最好完全(避免)使用浮点数进行比较

float f = 0.1f; //0.1
double d = 1.0/10;//0.1

System.out.println(f==d);//false
System.out.println(f);//0.1
System.out.println(d);//0.1

float d1 = 2313131313131f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true

 

字符类扩展

 

//字符类扩展?
char c1 = 'a';//可以是一个英文字符
char c2 = '中';//也可以是一个中文字符

System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换

//所有的字符本质都是数字
//编码 Unicode 2字节 最多可以表示 :0~65536个字符 Excel最多只有2^16次方 = 65536
//编码 Unicode 表: (97 = a 65 = A)
//编码 Unicode 范围:U0000 ~ UFFFF

char c3 = '\u0061';//Unicode表达方式
System.out.println(c3);

 

转义字符

 

//转义字符
//\t 制表符 表示:空格
//\n 表示:换行
//。。。。。更多的转义字符 自己去查

System.out.println("Hello\tworle");
System.out.println("Hello\nworle");

//
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);

String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);
//对象 从内存分析

 

//布尔值扩展

 

boolean flag = true;

if(flag == true){}//新手
if(flag){} //老手
//两行代码判断是一样的
//less is more 代码要精简易读

 

上一篇:渗透测试之逆向IDA的使用


下一篇:vue addRoutes 动态路由加载探讨