A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

374lt

初级黑马

  • 黑马币:15

  • 帖子:5

  • 精华:0

© 374lt 初级黑马   /  2018-4-1 16:29  /  838 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.Java语言发展史:
詹姆斯?高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至Sun公司,1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。

2.Java语言特点:
跨平台(移植性),开源.其中跨平台性指的是操作系统,
3. JVM:
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台

4.JRE
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。( JRE  = JVM  +  类库 )       

5.JDK
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe)  打包工具(jar.exe)等 ( JDK  =  JRE  +  JAVA的开发工具)       

6. 常用Dos命令
Win + R , 输入cmd回车  ---  打开控制台
                ping + ip 地址 能够查看网络是否联通
                ipconfig  查看ip
                cls       清屏
                exit      退出
               
                d: 回车   盘符切换
                dir (directory)  列出当前目录下的文件及文件夹
                cd (change directory) 改变指定目录(进入指定目录)
                进入 cd 目录;   cd 多级目录
                回退 cd ..;    cd\ (cd/)返回根目录
                删除带内容的文件夹:
                        * rd + /s        文件夹名称(询问是否删除)
                        * rd + /q + /s 文件夹名称(直接删除)
                notepad                创建文件
                md (make directory) : 创建目录
                rd (remove directory): 删除目录
                del (delete): 删除文件,删除一堆后缀名一样的文件*.txt

7.环境变量及其配置:
        为什么要配置环境变量,因为在dos命令行中如果需要运行某个程序,就得先进入到该程序所在的文件夹下,因此如果我们需要编译某个java文件,则必须将该java文件与编译器一起放在同一个文件夹下,会导致该文件夹东西过于繁杂,因此,我们需要对环境变量进行配置,让我们在其他文件夹下也可以运行javac.exe.
配置方法:
        右键我的电脑,选择属性,选择高级系统设置,选择环境变量,选择系统变量下的path变量,点击编辑按钮,将javac.exe文件所在路径加入到变量值中.,并用封号隔开.

8.注释
        概念用于解释说明程序的文字
        分类:单行注释://注释文字 ;  多行注释:/*注释文字*/ ; 文档注释/**注释文字*/
        作用:1.解释说明文字2.帮助我们调试程序.

9..helloWorld案例编写:
        public class HelloWorld {
        public static void main(String[] args) {
        System.out.println(“hello World”);
}
}

10. 关键字:
                被Java语言赋予了特定含义的单词
        特点:
                A:组成关键字的字母全部小写
                B:常见的代码编辑器,对关键字有特殊的颜色标记

11. 常量:
        在程序的执行过程中,其值不可以发生改变的量
       
        字面值常量
                字符串常量        用双引号括起来的内容 "HelloWorld"
                整数常量        所有整数                        12,-23
                小数常量        所有小数                        12.23
                字符常量    用单引号括起来的内容,里面只能放单个数字,单个字母,单个符号 'a','0'
                布尔常量        true,false   
                空常量                null(数组部分讲解)
                自定义常量(面向对象部分讲解)
                整数默认int类型,浮点数默认double类型,定义long类型数据的时候要加L,定义float数据类型的时候要加F.

12. 变量概述
        变量类型: 是内存中的一小块区域,在程序的执行过程中,其值可以在一定范围内发生改变
        变量作用:用来不断的存放同一类型的常量,并可以重复使用
13. 数据类型(重点!!!)
                        整数型
                                byte        占1个字节        -128到127
                                short        占2个字节
                                int                占4个字节
                                long        占8个字节
                        浮点型(小数型)
                                float        占4个字节
                                double        占8个字节
                        字符型
                                char        占2个字节        0-65535  可存汉字字符
                        布尔型
                                boolean 他的值要么是true,要么是false 占1个字节
