javaSE

一,java前置概念

        1、java就是一门计算机编程语言

        2、jvm:是java的虚拟机,用来执行java程序的

        3、jre:java运行时的环境,包含了jvm和运行的类库

        4、jdk:java语言的开发工具包,包含了jer

        5、跨平台

                同一个java程序,可以运行在不同的操作系统上->跨平台需要通过jvm转换

                注意:jvm不是跨平台的

        6、cmd常用命令:

                1.cd目录:进入目录

                2.cd..:后退一步

                3.cd /:退回当前根目录

                4.dir :查看目录

二:基础语法

  1. 常量:在程序运行过程中,不会发生变化的量        
    • 分类:
      • 字符串
      • 整数
      • 小数
      • 布尔
      • 字符:单引号中间,有且仅有一个字符
      • 空常量
  2. 数据类型:按照数据的特性,对数据进行分类,方便管理数据
    • 分类:
      • 基本类型
        • 整数        byte、short 、 int、 long
        • 浮点数    float、double
        • 布尔  boolean
        • 字符  char
      • 引用数据类型:类、接口、数组、枚举、注解...
  3.  变量
    • 在程序运行过程中,会发生变化的量
    • 本质:就是一块内存空间
    • 定义格式:数据类型 变量名;
    • 赋值
      • 数据类型 变量名=值;-->直接赋值
      • 数据类型 变量名;变量名=值;-->间接赋值
  4. 关键字:被java赋予特殊含义的单词
    •  所有的关键字都是小写
    • public:公共的
    • static:静态的
    • void:不用返回,直接打印
    • class:类
    • .......
  5. 标识符:用来给类、方法、变量起名字的符号
    • 组成
      • _
      • $
      • 0~9
      • a~z
      • A~Z 
    • 规则
      • 不能是关键字
      • 不能以数字开头
    • 规范
      • 大驼峰命名法:给类起名字,所有单词首字母大写
      • 小驼峰命名法:给方法和变量起名字,第一个单词首字符小写,其余的单词首字母大写
  6.  注释:对程序的解释说明,给程序员看的——>就是程序的说明书
    • 分类:
      • 单行注释:/
      • 多行注释:/**/
      • 文档注释:/**  */               
  7.  类型转换
    • 变量赋值的要求:左边类型和右边类型必须保持一致
    • 如果两边类型不一致,就需要类型转换,转换成一致后,在赋值
    • 分类:
      • 隐式转换:可以把小类型数据直接赋值给大类型数据,它会把小的类型直接转换成大类型的值
      • 强制转换:小类型  变量  =  (小类型)大类型的值;
  8.  运算符
    • 算数
      • +:加法
        • 如果左右两边,有字符串出现,那么就是字符串拼接符
        • 如果没有字符串,那么字符会先转换成对应的整数(参照ASCLL码表),在参与运算
      • -:减法
      • *:乘法
      • /:除法
      • %:取余
    • 赋值:=,+=,*=,/=,-=,%=
      • 扩展赋值运算符,隐含了强制类型转换
    • 关系:
      • >:大于
      • >=:大于等于
      • <:小于
      • <=:小于等于
      • ==:等等于
      • !=:不等于
    • 逻辑:
      • &&:并且
      • ||:或者
      • !:非
    • 三元:关系表达式?表达式1:表达式2
  9.  流程控制语句:控制代码的执行顺序
    • 顺序语句:系统默认,从上往下依次执行
    • 分支/判断语句:Switch  /  if
    • 循环语句:
      • for
      • while
      • do...while

