黑马程序员技术交流社区

标题: 基础班技术帖 [打印本页]

作者: HelloforWorld    时间: 2017-12-27 21:09
标题: 基础班技术帖
预科Day-01
1.  虚拟机JVM不可以跨平台,java语言可以跨平台。
2.  JDK包含JRE,JRE包含JVM。
3.  Java严格区分大小写。
4.  标识符的注意事项:不能以数字开头;不能是Java中的关键字;区分大小写。
5.  多行注释不可以起嵌套使用,单行注释可以。
6.  字符常量 用单引号括起来的内容,里面只能是单个数字,单个字母或者单个符号。可以是空格,不可以什么也不放。
7.  整数默认是int类型,byte和short比较特殊,定义的数字先在他们两个的取值范围内找,找到就取值成功。
8.  Boolean理论是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有指定他的大小。
预科Day-02
1. if语句的注意事项:
                ①:if语句控制的语句体如果是一条语句,大括号可以省略;
                  如果是多条语句,就不能省略。建议永远不要省略。
                ②:一般来说:有左大括号就没有分号,有分号就没有左大括号
③:无论用if的那种格式最多只会执行其中的一个方法体.
2.
①什么是运算符
    就是对常量和变量进行操作的符号。
②注意事项:
     a:+号在java中有三种作用,代表正号;做加法运算;字符串的连接符
     b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
     c:/获取的是除法操作的商,%获取的是除法操作的余数
    ③ %运算符
       * 当左边的绝对值小于右边绝对值时,结果是左边
       * 当左边的绝对值等于右边或是右边的倍数时,结果是0
       * 当左边的绝对值大于右边绝对值时,结果是余数
       * %运算符结果的符号只和左边有关系,与右边无关
       * 任何一个正整数%2结果不是0就是1可以用来当作切换条件
3.整数相除,只能得到整数,如果想得到小数,把其中一个数变成小数,另一个数在运算的时候会自动类型提升
预科Day-03
1.for循环的嵌套及程序流程顺序
      
for(1;2;3){
for(4;5;6){
       7;
    }
       8;
}
顺序:1-->2(t)-->4-->5(t)-->7-->6-->5(f)-->8-->3-->2(f)
预科Day-04
1. 方法:就是完成特定功能的代码块.
2.  方法的定义格式:
    修饰符 返回值类型 方法名 参数列表 方法体
    修饰符:public static
    返回值类型: void类型  非void类型(基本数据类型 引用数据类型)
    方法名:见名知意
    参数列表: ():无参    (数据类型 变量名1,数据类型变量名2...):有参
    方法体:{}
3.  方法的两个明确: 参数列表  返回值类型
           无参    无返回值
           无参    有返回值   方法体内必须有return语句
           有参    无返回值
           有参    有返回值  方法体内必须有return语句
4.方法的注意事项:  
              ①.方法和方法之间是平级关系不能嵌套定义
              ②.方法不调用不执行
5.方法的调用格式:
①.复制方法的名字();②.方法的两个明确
6. 数组中的常见异常:
     ①.ArrayIndexOutOfBoundsException:数组角标越界异常:你写的角标肯定在数组中不存在
      ②.NullPointerException:空指针异常
基础班 Day-12/14
1.  平台
就是操作系统
2.跨平台:
  程序只需要编写一次,就可以在任意的平台上运行
3.跨平台原理
  依赖java虚拟机(jvm),不同的操作系统有不同的jvm,正是因为jvm不跨平台,所以我们的java实现了跨平台
4.jvm
  所有的java代码都是运行在jvm上的
  在不同的操作系统下有不同的jvm
5.jre
  java运行环境,如果计算机想要运行java代码就要安装jre
  jre=jvm+核心类库
6.jdk
  java开发工具包
  如果我们想让我们的计算机能够开发java软件,这个时候就要安装jdk
  jdk=jre+开发工具集
       jvm  < jre  < jdk
7.关键字
  在java语言中有特殊含义的单词
  
  特点:
①  .全部是有小写字母组成
       ②.常见的代码编辑器对关键字有特殊颜色标记