14标识符
        1).什么是标识符:就是给类,接口,方法,变量等起名字时使用的字符序列
        2).标识符的组成
                * 英文大小写字母
                * 数字
                * $和_
                *中文(但及其不建议用)
        3).注意事项(重点!!!):
                1.不能使用关键字
                2.不能以数字开头
        4).常见命名规则(重点!!!):
                * 包(其实就是文件夹,用于对类进行管理):*把包理解成我们的文件夹,一般是公司域名倒着写,com.itheima
                 *全部小写,多级包点隔开   举例  com,com.itheima
                         
                * 类或者接口
                        如果是一个单词,首字母大写
                        如果是多个单词,每个单词的首字母都大写
                       
                * 方法或者变量或者对象名
                        如果是一个单词,全部字母小写
                        如果是多个单词,从第二个单词开始首字母大写
                       
                * 常量
                        如果是一个单词,全部字母大写
                        如果是多个单词,每个单词之间用_分开

15.运算符
概念:对常量和变量进行操作的符号
表达式:用运算符连接起来的符合java语法的式子.不同的运算符连接的表达式是不同类型的表达式.
算术运算符:+, -, *, /, %
.赋值运算符:(由于java有常量优化机制,如果输入的常量在数据类型范围内则会自动进行强制类型转换):
=,+=,-=,*=,/=,%=  
关系运算符(也叫比较运算符,也叫条件运算符):==,!=,>,>=,<,<=
1).无论你操作的数据是简单还是复杂,最终得到的结果都是boolean类型
2)."==" 不能写成"="                       
逻辑运算符
1).基本的:&,按位与,有false则false
|,按位或,有true则true
^,按位异或,相同为false,不同为true
!,逻辑非,非false则true,非true则false
2).特殊的:&&,逻辑与,左边为false,右边不执行,最终结果与&相同
||,逻辑或,左边为true,右边不执行,最终结构与|相同
三元运算符
格式:关系表达式?表达式1:表达式2;

16. 键盘录入(Scanner)
        如何使用键盘录入数据?目前我们只能使用jdk提供的类Scanner
        如何使用Scanner获取键盘录入数据呢?步骤如下:
                A:导包
                import java.util.Scanner;
                在一个类中的顺序:package > import > class
三种导包操作:
                1.快捷键(推荐):ctrl+shift+o   (重点!)
                2.手动输入import  java.util.Scanner;
                3.点击鼠标自动生成
                       
                B:创建键盘录入对象
                        Scanner sc = new Scanner(System.in);
                C:接收数据
                        int i = sc.nextInt(); 整数
17. 随机数(Random)       
        作用:用于产生一个随机数
        使用步骤:
                导包:
                        import java.util.random;
                创建对象:
                        Random r = new Random();
                获取随机数:
                        int number = r.nextInt(10);
                        产生[1,10)之间的数.

18. 数组
        1.概述_为什么需要数组?
                *为了存储同种数据类型的多个值
                *关于数组:
                        a.数组是用来存储同一数据类型的多个值的集合,可以将数组看成是一个容器
                        b.数组既可以存储基本数据类型,也可以存储引用数据类型
                *数组的定义格式:
                        数据类型[] 数组名 = new 数据类型[数组长度];                                       
                数组中的编号叫索引.下标
                数组初始化:                               
                        动态初始化
                        1).什么是初始化?
                                就是为数组开辟连续的内存空间,并为每个数组元素赋值
                        2).什么是动态初始化?
                                只给定数组长度,由系统给出每个元素的初始化值
                        3).动态初始化格式:
                                数据类型[] 数组名 = new 数据类型[数组长度];
                        4).不同数据类型使用动态初始化会有不同的默认值:
                                整数类型:byte,short,int,long默认初始化值都是0
                                浮点类型:float,double默认初始化值都是0.0
                                布尔类型:boolean默认初始化值false
                                字符类型:char默认初始化值'\u0000'
                静态初始化
                        1).什么是静态初始化?
                                在定义数组的时候,直接为每个数组元素赋值
                        2).静态初始化格式:
                                数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...}
                        3)声明数组名:
                                数据类型[] 数组名
        数组长度:数组名.length;
