黑马程序员技术交流社区

标题: JAVAj基础班总结 [打印本页]

作者: 施嘉楠    时间: 2018-4-1 14:17
标题: JAVAj基础班总结
                                                       技术贴
JAVA所有程序的执行都是从main方法开始的,被JAVA语言赋予了特点含义的单词叫关键字,特点:A:组成关键字的字母全部小写,B:常用的代码编辑器对关键字有特殊的颜色标记.在程序的执行的过程中不可以发生改变的量叫常量,常量分类:A:字符串常量,B:整数常量,C:小数常量,D:字符常量,E:布尔常量,F:空常量.变量是内存中的一小块区域。在程序执行过程中其值可以在一定范围内发生改变的量.
基本数据类型:4类8种
        A:整数                字节数
          byte                1
          short                2
          int                4
          long                8
        B:浮点数
          float                4
          double        8
        C:字符
          char                2
        D:布尔
          boolean        1
注意:
        A:整数默认int类型,浮点数默认double类型
        B:定义long类型,后面加L或l,建议加L
           定义float类型,后面加F或f,建议加F
标识符:就是用来给包,类,方法,变量等起名字的符号
组成规则:
  A:unicode字符
        数字字符,英文大小写字母,汉字(不建议使用汉字)
  B:下划线_
  C:美元符$

注意事项:
  A:不能以数字开头
  B:不能是java中的关键字

常见命名规则:
  A:基本要求
    见名知意
  B:常见的命名
    a:包(其实就是文件夹)
      全部小写,多级包.隔开
      举例:com,com.itheima
  b:类
    每个单词的首字母大写
  c:
第一个单词首字母小写,后面每个单词首字母大写.
A:什么是JVM
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台
B:什么是JRE
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
         JRE:JVM+类库。?
C:什么是JDK
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
        其中的开发工具:编译工具(javac.exe) ?打包工具(jar.exe)等
?        JDK:JRE+JAVA的开发工具。
D:为什么JDK中包含一个JRE
        为什么JDK中包含一个JRE呢?
        开发完的程序,需要运行一下看看效果。
E:JDK,JRE,JVM的作用和关系
JDK包含JRE 和开发工具包
JRE 包含 核心类库和JVM



%运算符:
  *当左边的绝对值小于右边绝对值时,结果是左边
  *当左边的绝对值等于右边绝对值时,结果是0
  *当左边的绝对值大于右边绝对值时,结果是余数
  *%运算结果符号只与左边有关


字符参与加法运算,其实是拿字符在计算机中存储的数值来参与运算的
  *'A'65
  *'a'97
  *'0'48

字符串参与加法运算,其实是字符串的拼接
  "abc" + 10 ==> "abc10"
  10 + 20 + "abc" ==> "30abc"

++在后面,先拿变量操作,然后再++
++在前面,先拿++,然后再拿变量操作

赋值运算符(+=,-=,*=,/=.......)
赋值运算符,++,--,都能自动强转

关系运算符:
        注意==和=的区别

与&.&&:有false则false
或|.||:有true则true
非!:true则false,false则true
异或^:相同为false,不同为true

&&与&的区别:
        &&有短路效果,左边为false,右边不执行
        &左边无论是什么,右边都执行

三元运算符(三目运算符):
        关系表达式?表达式1:表达式2

if语句有三种格式:
第一种:
    if(关系表达式) {
        语句体
    }
第二种:
    if(关系表达式) {
        语句体1
    }else {
        语句体2
    }
第三种:
    if(关系表达式1) {
        语句体1
    }else if(关系表达式2) {
        语句体2  
    }else if(关系表达式3) {

    ........

    }else if(关系表达式n) {
        语句体n
    }else {
        语句体n+1
    }

Switch语句:
switch(a){
        case x:
            ....
            break;
        case x2:
            ....
            break;
        ....
        default:
            ....
            break;
}

for循环语句的格式:
        for(初始化语句;判断条件语句;控制条件语句) {
                循环体语句
        }