8.常量
  定义:在程序执行过程中,值不可以发生改变的量叫常量
  分类:   
    字符串常量:   "ss" , "" "22"
    整数常量 :    12,33,22,-22
    小数常量:     12.3  ,  3.14  
    字符常量(只能单个字符):      's'    ' '     
    布尔常量       true , false
    空常量         null
9.变量
  定义:
    在程序执行过程中,值可以在一定范围内发生发生改变的量
  定义格式:
    数据类型 变量名;//单纯的定义了一个变量
    数据类型  变量名  =  初始化值;//定义了一个变量并且把初始化值赋值给了这个变量
10.存储单元
  bit  B(字节)  KB  MB GB   TB  
  
  1B= 8bit
  1KB=1024B
  1MB=1024KB
  1GB=1024MB
  1TB=1024GB
11.数据类型   
  分类:   
    基本数据类型
    引用数据类型(类,接口,数组)
  基本数据类型的分类
    整数类型   
       byte     1B    -128~127
       short    2B
       int      4B
       long     8B
    浮点数类型
       float    4B
       double   8B
    字符类型
       char     2B
    布尔类型
       boolean         true false
      
  注意事项:
    整数默认是int类型
    小数默认是double 类型
    如果想要表示long类型的数,要在值得后面加L或者l,建议加L
    如果想要表示float类型的数,要在值得后面加F或者f,建议加F
12.标识符
  组成:
    1.数字,大小写字母,汉字
    2._
    3.$,¥
   
  注意事项:  
    1.不能以数字开头
    2.不能使用java中的关键字
   
  java     
  2b      false
  main   
  class   false
  2_b     false
  _2b     
13.变量使用的注意事项
  ①变量在使用前必须赋值
  ②变量只在它的作用范围内有效
  ③在同一行可以定义多个变量
14.隐式转换
  在运算的时候会出现隐式转换
  byte,short ,char 这三种类型的变量在参与运算的时候默认会转化成int类型再计算
  如果运算中还有int类型  结果int
  如果运算中还有long类型  结果是long
  如果运算中还有float类型  结果是float
  如果运算中还有double类型  结果是double
15.强制类型转换
  目标类型 变量名 = (目标类型)(被转换的数据);
  
基础班 Day-12/16
  
1.运算符
    如果两个整数相除结果只能是整数,如果想要得到小数,至少有一个浮点数参与运算
2.&&和&的结果都是一样的,都是表示并且的意思; || 和|的结果都一样,但是||有短路效果
    短路效果 :
       左边表达式的结果知道后,如果整个表达式的结果已经确定下来了,就不去运行右边的表达式.
3. 三元运算符
  格式:
       布尔类型的表达式或者变量或者常量?表达式1:表达式2
  执行流程:
       判断布尔类型的表达式的结果是ture还是false,如果是true 三元表达式的结果是表达式1,否则是表达式2
  
基础班 Day-12/17
1.if语句的格式:
    注意:下面的关系表达式其实就结果为布尔类型的表达式,或者变量,或者常量。
    if(关系表达式1){
       语句体1;
    }elseif(关系表达式2){
       语句体2;
    }
    ...
    else{
       语句体n+1;
    }
    格式总结:
       if语句只会出现在最前面,并且只会出现一次,后面会跟0次或n次的else if,最后会跟0或1次的else.
2. switch格式
  switch(表达式) {
           case值1:
       语句体1;
       break;
        case 值2:
       语句体2;
       break;
        …
        default:
       语句体n+1;
       break;
    }
3. switch格式解释
  switch表示这是switch语句
  表达式的取值:byte,short,int,char
  JDK5以后可以是枚举
  JDK7以后可以是String
  case后面跟的是要和表达式进行比较的值
  语句体部分可以是一条或多条语句
  break表示中断,结束的意思,可以结束switch语句
  default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
4. switch执行流程
  首先计算出表达式的值
  其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
  最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
基础班 Day-12/19
1.数组的定义格式:
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
2. Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
3.数组初始化:
A:所谓初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
B:我们有两种方式对数组进行初始化
           a:动态初始化  只指定长度,由系统给出初始化值
           b:静态初始化  给出初始化值,由系统决定长度