数组常见操作的两个问题:
                数组索引越界异常:ArrayIndexOutofBoundsException
                        产生的原因:由于访问了数组中不存在的索引对应的元素造成的。
                空指针异常:NullPointerException                  
                        产生的原因:由于数组的引用不再指向原来堆里面所对应的实体了,
                        而是被重新赋值为null,如果再用这个引用去访问实体中的元素时,就会发生该异常。
19.         二维数组:
        概念:元素为一维数组的数组.
        定义格式:
                A:数据类型[][] 数组名;(推荐)
                B:数据类型 数组名[][];
                C:数据类型[] 数组名[];
        初始化:
                A:动态初始化       
                        数据类型[][] 数组名 = new 数据类型[m][n];
                        m表示的是二维数组中一维数组的个数
                        n表示的是一维数组中元素的个数
                B:静态初始化       
                        A:数据类型[][] 数组名 = new 数据类型[][]{{元素...},{元素...},{元素...}};
                        B:数据类型[][] 数组名 = {{元素...},{元素...},{元素...}};
        二维数组中一维数组的个数:              数组名.length
        二维数组中每个一维数组中元素个数:      数组名[0].length
        二维数组名配合索引可以获取到每一个一维数组。
        每一个一维数组配合索引名可以获取到数组中的元素。

20. 方法:
        概念:
                其实就是完成特定功能的代码库
       
        方法定义分为两部分:声明.实现
                声明:大括号前面的内容全部交声明
                        修饰符 返回值类型 方法名(参数类型 参数1,参数类型2 参数2)
                        修饰符public
                        返回值类型:根据返回值而定
                        方法名:自定义(见名知意)
                        小括号的部分又被称为形式参数,小括号的内容可以简单理解在声明某个变量
                       
                实现:用大括号包起来的内容全部叫做实现
        定义格式:
                修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...) {
                        方法体;
                        return 返回值;
                }
                格式解释:
                        修饰符:        目前是public static
                        返回值类型:    用于限定返回值的数据类型
                        方法名:        为了方便我们调用方法的名字
                        参数类型:      用于限定调用方法时传入的数据类型
                        参数名:        用于接收调用方法时传入的数据的变量
                        方法体:                   完成功能的代码
                        return:        结束方法,并且把返回值带给调用者
       
        方法的参数如果是基本数据类型:形式参数的改变不影响实际参数.
        如果参数是引用数据类型:形式参数的改变直接影响实际参数.
       
        形式参数:用于接收实际参数的变量
        实际参数:实际参与运算的变量
       
        void修饰的方法只能单独调用
       
        返回值类型为void是,如果方法中没有return,则方法中自动加上return.

21. 成员变量和局部变量的区别
        1).定义的位置不同:
                * 成员变量:在类中方法外
                * 局部变量:在方法中或者方法声明上(形式参数)
               
        2).在内存中的位置不同:
                * 成员变量:属于对象,对象在堆内存
                * 局部变量:属于方法,方法在栈内存
               
        3).生命周期不同
                * 成员变量:成员变量随着对象的创建而创建,随着对象的消失而消失
                * 局部变量:局部变量随着方法的调用而存在,随着方法的弹栈而消失
               
        4).初始化值不同
                * 成员变量:有默认初始化值
                * 局部变量:没有默认初始化值,在使用之前必须赋值
               
        5).注意事项
                *局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用就近原则.
                *基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char
                *引用数据类型变量包括哪些:数组,类,接口,枚举

22. 面向对象特征
        * 封装(encapsulation)
        * 继承(inheritance)
        * 多态(polymorphism)
        * 抽象