JAVA的内存分配:
        栈(存储的是局部变量)
        堆(存储的是new出来的东西)
        方法区(面向对象进阶讲)
        本地方法区(和系统相关)
        寄存器(给cpu使用)

数组常见的两个问题:
数组越界异常:
        ArrayIndexOutofBoundsException
空指针异常:
        NullPointerException(调用数组中的某个元素时才会报错)

方法:其实就是完成特点功能的代码块

定义格式:
        修饰符 返回值类型 方法名(参数类型 参数1,参数类型 参数2...) {
                方法体
                返回体
        }

        修饰符:public
        返回值类型:根据返回值而定,没有返回值写void
        方法名:自定义(见名知意)
        返回体:结束方法,return 将结果返回给调用者,没有返回值时,可以不用写.

方法重载的特点:
        1.方法名相同
        2.参数不同
          (1)参数对于的类型不同
          (2)参数的数量不同

断点调试的作用:
        A:查看程序的执行流程
        B:调试程序

断点:
        其实就是一个标记
        哪里不会加哪里
        在代码区域左边双击即可加断点

private关键字:
        是一个修饰符
        可以修饰成员变量,也可以修饰成员方法
        被private修饰的成员只能在本类中被访问

String的常用构造方法:
        String(String original):把字符串数据封装成字符串对象
        String(char[] value):把字符数组的数据封装成字符串对象
        String(char[] value,int index,int count):把字符数组中的一部分数据封装成对象

String类的判断功能:
        返回值
        boolean    equals(Object obj):比较字符串的内容是否相同,区分大小写               验证用户名密码需区分大小写可用equals
        boolean    equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写            验证验证码时不区分大小写可用equalsIgnoreCase       
        boolean    startsWith(String str):判断字符串对象是否以指定的str开头
        boolean    endsWith(String str):判断字符串对象是否以指定的str结尾

String类的获取功能:
        返回值
        int        length():获取字符串的长度,其实也就是字符个数
        char       charAt(in index):获取指定索引处的字符(可用于对字符串的遍历)
        int        indexOf(String str):获取str在字符串对象中第一次出现的索引
        String     substring(int start):从start索引开始截取字符串,默认到结尾结束
        String     substring(int start,int end)从start索引开始截取字符串,到end索引结束

String类的转换功能:
        返回值
        char[]     toCharArray():把字符串转换为字符数组
        String     toLowerCase():把字符串转换为小写字符串
        String     toUpperCase():把字符串转换为大写字符串

String类的其他功能:
        返回值
        String     trim():去除字符串两端空格
        String[]   split(String str):按照指定符号分割字符串(如字符串开头有分割元素,数组前会有一个空元素,当分割元素在结尾时数组结尾则没有空元素)

StringBuilder:是一个可变你的字符串.字符串缓冲区类

String和StringBuilder的区别:
        String的内容是固定的.
        StringBuilder的内容是可变的.

构造方法:
        StringBuilder()

成员方法:
        public int capacity():返回当前容量
        public int length():返回长度()

        容量:理论值
        长度:实际值

StringBuilder类的常用方法
添加功能:
        public StringBuilder append(任意类型):添加数据并返回自身对象
反转功能:
        public StringBuilder reverse()

添加功能演示:
        //创建对线
        StringBuilder sb = new StringBuilder();

        //public StringBuilder append(任意类型)
        StringBuilder sb2 = sb.append("hello")

        System.out.println("sb:" + sb);//hello
        System.out.println("sb2:" + sb2);//hello
        System.out.println(sb == sb2); //true

        //sb.append()   sb是对象,方法运行完还是一个对象,还能继续调用方法
        //链式编程
        sb.append("hello").append("world").append("true").append(100);
        System.out.println(sb);
        //结果:helloworldtrue100

集合类的特点:
        长度可变.       
       
ArrayList<E>:
        大小可变数组的实现
        <E>:是一种特殊的数据类型,泛型.
        怎么用呢?
        在出现E的地方我们使用引用数据类型替换即可
        例:ArrayList<String>,ArrayList<Student>

构造方法:
        ArrayList()

添加元素:
        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):修改指定索引处的元素,返回被修改的元素
   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2