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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xinyuezi 初级黑马   /  2018-4-4 00:12  /  1010 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java 基本班总结
JAVASE内容
①   java基础语法
②   面对对象
③   API
④   集合
⑤   IO
⑥   网络编程
⑦   线程
⑧   反射


第一天 Jave概述   JDK安装和配置   常量变量...
主要讲了三部分:
一. Java概述 :1 Java发展历史   2 JVM,JRE,JDK的概念、作用、关系
              3 DOS命令       4 HelloWorld案例与常见问题
二. JDK的安装和环境配置、Notepad软件的安装和配置
三. 注释、关键字 常量、变量、数据类型、标识符、转换类型

重点:①HelloWorld案例与常见问题
      ②关键字 常量、变量、数据类型、标识符、转换类型




第二天    Eclipse安装  运算符  键盘录入
主要讲了三部分:
一. Eclipse的安装和使用
二.运算符  
     五种:1 算术运算符  2 赋值运算符  3 关系运算符  
           4 逻辑运算符  5 三元运算符
三.键盘录入   
       导包:             import java.util.Scanner;
       创建键盘录入对象: Scanner sc = new Scanner(System.in);
       接受数据:         int i = sc.nextTnt();


重点:
① /   整数相除,结果是整数
   %   结果的正负, 只和左边有关
        综合:如何获取四位数中的每位数
            个位:  num / 10 ^0 % 10,
            十位:  num / 10 ^1 % 10;
            百位:  num / 10 ^2 % 10;
            千位:  num / 10 ^3 % 10.   

② 区分
   ' a' ;             是字符常量
   char a = 'a' ;       是赋值运算
  
   当字符不参与运算时------------- 就是字符常量
   当字符参与运算时---------------- 其实是那该字符在ASCII中对应的数值操作,                                     char数据类型参与运算可以自动转换化为int

   当字符串参与运算时------------- ""字符串在前/中间, 不是做加法, 而是字符串拼接
                     ------------- ""字符串在后, 先参与运算, 再做字符串拼接

③  a++  ++a   a--   --a 的运算规则
     单独使用------------- 无论++ 与-- 在变量前后,结果都是一样的
     参与运算时---------- 若++ 或- - 在变量后面, 先运算, 后自增
               ---------- 若++ 或- - 在变量前面, 先自增, 后运算

④ 区分赋值运算符 = 和 关系运算符 ==
    关系的运算符的结果是loolean类型    true  /  false
    num % 2 == 0    true为偶数
    num % 2 != 0   true为奇数

⑤ && 遇到false才短路
    ||  遇到true 才短路

⑥ 在求两个数或三个数的最值时,  用三元运算符是最简单的




第三天 选择语句  循环语句  控制循环语句
主要分三部分:
一. 选择语句
    if语句三种格式
    switch语句
          switch(表达式) {
                     case XX :   
                    break;
              ...
               default:
               break;
          }

二. 循环语句
    1 需要循环满足的条件:
        A 有重复的事要做
        B 有规律

     2  for循环语句
for ( 初始化语句;  判断条件语句;  控制条件语句 )  {
                ①               ②            ③
             循环体语句;
                 ④
        }
        执行顺序:  ①②④③  --- ②④③ ---- ②④③ ......... ----②④③ --- ②

     3  while循环语句
        两种格式:
       ① 基本格式
                  while ( 判断条件语句) {
                        循环体语句;
                  }

② 扩展格式
           初始化语句;
           while(判断条件语句) {
                        循环体语句;
                 控制条件语句;
        }



    4  do ..while循环语句
        ① 基本格式
                    do {
                         循环体语句;
                       } while((判断条件语句);


        ② 扩展格式
                   初始化语句;
                   do {
                        循环体语句;
                        控制条件语句;
             } while((判断条件语句);

     5  三种循环的区别
         do… while循环至少会执行一次循环体。
        for循环和while循环只有在条件成立的时候才会去执行循环体

     6  for 和while 的区别
         for   循环的的初始变量,在循环结束后,不可以被访问。
         while 循环的的初始变量在循坏外,在循环结束后,是可以被继续使用的。


三. 控制循环语句
    1. Break 的使用场景和作用
      break: 中断的有意思  ( 结束当前所在循环 )
       使用场景:  A 在switch 选择语句中
                  B 在循环中
          作用:  跳出单次循环
          离开使用场景是没有意义的

2. continue 的使用场景和作用
          continue:  继续的意思 ( 结束本次循环,继续此次循环 )
          使用场景: 循环中

重点:
    ①    if () {...} else {...}
           if () {...} else if {...} ... else
           都是单体语句

    ②    在 if 语句中,  优先考虑 " 边界值"   
    ③    switch语句的两种结束情况:
a. 遇到break
                        b. 遇到右大括号
           注: break 有无的区别 --------case穿透现象



第四天  Random   一维数组    二维数组
主要讲了三部分:
一  Random 随机的类
    1 步骤: ①导包         import java.util.Random;
        ②创建对象     Random r = new Random();
          ③获取随机数    int s = r.nextInt( n );    调用Random对象的nextInt()方法
                //  ( n )代表的是随机数的范围, 随机产生的是 [0,N) 的数

   2 延伸:  随机产生1-100之间的随机数
                int s = r.nextInt( 100 ) + 1;

    3 猜数字游戏
       运用 while ( true ) {循环体语句}          //无限循环
          break;                                   //结束循环

二  一维数组
1  格式:   声明数组: 数据类型[] 数组名 ;
          给数组赋值:  数组名 = new 数据类型[数组的长度];
          数组的长度:  数组中的元素的个数
2  动态初始化:  初始化时只指定数组长度,由系统为数组分配初始值
                 数据类型[ ] 数组名 = new 数据类型[ 数组长度];
    静态初始化:  初始化时指定每个数组元素的初始值,由系统决定数组长度
                      数据类型[ ] 数组名 = new 数据类型 [ ] {元素1.元素2.... };
3 重点:  ①一维数组的遍历
           ②一维数组获取最值

三  二维数组
  1  格式:  ①   数据类型[ ] [ ]变量名 = new 数据类型[m][n]   
                m : 代表有m 个一维数组
                n:  每个一维素组中有 n个元素
              ②  数据类型[ ][] 变量名 = new 数据类型 [ ] [ ] {元素1.元素2.... };
2  重点: 二维数组的遍历   
                for( int i = 0;i < arr.length; i++ ) {
                        for( int j = 0;  j< arr[i].length; j++    ) {
                             System.out.print(arr[i][j]+" ");
                         }
                         System.out.println();   //换行
            }


第五天  方法
一. 方法的概述:

   1 方法 :  其实就是完成特定功能的代码块  ( 在c语言中称: 函数 )
       定义格式:  
            修饰符  返回值类型  方法名( 参数类型 参数名1, 参数类型 参数名2 ...)  {
                   方法体;
                   return 返回值;   ( 别忘了书写return )
          }

   2   编写方法:   写一个方法有两个明确:
        A 返回值类型   明确功能结果的数据类型
          B 参数列表     明确有几个参数, 以及参数的数据类型

    3 方法的调用:  方法不调用,不执行
         A 单独调用 ,没有意义
           sum( 10 ,20 );
         B 输出调用
           System.out.println( sum(10 , 20 ));    故调用  :  方法名, 实参   
         C 赋值调用-------------------推荐
           int result = add( 10 , 20 ); //      
          System.out.println( result);  
         
    4 return的作用
          A  返回值类型
          B  结束该方法
  
    5  求和案例
       求和方法图解
       两个数是否相等
       两个数求最大值
       三个数求最大值
      

二 void修饰的方法的调用
   1) void的由来:
        当方法中没有任何内容需要返回给调用者时
    2) 使用void的两个明确:
              A 没有明确的返回值        ( 没有具体的值返回给调用者 )
        B 明确参数 (  可以有参数, 也可以无 )
    3) viod的调用:
        单独调用.
    4) 案例
      ① 打印1-n的数
      ② 运用方法, viod的调用, 打印水仙花数


三  方法重载  参数传递
  1.  方法重载
   1) 概念:  在同一个类中, 出现了方法名相同的的情况.
   2) 特点:  方法名相同, 参数列表不同, 与返回值 ( 数据类型 )无关.
            参数列表不同:  参数个数不同
                           参数数据类型不同
                           参数列表的顺序不同
     注意:  在方法调用的时候,  java虚拟机将通过参数列表的不同来区分同名的方法.

  2.  参数传递
1)  重点:  参数类型
   ①方法的参数如果是基本数据类型 :
             形式参数的改变不影响实际参数的值
       ②如果参数是引用数据类型 :
             形式参数的改变直接影响实参值
             eg:  数组
                  主方法的数组  要引用给 其他方法,  实际引用的是数组的地址,
                  所以任何一个方法里的数组改变,  都将影响数组的值.
      2)  案例:

四. 方法操作数组练习
    1 .遍历数组
    2. 数组获取最值
    3. 数组元素求和






第六天  基础语法综合练习
一. Eclipse的断点调试
    1.概念: 什么是断点?
            就是一个标记,从哪里开始。
2 设置断点后的程序:
右键 -- Debug as -- Java Application
二. 综合练习
1  循环, if和switch练习
键盘录入月份,输出对应的季节(if…else或switch实现)
2  打印5位数中所有的回文数
题:   输出5位数中所有的回文数 ,并统计回文数个数.
      ( 回文数 : 个位和万位相同,  十位与千位相同 )
3  不死神兔问题
4  求数组中满足要求的元素和
5  裁判评分
  题:   6个评委评分,去掉最高分,去掉最低分,求剩下4个评委给出的平均分.
6  数组反转
  题:  运用方法输出反转后的数组.
7  数组基本查找
  题:
    如果查找的元素不存在,就返回 索引index = x,
    如果查找的元素不存在,就返回 index = -1 ,

8  数据加密


第七天  对象   对象的封装   对象构造方法
一. 面向对象
1  对象
  1) 概念:   它是一种思想 , 面向对象是基于面向过程的思想 .
            不断创建对象  
  
    面向过程: 强调的是每一个功能的步骤
    面向对象: 强调的是对象 ,然后让对象去调试功能

  2) 面向对象的思想特点:
    A  是一种符合我们思考习惯的思想
    B  将复杂的事情简单化
    C  将执行者转化为指挥者
   
2. 类与对象的概述
  1)  我们学习编程是为了什么?
       用 java 语言来描述现实中的事物

     如何描述现实中的事物?
       事物:  属性 (成员变量)   ---- 事物的描述信息
              行为 (成员方法)   ---- 事物能够做什么
       java 语言通过类来描述现实中的事物.  我们可以定义一个类 来描述事物.

     Java 语言最基本的单位是 类.
     类:  一种相关的属性和行为的集合.
         用 class 修饰的一个东西
          成员变量 :  
                   位置不同:  类中,方法外
                   初始化不同:  不需要给初始化值
                    String  默认值  null
                    int    默认值   0
                    
          成员方法 :  与以前定义的方法一模一样
                      去掉 static
     对象: 就是该事物的具体体现
           是new 出来的某个个类
  2) 举例:  学生类
            手机类

  3) 成员变量与局部变量的区别
     A 类中位置
       局部变量 : 方法内
       成员变量 : 类中,方法外
     B 内存中位置
       局部变量 : 在栈中 (因为方法在栈中)
       成员变量 : 在堆中
     C 初始化值不同
        局部变量 : 没有默认初始化值 , 必须手动赋值
       成员变量 : 都有默认初始化值
     D 生命周期不一样
       局部变量 : 随着方法的结束而弹栈
       成员变量 : 随着对象的创建而存在

   4) 面向对象的三大特性
       封装   继承   多态

二. 封装对象
封装原则:
            将不需要对我提供的内容都隐藏起来
            把属性隐藏, 提供公共方式访问

封装好处:
            通过方法来控制成员变量的操作,提高代码的安全性.
把代码用方法进行封装,提高了代码的复用性

关键词:
① private:
a 是一个权限修饰符。
b 可以修饰成员(成员变量和成员方法)
c 被private修饰的成员只在本类中才能访问
       应用:
        A 把成员变量用private修饰
        B 提供对应的getXxx()/setXxx()方法

② this:  方法被哪个对象调用,this就代表那个对象
            当局部变量和成员变量重名时,使用this


三. 对象的构造方法
1 作用: 主要用来给对象的数据进行初始化
2 构造方法格式
           a 方法名与类名相同
           b没有返回值类型,连void都没有
           c没有具体的返回值
     3 包含private,无参,有参构造的标准学生类代码:
A 类:
       a:成员变量
       b:构造方法
    无参构造方法
    带参构造方法
        c:成员方法
    getXxx()
    setXxx()
B  给成员变量赋值的方式
     a 无参构造方法+setXxx()
     b 带参构造方法

0 个回复

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