23. 使用类
        类需要通过创建对象来使用
                格式:类名 对象名 = new 构造方法;
        使用成员变量
                对象名.成员变量
        使用成员方法
                对象名.方法名()       
     private关键字:
        是一个权限修饰符
        可以修饰成员(成员变量和成员方法)
        被private修饰的成员只在本类中才能访问
this关键字:
        代表所在类的对象引用
        方法被哪个对象调用,this就代表哪个对象
使用场景:
        局部变量隐藏成员变量
24. API
        概述:应用程序编程接口.
使用方法
        1:打开帮助文档
        2:点击显示,找到索引,看到输入框
        3:你要学习什么内容,你就在框框里面输入什么内容
        举例:Random
        4:看包
        java.lang包下的类在使用的时候是不需要导包的
        5:看类的描述
        Random类是用于生成随机数的类
        6:看构造方法
        Random():无参构造方法
                Random r = new Random();
        7:看成员方法
        public int nextInt(int n):产生的是一个[0,n)范围内的随机数
                调用方法:
                        看返回值类型:人家返回什么类型,你就用什么类型接收
                        看方法名:名字不要写错了
                        看形式参数:人家要几个参数,你就给几个,人家要什么数据类型的,你就给什么数据类型的

/*****************String.StringBuilder.集合方法*************************/

/****************************    String          ****************************/
构造方法:
        String(String original):把字符串数据封装成字符串对象
        String(char[] value);把字符数组的数据封装成字符串对象
        String(char[] value,int index,int count);把字符数组中的一部分数据(从index索引开始拿count个字符)封装成字符串对象,       
       
        String类的判断功能
                boolean equals(Object obj) :比较字符串的内容是否相同
                boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写.
                boolean startsWith(String str):判断字符串对象是否以指定的str开头.
                boolean endsWith(String str):判断字符串对象是否以指定的str结尾
               
        String类的获取功能
                int length():获取字符串的长度,其实也就是字符个数
                char charAt(int index):获取指定索引处的字符
                int indexOf(String str):获取str在字符串对象中第一次出现的索引
                String substring(int start):从start开始截取字符串
                String substring(int start,int end):从start开始,到end结束截取字符串.包括start索引对应的字符,但不包括end索引对应的字符
               
        String类的转换功能
                char[] toCharArray() :把字符串转换为字符数组
                String toLowerCase() :把字符串转换为小写字符串
                String toUpperCase() :把字符串转换为大写字符串
               
s1.trim():去掉左右两端的空格(不包括中间的) 小红   
s1.split(某个字符串):根据某个字符串,把原字符串分割成数组
       
/****************************    StringBuilder          ****************************/

StringBuilder sb = new StringBuilder()

sb.capacity() 获取sb容器的容量(理论值)
sb.length():获取里面字符串的长度

sb.append(内容):向字符串中追加数据(返回的是对象)
sb.reverse():字符串翻转

StringBuilder转成字符串
sb.toString();返回一个字符串
字符串转换成StringBuilder
new的时候,直接把字符串放进去就好了
new StringBuilder(字符串/字符串变量)

sb. charAt(int index) :获取指定索引处的某个字符
sb.  delete(int start, int end) 删除       

/****************************    集合          ****************************/       

集合类 sh = new 集合类(参数)、
ArrayList<对象(对象名字和字符串对象)> array = new ArrayList<对象>();
array.size()获取长度(元素个数)


添加元素:
                public boolean add(E e):添加元素
                public void add(int index,E element):在指定索引处插入一个元素.
       
获取元素:
        public E get(int index) : 返回指定索引处的元素.
       
集合长度:
        public int size() : 返回集合中的元素的个数.
       
删除元素:
        public boolean remove(Object o):删除指定的元素,返回删除是否成功.
        public E remove(int index) : 删除指定索引处的元素,返回被删除的元素.
       
修改元素:
        public E set(int index,E element) : 修改指定索引处的元素,返回被修改的元素.
       

/*****************String.StringBuilder.集合方法*************************/

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马