动态初始化格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
静态初始化的格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
简化格式:
数据类型[] 数组名 = {元素1,元素2,...};
4.二维数组定义格式
数据类型[][] 数组名;
数据类型 数组名[][]; 不推荐
数据类型[] 数组名[]; 不推荐
5.二维数组初始化
       A:动态初始化
           数据类型[][] 数组名 = new 数据类型[m][n];
           m表示这个二维数组有多少个一维数组
           n表示每一个一维数组的元素有多少个
       B:静态初始化
          数据类型[][] 数组名 = new 数据类型[][]{{元素...},{元素...},{元素...},...};
           简化格式:
           数据类型[][] 数组名 = {{元素...},{元素...},{元素...},...
基础班 Day-12/20
1.方法格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型参数名2…) {
       函数体;
       return返回值;
}
2. 返回值类型: 用于限定返回值的数据类型
方法名: 一个名字,为了方便我们调用方法
参数类型: 用于接收调用方法时传入的数据的类型
参数名:  用于接收调用方法时传入的数据的变量
方法体: 完成功能的代码
return: 结束方法,把返回值带给调用者
3.定义方法注意事项
写一个方法首先有两点需要明确:
A.返回值类型 明确功能结果的数据类型
B.参数列表 明确有几个参数,以及参数的类型
4. 有明确返回值的方法调用:
单独调用,没有意义
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
赋值调用,推荐方式
5.没有明确返回值的函数调用:
其实就是void类型方法的调用
只能单独调用
6.方法重载:
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
7.方法重载特点:
与返回值类型无关,只看方法名和参数列表
在调用时,虚拟机通过参数列表的不同来区分同名方法
8. 方法的参数是基本类型的时候:
       形式参数的改变不影响实际参数。
  形式参数:用于接收实际数据的变量
  实际参数:实际参与运算的变量
9. 方法的参数是引用类型:
形式参数的改变直接影响实际参数
基础班 Day-12/22
1.断点调试:
    A:查看程序的执行流程
    B:调试程序
2.  断点:其实就是一个标记
3.  如何加断点:
    在代码区域的最左边双击即可
4.  如何运行加断点的程序?
代码区域 -- 右键 -- Debug as-- Java Application
会弹出一个页面让我们选择是否进入debug模式,选择yes
基础班 Day-12/23
1.定义类其实就是定义类的成员(成员变量和成员方法)
a:成员变量   和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
b:成员方法   和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
2.如何拥有一个类的对象呢?
    创建对象
3.如何创建对象?
    格式:类名 对象名 = new 类名();
4.对象如何访问成员?
       成员变量:对象名.变量名
       成员方法:对象名.方法名(...)
5. private关键字:
a:是一个权限修饰符。
b:可以修饰成员(成员变量和成员方法)
c:被private修饰的成员只在本类中才能访问。
6. 构造方法格式
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:没有具体的返回值
7. 如果不提供构造方法,系统会给出默认构造方法;如果自己提供了构造方法,系统将不再提供;构造方法也是可以重载的,重载条件和普通方法相同
基础班 Day-12/25
1.API的使用:
java.lang包下的类在使用的时候是不需要导包的
2.
A:"abc"是String类的一个实例,或者成为String类的一个对象
B:字符串字面值"abc"也可以看成是一个字符串对象
C:字符串是常量,一旦被赋值,就不能被改变
D:字符串本质是一个字符数组
基础班 Day-12/26
1.对象数组概述
A:基本类型的数组:存储的元素为基本类型
int[] arr={1,2,3,4}
B:对象数组:存储的元素为引用类型
  Student[] stus=new Student[3];
  
2.Student代表一个自定义类
Stus数组中stus[0],stus[1],stus[2]的元素数据类型为Student,都可以指向一个Student对象
3.


作者: 小浙姐姐    时间: 2017-12-31 09:11
为明天做准备的最好方法就是集中你所有智慧,所有的热忱,把这天的工作做得尽善尽美,这就是你能应付未来的唯一方法。就业班加油!看好你哦!




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