//其中可能包含错误,如若发现可指出,以便修改文。

一.前言,入门,常量,变量
    1. Java是高级语言
    2. 1,0 bit 比特
        1 Byte =8 bit
        GB TB PB EB ZB
    3. 10进制转化成2进制
    4. 10进制转化成二进制 除二取余
    5. 二进制转换成10进制 8421
    6. 字节 计算机最小存储单位 8bit 一字节 byte B
    7. DOS 早期操作系统

8. 命令:
            盘:    盘符切换
            dir     查看当前文件夹
            cd      进入文件夹  cd 文件夹名称  cd 文件夹1\文件夹2\文件夹3
            cd..    退出文件夹
            cd\     退出到磁盘根目录
            cls     清屏
            exit    退出

9.JVM       虚拟机
    10.跨平台   运行在所有操作系统上 不同版本JVM
    11.JRE      运行环境 JVM + 运行时核心类
    12.JDK      开发工具包
    13.JDK安装  目录自定义  安装路径禁中文和空格

14.JAVA_HOME  
            1.系统变量-新建-JAVA_HOME-bin路径前的路径
            2.系统变量-path-%JAVA_HOME%\bin
            dos 输入Javac

15.javac 编译器 java解释器
    16.javac HelloWorld.java 产生字节码文件
    17.java HelloWorld 运行字节码文件
    18. 编译    翻译成class文件
        运行    运行class文件
    19.//单行注释 /* */多行注释
    20.关键字 定义好的单词 小写 public calss static void
    21.标识符 自定义
    22.命名 $ _ 禁关键字
    23.类名大驼峰 方法名小驼峰 变量名小写
    24. 字符常量'' 
        字符串常量""    可以为空
        空常量 null     不能打印
    25.基本数据类型 整数,浮点数,字符,布尔
       引用数据类型 类,数组,接口,Lambda,字符串

26. byte  -128 - 127
        short -3万 - 3万
        int   -2的31次 - 2的31次
        long  -2的63次 - 2的63次  9后面跟着18个0多
        char   0-6万
    27.long L   float F
    28.数据范围与字节数无关,float 4个字节 long 8个字节 float数据范围比long广

二.数据类型转换,运算符,方法入门
    1.int + byte 自动转换 取值范围小的类型 提升 为取值范围大的类型
    2.byte,short,char -->int-->long-->float-->double
    3.强制类型转换 取值范围大的类型 提升 为取值范围小的类型
    4.数据类型 变量名 =(数据类型)被转数据值
    5.int-->short 砍掉两字节 数据丢失
    6.ASCII十进制

7.a++ ++a 独立运算一样 
        设a=1;
        b=a++;先赋值再加 1
        或
        b=++a;先加再赋值 2

8.>=  <=        等于在后面
    9.&&  短路      左false右边不计算
    10.三元运算符 数据类型 变量名 = 布尔表达式?结果1(true):结果2(false); 不能单独使用或常量

11.方法
        修饰符 返回值类型 方法名(参数列表){
            return ;
        }

12:修饰符 public static
    13:方法:类里方法外 一个类

14.s=s+1 两次运算 +=运算一次 强制转换
        short s = 1;
        s+=1;//s是2
        
    15. byte+byte=int+int-->int
        byte+short=int+int-->int

16.Unicode码表:0-127与ASCII一样,128开始更多字符
    17.'0'-48  'A'-65  'a'-97
    18.一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。
    19.++a<100  a的值不变

20.
    对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,
    那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)。

byte num1 = /*(byte)*/ 30; 
    char zifu = /*(char)*/ 65; A

三.流程控制语句
    1.
    switch(表达式){
        case 常量值1:
            语句;
            break;
        default:
            语句;
            break;
    }
    表达式的类型 byte short int char enum
    不写break会穿透不判断case直到遇到break;

2.continue结束本次循环开启下次循环

四.IDEA,方法
    1.Project新建项目 Project>Module>Package
    2.show in Explorer查看包的目录
    3.src里建包(文件夹)
    4.包里创class
    5. .out class文件
    6. .src java文件
    7. .idea .iml IDEA自己使用
    8.Ctrl+Y 删除所在行
    9.Ctrl+Alt+L 格式化代码
    10.Ctrl+Shift+/ 选中代码多行注释
    11.Alt+Shift+上下箭头 移动本行代码

12.
    File->setting->keymap->main menu->code 修改快捷键
    remove 移除
    Add Keyboard 修改快捷键

13.file-close project 不关闭IDEA而关闭项目

14.实参:传入的变量  形参:参数列表的
    15.输出语句中可调用返回值不是void的方法
    16.集成开发环境 提高效率
    17.命名不规范才会出现绿色波浪线 不符合小驼峰要求
五.数组
    1.数据类型[]数组名=new 数据类型[长度];
    2.数据类型[]数组名=new 数据类型[长度]{元素1,元素2};
    3.数据类型[]数组名={元素1,元素2};
    4. 数组名.length  长度
    5.内存 临时存储区域

