Java初级学习笔记

1.Java语言简介
  1.1 Java语法的基本特点:
       1)简单:具有简洁的面向对象语法,没有运算符重载、多重继承等模糊概念,自动垃集
       2)面向对象:具有一切面向对象编程语言的特点,如封装、继承、多态等
       3)跨平台:具有与体系结构无关的字节码指令,主流平台都提供了JVM
       4)安全:Java不支持指针,避免了指针错误和欺骗访问,具有严格的编译和字节码装载和校验机制
       5)多线程:具有功能强大、简单、与平台无关的线程处理
  ----------------------------------------------------------------------------
  1.2 JVM的基本原理
       1)JVM - Java虚拟机,负责解析和执行Java代码,JVM可以运行在各种操作系统平台上
       2)Java跨平台性:
         (Java程序 <-- JVM <-- 操作系统  <-- 计算机硬件 )
                     不同平台有不同的JVM,主流平台都提供了各自的JVM,所以JAVA字节可以在所有平台上能够执行。
                     在这个意义上Java具有平台无关性,一次编写,处处运行
                     Java是一种跨平台的语言,只要JVM移植到特定的计算机上,就能保证经过编译的Java代码能够在该系统上运行 。       
      3)Java程序的编译运行过程: 
        Step1. 通过Java编译器将Java源文件编译为.class文件,即字节码文件
        Step2. 启动Java虚拟机(JVM),每一个java程序都会启动一个独立的jvm进程。
        Step3. JVM读取.class文件,并进行验证和初始化
                                         验证:检查.class文件是否符合规格
                                         初始化:为变量分配内存和初始值
        Step4. JVM将.class文件二次编译成特定平台相关的机器码,
                            运行并输出结果(Hotspot动态编译执行)     
  ----------------------------------------------------------------------------
  1.3 JDK、JRE、Java API的基本概念
      JDK - Java Development Kit(Java开发工具包)
      JRE - Java Runtime Enviroment(Java运行环境),
         JRE = JVM + JavaSE API
      JVM - Java Virtual Machine(Java虚拟机)
      Java API - 应用程序编程接口,Java系统标准类库
      Development Tools:JDK开发工具
JDK java 开发 工具包
  |-- 开发工具(命令:java,javac,jar...)
  |-- JRE Java运行环境
       |-- Java API(应用编程接口,系统类库)
       |   
       |-- JVM Java虚拟机
---------------------------------------
1.4 Java环境的基本配置
  JAVA_HOME - JDK主目录
  CLASSPATH - Java类路径,
             一般设置为.;${JAVA_HOME}\lib
  PATH - 添加jdk可执行文件的路径
        path=...;${JAVA_HOME}\bin
     启动shell终端,键入java -version查看java安装是否成功 

参考:http://linux.chinaunix.net/techdoc/beginner/2009/03/23/1104316.shtml
===============================================================
   2.2 package语句
          1)package语句用于将类放在特定的包下,位于java源文件的第一行
              Example:  package day01;
          2)package语句的作用:
                用于组织Java中的类;避免命名冲突。
          3)文件需要放在和包名匹配的目录下
               package day01;  ----->HelloWorld2.java需要放在day01目录下
          4)编译执行包下的java程序:
                cd ./day01;
                javac HelloWorld2.java
                cd..
                java day01.HelloWorld2
                (JVM在当前目录下寻找day01子目录,并加载day01目录的 HelloWorld2.class)
          5)JDK中常用的包
            java.lang包 - 提供System类、String类、Integer类
                                (java.lang包中的类不需要import导入,是自动导入的)
            java.util包 - 工具包,提供Date类(日期)、Random类(随机数)、
                               集合接口和类。
            java.io包 - 提供与文件和流操作有关的类。
            java.sql包 - 提供操作数据库有关的类。
            java.net包 - 提供网络编程相关的类。
            java.awt包,javax.swing包 - 提供创建图形界面相关的类
  ---------------------------------------------------------------------------------- 2.3 import语句
     1)import语句用于导入包中的类,以便在代码中直接使用。
     2)方式一:导入具体的类,Example:   import java.util.Date;
           方式二:导入包下的所有类,Example:  import java.util.*;
            Question:   import java.*;是否可以导入所有以java开头的包呢?
                            (不可以)  *只能导入下一级的包
      3)import语句位于package语句之后,class定义之前,
          可以有多条import语句。
==================================================================================
3.Elcipse的使用
  3.1 理解workspace - 工作区,用来管理多个项目,与目录对应。
        项目通常存放在工作区的目录下。
  3.2 区分Folder和Source Folder
    Folder - 文件夹,用来存放任何的普通文件,