三:面向对象

  1. 方法
    1. 是一段独立的代码块
    2. 如果方法不需要返回值,那么返回值类型就是void
    3. return  值;结束方法,并把值返回给调用者
    4. 参数列表:
      1. 可有可无
      2. 需要分析当前方法的功能,如果能独立完成,则不需要参数,如果不能独立完成,需要通过参数传递数据
    5. 重载:在同一个类中,出现方法名相同,参数列表不同的情况
      1. 方法的重载和返回值类型没有关系
      2. 方法的重载和参数列表中的变量名也没有关系
  2. 类:对现实世界具有相同特征的事务的抽象描述(属性+行为)
    1. 类和对象的关系:
      1. 类似抽象的
      2. 对象是根据类创建出来的实体
    2. 类的内容组成
      1. 成员变量:private  数据类型  变量名;
      2. 构造方法:
        1. public  类名  (参数列表){方法体};
        2. 如果没有提供构造方法,那么系统会默认提供一个空参构造。
        3. 如果提供了构造方法,那么系统不会提供一个空参构造。
        4. 多个构造方法之间,形成了方法的重载
      3. 成员方法:getter  /  setter
    3. 创建对象
      1. 类名  变量名  =  new  类名(参数);
      2. 变量名.成员;
    4. 关键字
      1. private:私有的,被private修饰的成员不能被外界直接访问
      2. this:这个,this只能写在某个方法内,那个对象调用this所在的方法,那么this就代表那个对象

四:常用API

  1. String
    1. 创建对象:new String();
    2. 成员方法
      1. equals
      2. length
      3. equalslgnoreCase
      4. trim
      5. contains
      6. indexOf
      7. lastlndexOf
      8. substring
      9. split
      10. replace
    3. 字符串常量池
      1. 字符串对象一旦创建好,那么他的内容就不可以发生改变
      2. 在堆中,用来储存字符串,减少空间的浪费
      3. 字面量的方式创建字符串对象:
        1. 先去字符串常量池中找,
        2. 有:不用再创建,直接复用
        3. 没有:创建新对象,并且把新对象放到常量池中
  2. Scanner:键盘录入对象
    1. 创建对象:Scanner sc = new Scanner(System.in);
    2. 成员方法
      1. nextInt()获取整数
      2. nextLine()获取字符串
  3. Random:获取随机数
    1. 创建对象:Random r = new Random();
    2. 成员方法:nextInt(值);随机数的范围[0,值-1]
    3. 生成任意范围随机数[n,m];nextInt(m-n+1)+n;
  4. ArrayList(集合):储存多个元素的容器,长度可以变化
    1. 创建对象
      1. ArrayList  <类型>  变量名  =  new  ArrayList <类型>();
      2. 类型的作用就是为了确定集合中储存数据的类型
    2. 成员方法
      1. add(元素):添加元素
      2. add(索引,元素):给指定索引处添加元素
      3. remove(索引):删除指定索引处元素
      4. set(索引,元素):给指定索引处赋值/修改指定索引处的元素
      5. get(索引):获取指定索引处的元素
      6. size():长度
  5. 数组:储存多个元素的容器,长度是不可以变化的
    1. 创建数组:数据类型[]  数组名
    2. 数组的初始化
      1. 数据类型[]  数组名 =new 数据类型[长度]
      2. 数据类型[]  数组名 = new  数据类型[]  {元素1,元素2,元素3...}
      3. 数据类型[]  数组名={元素1,元素2,元素3...}
    3. 元素的访问
      1. 索引:数组中元素的编号
        1. 从0开始
        2. 最大到数组长度-1
        3. 每次递增1
      2. 数组名[索引]

五:java内存模型

    1. 存放new出来的内容
    2. 堆中所有的数据都有默认值
      1. 整数:0
      2. 浮点数:0.0
      3. 布尔:false
      4. 字符:空字符
      5. 引用数据类型:null
    1. 存放局部变量
    2. 可以运行方法(压栈运行)
  1. 方法区
  2. 本地方法区
  3. 寄存器

六:常见的解题思路

  1. 遍历容器
    1. 遍历数组:for循环
    2. 遍历集合
  2. 统计思想
    1. 求和
    2. 求个数
  3. 标记思想:判断是否存在。
  4. 查找思想 :查找某个数据在容器中出现的索引
  5. 指针实现:定义变量,记录当前操作的索引位置

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值