• java基础知识记录(1)


    随视频走的一遍,按自己的习惯记录些知识点。

    1:计算机存储单元
    1bit,1位,1比特,计算机设备存储信息的最小单元
    1B,1byte,1字节,计算机存储信息的最小单位
    1B=8bit
    1KB=1024B
    1MB=1024KB
    1GB=1024MB
    1T=1024GB


    2:数据类型分类
    数据类型首先分为基本数据类型和引用数据类型
    引用数据类型分为:类,接口,数组
    基本数据类型包括 整数,浮点数,字符,布尔
    具体的见下面

    3:类型转换
    类型转换分为强制类型转换和自动类型转换
    自动类型转换:从小到大,例如double a=10,int自动转成double

    强制类型转换:大到小
    例如 int k=(int)10.15,浮点数强制转换成小的int类型

    4:字符的+操作 与 类型自动提升
    字符在计算机中都有对应的数值,
    ‘A’=65,'a'=97,'0'=48,
    A-Z,a-z,0-9都是连续的
    算数表达式中包含多个基本数据类型,表达式会自动类型提升
    Byte,short,char自动提升至int,然后是long,float,double

    5:逻辑运算符,短路逻辑运算符
    逻辑与&,逻辑或|,逻辑非!
    逻辑异或 例如a^b,a和b相同则为false
    短路与&&,短路或||

    6:输入,Scanner类的简单使用
    Java.util.Scanner;
    Scanner sc=new Scanner(Syetem.in);
    Int a=sc.nextInt();

    7:switch的参数
    Jdk5以后可以是枚举,7以后支持string

    8:循环跳转语句
    Continue,跳过本次循环,继续下一个循环
    Break,跳出整个循环体

    9:随机数,random类的简单使用
    Java.util.Random;
    Random r=new Random();
    Int a=r.nextInt(10);//生成一个[0,10)的数

    10:IDEA快捷键
    Sout//生成输出语句
    Psvm//生成main方法
    ctrl+alt+空格//内容补全,代码提示
    Ctrl+/ :单行注释
    Ctrl+shirt+/ 多行注释
    Ctrl+alt+L,代码格式化,注意如果有其它软件与此相同,可能会有冲突
    Ctrl+alt+v,调方法有返回值,自动生成返回值接收
    ----------------------------------------
    11:数组相关
    数组定义: int[] arr 或者int arr[]
    数组静态初始化,即创建时赋值
    Int arr[]=new int[]{1,2,3};
    int[] arr1=new int[]{1,2,3};
    简化格式可以把new Int去掉
    动态初始化,即创建时只给出长度,例如 int arr[]=new int[5];

    内存分配的简单说明:定义的变量是在栈内存,例如上面的arr,arr1,new出来的是在堆内存,初始化后,栈内存会有一条指针指向堆内存,堆内存会开辟一块连续的空间存储数据

    12:形参与实参
    形参是方法名后面的参数,实参是调用的时候传入的参数

    13:方法中使用static
    方法定义使用static,则为静态方法,直接调用即可,没有static,需要先声明类的对象,再用对象去调用

    14:方法重载
    修饰符,返回类型可相同可不相同,方法名必须相同,参数个数和参数类型必须不同,最后是方法重载得在同一个类中

    15:方法的参数传递
    基本类型的参数,形参的改变,不影响实参
    如果是引用类型的参数,调用方法时传递的是地址,方法获取到了地址,自然会修改数据

    16:构造方法
    类会自己生成一个默认的,不带参数和方法体的构造方法。如果自己写了带参数的构造方法,那么系统的就会失效,这个时候如果不想用带参数的,需要自己再写一遍不带参数的。注意着也就实现了构造方法的方法重载。推荐方式,无论是否使用,都手动写一个无参的构造方法
    写了带参数的构造方法,好处是自己在new的时候,就可以传入数据了

    17:string
    string类的构造方法很多,举几个重要的,一个是直接赋值,一个是new.
    另外两个是根据字符数组和字节数组创建,例如
    Char c[]={'a','b','c'};byte b[]={65,66,67};
    String s=new String©;//直接传入字节或字符数组,字符数组会转换成对应的字符

    string对象每new一个,都会新申请一个空间,即使他们的内容相同。

    18:StringBulider
    string不可变字符串,可以进行字符串的拼接,但是每次拼接都是新创建一个对象,缺点是耗时和浪费空间。
    StringBulider内容是可变的
    stringBulider的构造方法,api文档有四个,常使用的下面两个
    stringBulider()和stringBulider(String str)
    Append()方法,添加数据,返回对象本身,reverse(),字符串反转

    19:stringBulider与string互转
    Sb-->string, 用toString()方法
    String--?sb,用构造方法stringBulider(String str),注意这是stringBulider类的构造方法

    20:ArrayList
    集合类,存储空间可变,用来存储引用数据类型
    构造方法与添加方法
    ArrayList<String> arrList=new ArrayList<>();//1.7之后newArrayList的尖括号里的数据类型可以不写,系统会自动根据前面的做出判断
    添加方法,add,一个是直接加在集合最后,另一个是根据下标插到对应位置

    ArrayList集合类的常用方法

  • 相关阅读:
    通讯协议及Google.Protobuf(三)生成c#代码 序列及反序列化
    通讯协议及Google.Protobuf(二)获取Google.Protobuf.dll
    python TesseractOCR、pytesseract 图片文字识别
    win10系统中exe文件打不开解决方法
    Ubuntu22.04 安装 Kubernetes
    【关于本博客和你(不)感兴趣的秘密】
    Python将多张图片合并为PDF fang
    GCC打印定义的宏 fang
    经典CSS布局
    PycharmPro2019版破解教程有效期至2089年
  • 原文地址:https://www.cnblogs.com/kc1995/p/13847663.html
Copyright © 2020-2023  润新知