码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础 —— 概述

时间:2015-03-06 22:10:05      阅读:371      评论:0      收藏:0      [点我收藏+]

标签:

Java语言:

  JDK(Java Development Kit)开发工具包,提供Java的开发环境和运行环境 --> 适合于开发

  JRE(Java Runtime Environment)Java运行时环境,包含Java虚拟机(JVM) --> 适合于运行

  Java代码在JDK下编译,会生成.class文件,再使用JVM运行.class文件(字节码文件)

Java基础语法:

  (1) 命名规范:

    1. 类和接口:用若干名词或词组组成,首字母均大写。如 JHelloWorld。

    2. 方法名:动词或名词词组组成,首字母小写,其余单词首字母大写。如 setAge()。

    3. 常量名:全部使用大写,并用下划线分隔单词。如 HIGH_NAME。

    4. 变量名:名词或词组,首字母小写,其余大写,如 authorName。

    标识符:首字母必须是字母、下划线或者美元符号,可以由字母,数字,下划线与美元符号组成,不能有空格。

  (2) 基本数据类型:

    1. 布尔型:    boolean          (1字节)

    2. 字符型:    char               (2字节)

    3. 整型:     byte, short, int, long     (1字节,2字节,4字节,8字节)

    4. 浮点型     float, double        (4字节,8字节)

    数据类型强弱关系: byte < char(short) < int < long < float < double

    弱类型可以自动转换为强类型,但是强类型不能隐式转换成弱类型,只能使用强制转换。

  (3) 内存空间:

    1. 寄存器 (Registers):最快的保存区域,位于处理器内部,由编译器分配。

    2. 栈 (Stack):基本数据类型存储在这里。

    3. 堆 (Heap):Java对象,引用数据类型存储在这里。

    4. 静态存储 (Static Storage):固定的存储位置,也在RAM中,用于存储static元素。

    5. 常数存储 (Constant Storage):通常置于程序代码内部,永远不改变(一般在ROM中)

    6. 非RAM存储:不在程序范围之内

  (4) 变量分配机制:若变量为基本数据类型,则会在栈中开辟相应大小的空间,用于存放该数据;若变量为引用类型数据,则会在栈内存中生成相应的引用值(地址),即对象的实际地址的编制,再在堆内存中生成该对象的相应空间和数据。

  如:

  MyDate date;
  date = new MyDate(8,8,2008)

  首先在栈内存中分配了一个32位的对象空间(没有实例化,不能被使用),然后实例化了一个对象,此时生成了对象的哈希码(地址),并将这个值赋值给date。这样,栈内存中就有了相应的哈希码,而堆内存中也生成了相应的空间。

  (5) 输入参数的方式:

    1. 使用main方法的String[] args参数,可以在编译时加入。

    2. main方法内定义参数常量。

    3. 使用JOptionalPane类弹框输入。(界面输入)

    4. 使用输入流进行输入。(System.in.read()方法或BufferedReader对象)。

    5. 使用Scanner类输入。

  (6) 形参与实参:基本数据类型使用值传递;若为引用类型,则是地址传递,即建立了同一空间的引用。

  (7) this指针:解决了方法内部形参与成员之间命名冲突的同名隐藏问题,并可以调用内部的构造函数。

  (8) static关键字:

    1. 类方法:

      1) 类方法只能访问方法体内的局部变量、参数和静态变量。

      2) 不能出现this和super,因为不存在唯一的对象。

      3) 若想使用非静态方法,一定要生成局部的类对象,再对象.方法来调用。

    2. static初始化块:无法人为调用,只在其所在的类被载入JVM内存时才会自动执行一次(仅执行一次)。

    3. 非static初始化块:在对象创建时,构造方法执行之前会调用一次(视对象的声明而定)。

    4. 静态导入:只导入程序包中的static变量和方法。

  (9) final关键字:

    1. 用final修饰的类时,表示最终类,即不能被继承的类。

    2. 用final修饰的方法时,表示该方法不能被其所在的类的子类覆盖。

    3. final修饰方法的参数时,表示该方法不希望被传进来的参数在方法内被改变。

Java基础 —— 概述

标签:

原文地址:http://www.cnblogs.com/Bestsonic/p/4319105.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!