欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA-1

程序员文章站 2022-03-29 23:21:54
...

数据类型:

  • 基本数据类型
  1. 整型 byte(1字节,8个bit,都是敏感单元位) short int long
  2. 浮点型 float double
  3. 字符型char
  4. 布尔型 boolean 1bit true false
  • 引用数据类型
  1. 数组
  2. 类class(抽象类abstract class)
  3. 接口interface
  4. 枚举enum
  5. 注解@interface

常量

  • 程序在运行过程中不能再次发生改变的值
  • 作用
  1. 便于程序计算,直接采用
  2. 代表一个含义

变量

  • 在程序执行过程中可以进行改变的量,变量是一个内存空间,变量空间在创键时候,必须指定数据类型,变量空间名字,变量空间里面只能存储一个内容,变量空间内容可以改变
  • 变量空间创建后没有默认的内容,空的变量空间不能拿来使用,编译错误
  • 计算机底层对变量赋值的执行:
  1. 硬盘上创建java文件,文件中内容是我们编写的源代码,向计算机里面发送指令
  2. 将java文件进行编译,形成class(默认执行过程,类加载器,将硬盘中的字节码文件中的信息搬运到内存中)
  3. 执行,在内存里面执行,加载到内存里面,执行内存的空间,将方法区里面的常量区的值进行复制
内存:
一区:栈内存:先进后出,后进先出
二区:堆内存:
三区:方法区: 常量区;方法区(类模板);静态元素区
float e=3.4从double转化到float会有损失
3.4常量值,常量的存储形式不是十进制而是二进制形式存储
1  32bit(int)
3.4 64bit(double)
解决方法:float e=3.4F
byte a=1又为什么行呢:byte只有8个bit
赋值符号能够将前面无用的3个字节清除

数据类型的转化问题及运算符

  • 同种数据类型之间是可以进行赋值操作

  • 基本类型之间可以直接转换,引用类型之间可以直接进行转换,但是基本类型和引用类型之间不可以直接进行强制转换(通过包装类)

  • 大数据类型空间可以直接接受小数据类型的值(自动转换),小数据类型空间不可以直接接受大数据类型的值(强制类型转换)

  • 布尔类型不能与其他的基本类型转,只有true和false,但是和c语言不同,c语言中可以和0、1互换

  • & | ^ ! &&短路与 ||短路或

    && 短路
    当前面为false时候激发,短路的是&&后面所有计算过程,比&稍微好一点,但是结果是一样的
    & 可以视为逻辑运算,也可以视为位运算 &&只能当作逻辑运算来用
    || 短路或
    当前面为true时候激发,短路的是。。。。。。。,和|结果是一样的
    
  • 位运算:& | ^ ~ << >> >>>

  • 原码,反码 补码 二进制表示数字

    6
    原码:000000110
    反码:000000110
    补码:000000110
    -6
    原码:100000110
    反码:111111001
    补码:111111010
    计算机中不管是正数还是负数,存储的形式都是以补码的形式来存储
    >>保留符号位置1 填1
    >>>不保留符号
    

增强型for

语法为:

for (Type value : array) {

    expression value;

}

//以前我们这样写:

void someFunction ()

{

    int[] array = {1,2,5,8,9};

    int total = 0;

    for (int i = 0; i < array.length; i++)

    {

        total += array[i];

     }

    System.out.println(total);

 }

//现在我们只需这样写(和以上写法是等价的):

void someFunction ()

{

    int[] array = {1,2,5,8,9};

    int total = 0;

    for (int n : array)

   {  

       total += n;

    }

    System.out.println(total);

}

虽然看不到下标,但是都是对数组进行遍历

基本数据类型和引用数据类型在内存结构上的区别

  • int[] x= new int[]{10,20,30};

    //栈内存中的小容器,类型定义了只能存储这种东西,容器中只能存一份
    //见到new关键字,相当于在堆空间里面申请开辟一块新的空间
    //数组在堆内存里面是一段连续的地址
    //x里面存储的是hashcode
    
    
  • 基本类型中变量存储的是值,,传递的是值,一个变量改变,另一个不变

  • 引用数据类型存储的是地址,传递的是地址

[外链图片转存失败(img-FCvu06As-1562333099597)(/home/ach/Pictures/2019-02-28 19-58-31 的屏幕截图.png)]JAVA-1

多维数组

  • 数据是用来存储一组相同类型数据的容器

  • 数组内部存储的元素可以是基本数据类型也可以是引用数据类型,数组本身就是一个引用数据类型

    静态初始化实例:
    int [][] array = {{1,2},{1,2,23},{4,5,6}};
    动态初始化:
    int [][] array ={{},{},{}}
    
    
  • 二维数组的存储结构

    int[][] array = new int[][]
    二维数组传递的也是地址,二维数组的存储结构是树
    

    [外链图片转存失败(img-eMnwOVLG-1562333099597)(/home/ach/Pictures/2019-03-02 21-15-51 的屏幕截图.png)]JAVA-1

  • 如果小数组在初始化的时候没有指定长度,就没有小数组存在;

  • 二维数组传递

      public static void main(String[] args) {
            int[][] array = new int[3][2];
            array[0][0] = 10;
            array[0][1] = 20;
            array[1] = array[0];
            array[0] = new int[4];
            array[0][0] = 100;
            System.out.println(array[0][0]);
        }
    

    [外链图片转存失败(img-RkqTeEzw-1562333099598)(/home/ach/Pictures/2019-03-02 21-28-16 的屏幕截图.png)]
    JAVA-1

相关标签: 小白` java

推荐阅读