`
zhongsw
  • 浏览: 23570 次
文章分类
社区版块
存档分类
最新评论

黑马程序员_Java基础知识点总结一

阅读更多

---------------------- android培训java培训 、期待与您交流! ----------------------

 

 

Java 知识点总结一

 

1. 环境塔建与开发

JAVA_HOME:Java 的安装目录 .

Path: 指定一个路径列表 , 用于搜索可执行的文件 . 这个路径指定 jdk 安装目录下的 bin 目录 .

       可以用 %JAVA_HOME% 来塔配环境 .

ClassPath: 指定一个路径列表,用于搜索 Java 在编译或运行时需要用到的类( .class 文件) , 比如 sun 提供的 dr.jar tools.jar .

2. 变量与常量

实例变量 : 定义在类中但在任何方法外 .

局部变量 : 定义在方法中的变量 .

任何变量在使用前都要被初始化 . 变量的数据类型有基本数据类型和引用数据类型

基本数据类型

整型: byte, short, int, long

实型: float, double

字符型: char

布尔型: boolean

引用数据类型

数组 array

class

接口 interface

byte 8 short 16 int 32 long 64 .

类型转化可以分为自动类型转换和强制类型转换

3. 运算符

算术运算符 要注意 0 不能做为除数和任何数都不能对 0 取模 .

i++ 是使用 i 的在自加一次 .  ++i 是自加一次后在使用 .

位运算符        << :左移

>> :带符号右移(最高位为 0 则补 0 ,为 1 则补 1

>>> :无符号右移(补 0

赋值运算符 .

如果赋值运算符两边的数据类型不相同,则需要进行类型转换,即“向左看齐”;如果这种转换是由小向大的转换,系统将自动进行,如果是由大向小的转换,则需强制类型转换。

逻辑运算符

有短路 (&&,||) 和非短路 (&,|),

短路可以稍微提高效率 . “&” “&&” 的区别在于,如果使用 & 连接,那么无论任何情况, “&” 两边的表达式都会参与计算。如果使用 && 连接,当 “&&” 的左边为 false ,则将不会计算其右边的表达式。 “|” “||” 的区别与 “&” “&&” 的区别一样。

三无运算符可以简化一下代码的书写 . 格式为 : (condition)?a:b

4. 程序控制语句

  if          if.else      Switch   while   do.while         for   for 循环嵌套   break-continue

其中 do.while 是先执行一次在判断条件是否为真 .

要控制循环的流程在循环中跳出 . 可以在循环外面设置一个 boolean . 通过在循环中控制此布尔值来控制循环是否继续执行 .

 

 

5.java 函数的重载

       构造函数 : 构造函数的名字和它从属的类的名字是相同的 . 一个构造函数是对象被创建时初始化对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,创建对象时就会自动调用它。构造函数没有返 回类型,即使是 void 类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用 new 作符创建一个实例后,立刻就会得到一个清楚、可用的对象。

       构造函数的函数名与类名相同并且没有返回值类型 , 也不能定义为 void, 在方法名前也不用声明方法的类型 . 构造函数主查为了完成对象的初始化工作 , 它能够把定义对象时的参数传递给这个对象所在的域 . 构造方法只能由系统调用 . 一个类中的构造方法可以重载 .

       被依赖的先构造,依赖于人的后构造。 JAVA 是跨层依赖优先于同层依 赖构造

下面这段代码对于层次间的构造函数重载分析的很好

class Cake{
   Cake(){System.out.println("Cake()");}
}

class Meal {
  Meal() { System.out.println("Meal()"); }
}

class Bread {
  Bread() { System.out.println("Bread()"); }
}

class Cheese {
  Cheese() { System.out.println("Cheese()"); }
}

class Lettuce {
  Lettuce() { System.out.println("Lettuce()"); }
}

class Lunch extends Meal {
  Lunch() { System.out.println("Lunch()"); }
}

class PortableLunch extends Lunch {
  private Cake a=new Cake();
  PortableLunch() { System.out.println("PortableLunch()");}
}

public class OverLoadTest extends PortableLunch
{
  private Bread b = new Bread();
  private Cheese c = new Cheese();
  private Lettuce l = new Lettuce();
  
  public OverLoadTest() {
    System.out.println("Sandwich()");
  }
  
  public static void main(String[] args)  {
    new OverLoadTest();
  }
}

 上面的代码输出的结果为:

Meal()
Lunch()
Cake()
PortableLunch()
Bread()
Cheese()
Lettuce()
Sandwich()

       在同一个类中 , 允许存在一个以上的同名函数 . 只要它们的参数个数和参数类型不同即可 . 重载与返回值类型无关 , 只与参数列表有关 .

6. 数组

数组定义 int[] arr=new int[2]; int arr[]=new int[2]; 都可以 , 一般都常用第一种 .

也可以在定义的时候直接给初始值 int[] arr=new int[]{1,2,4,5,5}; 数组常见的操作有遍历和获取最值等 , 遍历数组一般用 for 循环 .for 循环遍历在对象确定情况下可以用 JDK1.5 以后的新特性 , 增强 for 循环 for( 类型 : 类型成员 成员集合 )

 

 

---------------------- android培训java培训 、期待与您交流! ----------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics