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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清风木扬 中级黑马   /  2014-3-27 11:23  /  1465 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、基础知识

1.  java的特点。

跨平台,严格区分大小写的,一种自由格式的语言

JVM(Java Virtual Machine):用于保证java的跨平台(虚拟机)

JRE(Java Runtime Enviroment):java的运行环境

JDK((Java Development Kit): java的开发工具

2.  环境变量path和classpath

Path是配置Windows可执行文件的搜索路径。
Classpath配置class文件查找目录。

设定方式:1.系统属性-》高级->环境变量 2.cmd命令提示符中set=%path%;.

(%path%原path的值“。”当前目录。注意不能有空格)

3. java 变量,(可以用来不断的存放同一类型数据,可以重复使用)

      生命周期:方法里的局部变量,在方法调用完就销毁;类的成员变量,在类的相应对象销毁时销毁;静态变量,从程序开始到程序结束。

4. java中的标识符(java中的包、类、方法、参数、变量的名字可由任意顺序的大小写字母、数字、下划线和$组成,但不能以数字开头,不能是关键字)

5. 数据类型                                                                                                                 

(1)基本数据类型

整数类型:byte(一个字节)short(2个字节) int (4个字节)long(8个字节)

浮点数类型:float(4个字节)double(8个字节)

字符类型:char(2个字节)

布尔类型:boolean(1个字节)

(2)引用数据类型

        类   接口   数组


6. float在内存中的表示方式
31位是符字位,30-23位是幂的值,22-0位是有效值。


7. 类型间互相转换。
从byte,short,int,long,float,double顺向可自动转换,

     反向要强制转换(目的数据类据)当前数据



表达式的数据类型自动提升

所有的byte型,short型和char型自动提升到int

如果一个操作数是long,那计算结果就是long。

如果一个操作数是float,那计算结果就是float;

如果一个操作数是double,那计算结果就是double

     

8.  流程控制

   If {}else{}
   switch () {case  常量表达式: break;default: ;},
  注备switch(变量)。变量只能是整型和字符型。
       int i=2;
       switch(i)
       {
       case 1:
            System.out.println(1);
            break;
       case 2:
       case 3:
           System.out.println(2+" or "+3);
           break;
       default:
            System.out.println("其它");
       }
输出:
   2 or 3

While(){},
Do{} while();,

For()

Break 中止循环,continue跳过当前循环的其余语句,进入下次循环



9.  Java运算符

算术运算符 +(正号)+,-,*,/,%,++(自增前,后)--(自减前,后),+字符串相加(取模运算,模数是负数时忽略如5%-3=2)

赋值运算符=, +=, -+, *=,/+ ,%=

比较运算符==,!=,<,>,<=,>=,instanof

逻辑运算符&,| ,^,!,&&,||

移位运算符&,|,^,<<,>>,>>>

10.  重载:同一类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同即可。


二、面向对象   

1.   类,继承,封装,多态
      类:是现实某类事物的抽象。
      对象:一个现实实体用计算机逻辑对应的映射。
      继承:多个类具有相同的属性和方法,将这些属性和方法定义同一个类中,这些类就不需要自己定属性和方法,通过继承就可以实现。
      多态:一个对象在不同时刻表现的多种状态。(类和接口的引用可以子类对象)。


2. 对象的初始化。
     成员变量:初始值 byte:0 , short:0 ,int:0,long:0l,float:0.0f,double 0.0D, char '\u0000'
  boolean:false,  All reference type: null   

  3. 对象生成过程

P3=new Person(“Tom”,18)

创建指定类的新实例对象,在堆内存中为实例对象分配内存空间,并调用指定类的构造方法,最后将实例对象的首地址赋值给引用变量p3。

4.This,static关键字

this在函数内部就是这个函数所属的对象的引用变量。

Static变量可以被当前类名访问,也可以被类的以象访问。

Static变量在内存中只有一个。构造方法不会为分内存,(类对象数量的统计)

Static方法

只能直接调用同类中的其它的静态成员,不能直接访问类中的非静态成员(对于非静态成员,要先有类的实例对象后才能使用)。不能引用this和super关键字.

静态代码块,当类第一次使用时载入,且只执行一次。

可以被当前类名访问,也可以被类的以象访问。

5.垃圾回收过程分析

当对象没有相应的类变量指向它,这个对象将变成垃圾,但不一定马上就会启用拉圾回收机制把拉圾回收走。
可以用System.gc() 启用拉圾回收机制,在回收前会调用finalize()方法。





6.单态设计模式。
(定义一个的静态本身类变量,构造函数类为private,定义一个静态方法的返回静态本身类变量)
7.内部类


   内部类可以直接访问外部类的成员(包括Private)。外部类不能直接访问内部类的成员。

public class Outer
{
private int size;
public class Inner
{
          privateint size;
          publicvoid doStuff( int size)

              {
                 size++; // 引用的是doStuff函数的形参

                         this.size++; //引用的是Inner类中的成员变量

                         Outer.this.size++; // 引用的Outer类中的成员变量

             }

       }

}

内部如何被其它类引用

class Outer

{

           private int size=10;

           public class Inner

           {

                 public void doStuff()

                 {

                     System.out.println(++size);

                 }

           }

}

   public class TestInner

    {

           public static void main( String[] args)

           {

                 Outer outer = new Outer();

                 Outer.Inner inner = outer.new Inner();

                 inner.doStuff();

           }

}  

8注译

文档注释以“/**”开始,以“*/”标志结束,相应的信息和批注所对应的位置很重要!   类的说明应在类定义之前,方法的说明应在方法的定义之前。

批注参数来标记一些特殊的属性及其相应的说明 。

@author<作者姓名>

@version<版本信息>

@param<参数名称><参数说明>

@return<返回值说明>

生成命令javadoc  

无名类,抽象类,接口

异常,java包,jar命令  


0 个回复

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