6.
    Java内存:
    方法区 class文件 
    堆内存 存储对象或数组 new 有16进制的地址值
    方法栈 方法运行时使用的内存 存放局部变量-超出作用域消失
    本地方法栈:与操作系统有关
    寄存器:与CPU有关

7.  静态初始化:内容
        动态初始化:长度

8.动态初始化可拆 静态初始化不可拆成两步

9.
    动态初始化默认值
    整数 0
    浮点 0.0
    字符 \u0000
    布尔 false
    引用 null

10.数据类型[]数组A=数组B

11.所有引用类型可赋值为null,数组必须new才能使用元素

12.new过的数组可以再new 覆盖

六.类与对象,封装,构造方法

1.类的定义:
        public class 类名{

}

2.成员变量:方法外
    3.成员方法:没static
    4.类名 对象名 = new 类名();
    5.对象名.成员变量
    6.封装:隐藏属性用get,set访问 private
    7.private 最小权限
    8.this 当前类的对象
    9.构造方法 对象被创建,初始化对象
    10.无参构造方法-操作set,get 布尔类型get变is

11. Student s1= new Student(); 无参构造函数 可以用set添加内容
        Student s2 =new Student("赵丽颖",18) 有参构造函数

12.Arrays.toString(数组名)方法 格式[元素1, 元素2]
    13.方法是一种封装 细节信息隐藏

七.Scanner类,Random类,ArrayList类

1.import 包名.类名
    2.Scanner sc =new Scanner(System.in);

3.  匿名对象:没有变量名的对象 只能使用一次
        new  Scanner(System.in);
        可以作为参数 实参:new  Scanner(System.in);
                    形参:Scanner sc
                    返回值:new  Scanner(System.in);

4.  Random r =new Random(); 里面没有值
        r.nextInt(10)   0-9之间的值
        r.nextInt(10)+1 1-10之间的值

5.Student[] students = new Student[3] 学生数组 再创造学生对象
    6.Element 元素

7.  ArrayList<String> list =new ArrayList<>();
        list.add("曹操"); 添加到尾部 返回布尔类型
        public E remove(int index) 返回被删除的元素
        public E get(int index) 返回获取的元素
        public int size();
        基本类型包装类:
        Character
        Integer
        其他开头大写
        打印array[2]得到地址值
        返回值是ArrayList的命名

八:String类、static、Arrays类、Math类
1.  字符串值在创建后就不能改变 不然指向一个新的创建出来的字符串 因为变量保存的是地址值
    String可以共享 内存中完全一样的String就是一个
    String底层靠字符数组实现

2.  equals
    equalsIgnoreCase    比较相等 忽略大小写
    length
    concat              连接到字符串末尾
    charAt              返回索引处的字符
    indexOf             返回指定字符串第一次出现在字符串内的索引值
    substring           从beginindex开始到字符串末尾/从[beginindex,endindex)
    tocharArray         将字符串更换成字符数组 ('a','b','c')    数组
    getBytes            将字符串更换成字节数组 (97,98,99)       数组  
    replace             第一次字符串用第二个字符串替代
    split               分割                                  数组
    concat              拼接字符

3.Object是一种引用类型 任意对象

4.创建数组
     char[]charArray={'A','B','C'};
     byte[]byteArray={97,98,99};
     String str3=new String(charArray);

5."abc".equals(str5)推荐字符串在前面,不然空指针异常

5.对于引用类型来说,==是进行【地址值】的比较。
6.字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。
7.split .是"\\."  空格就是" "
8.static修饰变量属于该类每个对象 任何对象都可以改变变量值
9.static 数据类型 变量名
10.静态方法和成员方法都可以直接访问类变量或静态方法
11.静态方法不能直接访问普通成员变量或成员方法
12.类方法=静态方法:static 用类名来调用不需要创建类对象
13.static修饰的内容:只加载一次

14.
    Array所有类都静态方法
    .sort升序排序(字符,字符串也可)

15.Math类
    abs     绝对值
    ceil    大于等于
    floor   小于等于
    round   四舍五入

16.this代表当前对象

17.在IDEA需要偷懒

九.继承,super,this,抽象类

1.父类=超类=基类
    2.父类非私有属性和方法 子类可以直接使用
    3.extend继承
    4.成员变量父类与子类重名,子类会先访问到子类成员变量,访问父类需要使用super
    5.私有 private 使用get/set访问到
    6.如果子类的成员方法与父类完全一致,就会覆盖重写
    7.成员方法:没static,调用成员方法需要new对象
    8.子类无法继承父类的构造方法。子类用super才能使用父类的构造方法。
    9.Java支持单继承和多层继承
    10.super和this不能同时出现

11.
    抽象方法 必须在抽象类里面
    修饰符 abstract 返回值类型 方法体(参数列表)
    abstract class 类名字
    抽象类可以有构造方法

12.方法是子类的优先于子类,没有再向上找

13.成员变量和局部变量名字相同,方法里优先使用局部变量
    14.new的是子类对象优先使用子类方法。(父类子类重名方法)
 
    15.@Override 检测是不是有效的覆盖重写

16.子类方法的权限必须大于父类方法
    public>protected>(default)>private  
                    留空什么都不写

17.子类的构造方法才能调用父类的构造方法。
    18.子类的无参构造函数无法调用父类的有参构造函数
    19.构造方法的作用是new对象时候的。
    20.子类调用父类的构造方法,必须是第一个语句而且不能调用多次
    21.this会是此类成员变量而不是最近的局部变量
    22.抽象类不用实现接口所有方法,其余方法可以交给子类来完成

23.抽象类继承别的抽象类可以不实现抽象方法,也可以实现抽象方法
    
    24.子类继承父类的有参构造 需要super()里面传入参数
    25.super.方法名 调用父类的该方法

JAVA语言入门详细知识点相关推荐

  1. 视频专辑:JAVA语言入门视频教程

    为什么80%的码农都做不了架构师?>>>    专辑:JAVA语言入门视频教程 简介:该视频专辑是java的入门教程,适合初学者学习java,讲的也非常容易懂,希望能给想学习java ...

  2. java 课件ppt_《java语言入门》PPT课件.ppt

    <java语言入门>PPT课件.ppt Java 语言入门,第一章,目标,了解Java开发环境 JDK 掌握Java程序开发过程 能默写两个版本的"Hello World&quo ...

  3. Java语言入门(六)——面向对象(三)

    Java语言入门 程序代码块 内部类(内置类) 继承(extends) super关键字 方法的改写 final关键字 对象转型 程序代码块 1 普通代码块(一般写在普通方法里) 2 构造代码块(直接 ...

  4. Java 基础-01 Java语言入门

    文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...

  5. Java语言入门概述

    一.Java语言入门 一)Java语言概述 1.计算机的发展,软件开发介绍 概述: 软件:即一系列按照特定的顺序组织的计算机数据和指令的集合.软件分为系统软件和应用软件. 系统软件:系统软件就是指控制 ...

  6. Java语言入门程序编写 - Hello world

    Java语言入门程序编写 - Hello world 编写Java程序的前提一定要先搭建Java语言开发环境.可参考:Java语言开发环境搭建. 开发环境已经搭建完毕,可以开发我们第一个Java程序了 ...

  7. Java语言基础详细讲解

    就像人与人之间交流使用的语言需要遵循一定的语法规则一样,Java语言也离不开特定语法的支持,如基本语法.数据类型.变量.常量.运算符与表达式.类型转换和输入输出等,只不过这些语法要比日常生活中语言的语 ...

  8. java语言入门(一)之JAVA语言基的概述

    JVM与垃圾收集机制 Java语言的特点:跨平台性 原因:因为可以在每个不同平台下载jvm 核心机制-Java虚拟机 JVM是一个虚拟机的计算机,具有指令集并使用不同的储存区域.负责执行指令,管理数据 ...

  9. Java基础入门-详细总结

    Java基础入门知识总结 一.java基础 1.1 java基础知识 1.2java的基本数据类型 1.3运算符 1.4循环结构 1.5数组 二.面向对象 2.1方法 2.2面向对象 2.3内存管理 ...

最新文章

  1. 如何替换 Ubuntu 11.10 登录屏幕背景和logo
  2. 学习spring之前必学之反射技术(IOC)(一)
  3. [原]FreeSWITCH uuid_transfer both转移失败(三方通话),如何解决?
  4. mysql多表查询插入更新_Mysql多表查询,多表插入和多表更新
  5. kubernetes(一)kubeadm搭建k8s集群
  6. java web程序 上机考试做一个登陆注册程序
  7. java 毕向东 内部类_java基础内部类(毕向东老师)
  8. Spring Boot休眠提示
  9. leetcode-110:判断平衡二叉树 Java
  10. Matlab 学习笔记
  11. Java的一些基础小知识之JVM与GC (转)
  12. 微信小程序nginx+uwsgi+django配置的域名问题
  13. matlab 200阶乘怎么表示,matlab阶乘怎么表示
  14. ant design pro 水印(删除、修改)
  15. Elsevier LaTeX 模板中参考文献没有序号,且文章引用不是序号引用
  16. Win11 安装 Linux 子系统
  17. 【OpenCV】 ⚠️实战⚠️ 女子深夜久久不能入眠,300行写出全能扫描王! ☢️建议手收藏☢️
  18. python eel + vue开发桌面应用
  19. 架构师接龙:腾讯高级工程师邝宇恒VS. 百度架构师侯震宇
  20. 在内嵌RAM中运行程序 No Algorithm found for 错误

热门文章

  1. 绿色水果的种植标准是什么?
  2. 华为matepadpro打开html文件,华为matepadpro打开了平板界的天花板
  3. 莉哥被封、微博暂停未成年人注册,内容平台治理进入深水期
  4. 生死存亡之数字炸弹(2.0)
  5. idea抽风了_Run和Debug变成了灰色的不可用了---springCloud工作笔记170
  6. 国外服务器为什么抽风
  7. iOS开发之系统发短信功能详解
  8. 心跳(纯代码制作心形,animation动画)
  9. jQuery prepend( ) 方法
  10. [转载] 人生规划师:管理智慧寓言小故事