如notes就是一个folder
    Source Folder - 源文件夹,用来存放Java源文件,
             Eclipse默认提供了一个源文件夹(src),
             源文件编译后的.class文件存放在project/bin目录下。
            一个工程可以根据需要建立建立多个Source Folder
  3.3 在Eclipse中管理多个JRE
     Step1. window->Preferences->Java
            ->Installed JREs
     Step2. 在工程右键菜单中点击"build path(构建路径)"
        ->configure build path->选择JRE
        ->remove->add libary->System JRE Library
  3.4 Eclipse的快捷键 
      Eclipse常用的快捷键:
       Alt+/: content assistant
         -------------------------------
         main,Alt+/->main方法
         sysout,Alt+/->System.out.println()
         for,Alt+/->for语句
         if,Alt+/->if语句
         -------------------------------
       F3: open declaration,查看定义
       Ctrl+Shift+M: 导入包
       Ctrl+Shift+F: 格式化代码
       Alt+Shift+X,J:运行Java程序
       Alt+Up:将代码上移一行
       Alt+Down:将代码下移一行
       Ctrl+/:设置/取消单行注释
       Ctrl+Shift+/:多行注释
       Ctrl+Shift+\:取消多行注释
       Ctrl+D:删除一行
    (设置快捷键:window->Preferences->Gerneral->Keys)

参考:http://www.blogjava.net/action/articles/17339.html
============================================
4.Java注释
  4.1 注释的三种类型
     1)单行注释://,Ctrl+/
     2)多行注释:/* ..  */,Ctrl+Shift+/
     3)文档注释:/** ..   */
  4.2 使用JavaDoc根据文档注释生成相关的文档
     Eclispe右键菜单export->Java->Javadoc
=============================================
5.变量
  3.1 变量用于存储变化的数据,变量名称可以包含字母、数字
   、_、$,但不能以数字开头。
     Example: sum_100
  5.2 变量的声明:使用变量前需要声明变量
         语法:数据类型 变量名;
    Example: int sum_100;
             double amount;
  5.3 变量的赋值和使用
    Example:  sum_100 = 0; //赋值
              int i=1;
              sum_100=i; //使用变量i
  5.4 一条重要的规则:局部变量在使用前必须赋初值
     (变量的初始化指的是声明后第一次赋值)
  5.5 变量不能重复定义
  5.6 变量的作用域
       变量只能在变量定义开始到作用域结束的范围内使用。
   (超出作用域的变量可以再次定义)
==============================================
4.使用Integer类与进制的方法
     (Integer类位于java.lang包)
     1)int parseInt(String s,[int radix])
       --将字符串形式的数值转为十进制的整数,
                      参数radix指定进制,如2,16等,默认为10进制
     2)String toString(int num,int radix);
       --返回数值的指定进制的字符串形式
==============================================
5.基本数据类型
  5.1 基本数据类型有8种:
byte short int long float double char boolean
  5.2 整数类型:
     (整数类型都是有符号的整数,最高位是符号位,
      0代表正数,1代表负数)
    byte - 字节类型,在内存中占用1个字节,
                         存储数据的范围是-128~127    
       byte的最小值 1000 0000,最大值0111 1111
                对应的类Byte提供两个常量:
          MIN_VALUE - byte类型的最小值
          MAX_VALUE - byte类型的最大值
    short - 短整型,在内存中占用2个字节(16位)
                         存储数据的范围是-2^15~ 2^15-1
                  对应的类Short提供两个常量:
          MIN_VALUE - short类型的最小值
          MAX_VALUE - short类型的最大值
    int - 整型,在内存中占用4个字节(32位)
                         存储数据的范围是-2^31~ 2^31-1(20亿+)
                 对应的类Integer提供两个常量:
          MIN_VALUE - int类型的最小值
          MAX_VALUE - int类型的最大值
    long - 长整型,在内存中占用8个字节(64),
                         存储数据的范围是-2^63~ 2^63-1
  ---------------------------------------
  5.3 浮点类型
     float - 单精度,在内存中占用4个字节
     double - 双精度,在内存中占用8个字节,
              double比float类型更加精确
  5.4 字符类型
      char - 字符类型,在内存中占用2个字节,
                              是一个无符号的16位整数,
                              范围是0~65535,采用的unicode编码
      Example:
         char c='A';->unicode编码65
                    ->内存中二进制形式:
                     0000 0000 0100 0001
              字符0~9,A~Z,a~z都是连续编码的
        '0'的unicode编码是48
        'A'的unicode编码是65
        'a'的unicode编码是97
  5.5 布尔类型
     boolean - 布尔类型,表示真和假,取值为true和false
------------------------------------------
6.java.util.Scanner类的使用简介
   Scanner类用于接收控制台的数据
   使用Scanner的步骤:
   Step1.通过System.in创建Scanner对象
      Scanner sc=new Scanner(System.in);
   Step2.通过next()方法获取输入的字符串
                    通过nextInt()方法获取输入的整数
                   通过nextDouble()方法获取输入的浮点数           

posted @ 2011-12-22 12:13  json_chan  阅读(518)  评论(0编辑  收藏  举报