Java基础学习 day1

111 阅读3分钟

1.JVM JRE JDK 之间的联系

JRE(Java Runtime Environment) = JVM + 核心类库 

JDK = JRE + java的开发工具

运行环境需要有虚拟机和核心类库,而java开发环境需要有Java运行环境的Java开发工具支撑。

三者之间的关系 ( JDK ( JRN ( JVM ) ) )

块注释 : /*...*/
    常用于注释多条代码,说明文件,方法,数据结构等的意义与用图,一般位于一个文件或者一个方法的前面。
文档注释 : /**...*/
    写入javadoc文档,用于生成html格式的代码报告,所以注释文档必须写在类,域,构造函数,方法,以及字段定义之前。

2.标识符

 要求:字母 数字 下划线 $ 构成;不得包含空格;区分大小写;不能够用关键字作为标识符;

3.基本数据类型

 byte(字节型) : 8位  用于存储以字节计算的小额数据,处理网络或文件的数据流时,用途很大
 
 short(短整型) : 16位 用于存储小于32 767的数字,如员工编号
 
 int(整形) : 32 位 用于存储较大的整数
 
 long(长整型) : 64 位 用于存储非常大的数字
 
 float(单精度浮点型) :32 位  用于存储带小数的数字,如产品价格,身高
 
 double(双精度) : 64位 存储精度要求高的数据,银行余额
  
 boolean(布尔型) : 1 位 用于存储真假,用于判断
 
 char(字符型) : 16位 用于存储字符数值,如性别男/女
 
 一个字节=八位
 
         为啥byte的范围是-128到正的127

        java 里面的数不支持无符号类型,全是有符号类型的数。
        首先,因为byte是8位,然后又因为二进制的最高位是符号位,正数是0,负数是1,所以表示大小的就是剩下的位数。

        对于byte来说就是七位,七位正数最大的就是**1111111** 转换成十进制就是127,从 20次方加到26次方。

        然后负数呢,涉及到负数的编码方式:

        这里模是256,所以1000000011111111其实表示的范围是-128到-1\
        因为10000000128,补数是-12811111111255,补数是-1。\
        所以,byte的范围是-128127,一共256个数。

3.转义字符

\'  单引号 如果想输出什么符号那么在其前面加上反斜线  \"   \\

\b  退格

\r  回车

\n  换行

\t  制表符

4.类型转换

自动类型转化

byte ————》short ————》 int——————》long——————》double

                       int——————》double

                       int——————》float——————》double
           char————》int
           
强制转化
    
    double a = 1.1;
    int b = (int)a;//b = 1

5.算数运算符

 a++先取值再自增
 
 ++a先自增后取值
 

6.原码 反码 补码

 1.二进制的最高位时符号位 : 0 表示整数 , 1 表示负数
 
 2.正数的原码 反码 补码 都一样   三码合一
 
 3.负数的反码 = 它的原码符号位不变,其他位取反
 
 4.负数的补码 = 他的反码 + 1,负数的反码 = 他的补码 - 1
 
 5.0 的反码 补码都是 0 
 
 6.java 中的数都是有符号的
 
 7.在计算机运算时都是以补码的方式来运算的
 
 8.当看运算结果是要看他的原码
 

7.进制转换

1.二进制 八进制 十六进制 ————> 十进制
    二进制:  0b 1011 --> 1*2^0 +1*2^1 + 0*2^2 +1*2^3 
    
    八进制:  0234 --> 4*8^0 + 3*8^1 + 2*8^2
     
    十六进制: 0x 23A --> 10*16^0 + 3*16^1 + 2*16^2
    
2.十进制————>二进制 八进制 十六进制
    二进制除以2
    八进制除以八
    十六进制除以十六
    

8.条件运算符

 三元运算符-->   <表达式> ? e1 : e2 : 表达式为真则返回e1表达式为假返回e2,可代替if语句,比较简便