新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Java/Eclipse 』 → Java 私塾第一、二章笔记整理[分享] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 9916 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: Java 私塾第一、二章笔记整理[分享] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     luodis 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:12
      积分:83
      门派:XML.ORG.CN
      注册:2010/12/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给luodis发送一个短消息 把luodis加入好友 查看luodis的个人资料 搜索luodis在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看luodis的博客楼主
    发贴心情 Java 私塾第一、二章笔记整理[分享]


    Java 私塾第一、二章笔记整理

    第一章 java入门

    一.Java是什么?
        一种计算机编程语言
        一种软件开发平台
        一种软件运行平台(JRE :java runtime environment)
        一种软件部署环境

    二.Java版本:
        Java 标准版:JSE(java standard edition)
        Java缩微版:JME(java micro edition)
        Java企业版:JEE(java Enterprise edition)
    【此处有三者关系图片,可以到java 私塾官网下载完整的笔记,www.javass.cn】
    三.Java特点:
        简单的说java具有如下特点:简单的,面向对象的,与平台无关的,多线程,分布式,安全,高性能,可靠的,解释型,自动垃圾回收等特点。
        与平台无关:一次编写到处运行:Write Once, Run Anywhere.

    四.Java工作原理:
    【此处有java工作原理图片,可以到java 私塾官网下载完整的笔记,www.javass.cn】
        编写代码——> 编译——>类装载(ClassLoader) ——>字节码(byte-code) ——>校验——>解释(interpreter)运行

    五.Java技术三大特性:
        1. Java 虚拟机(JVM :Java Virtual Machine)
            (1) 通过ClassLoader 寻找和装载class文件
            (2) 解释字节码成为指令并执行,提供class文件的运行环境
            (3) 进行运行期间垃圾回收
            (4) 提供与硬件交互的平台
    【此处有图片,可以到java 私塾官网下载完整的笔记,www.javass.cn】

    2. 垃圾回收
        检查和释放不再需要的已分配的内存
    3. 代码安全
        (1) 代码首先会被编译成class文件,若代码有问题,则提示编译有错误,无法通过编译。
        (2) 通过编译后,类装载的时候,还会进行类装载检查。
        (3) 类装载后,运行之前,还会进行字节码校验。
        (4) 如果程序在网上运行,还有“沙箱”保护。

    六.构建JEE开发环境
        安装目录:   D:\Java\jdk1.6                        D:\Java\jre1.6环境变量配置:Path: D:\Java\jdk1.6\bin;  或者 Path: %JAVA_HOME%\bin;
                            提供给操作系统寻找到Java命令工具的路径。
                            JAVA_HOME: D:\Java\jdk1.6                        提供给基于JAVA的程序使用,让他们能够找到JDK的位置。
                            CLASSPATH: .;
                            提供程序在运行期寻找所需资源的路径。

    JDK文件夹:
       bin: binary的简写,下面存放的是各种java的执行文件。
       include: 需要引入的一些头文件,主要是C和C++的,JDK本身是通过C和C++实现的。
       jre: java运行环境
       lib: library的简写,JDK所需的一些资源文件和资源包。


    第二章 基础语法

    一. 关键字
    goto 和 const 不是java 关键字,是java的保留字。true和false是不是关键字。
    二. 标识符
          命名规则:
               (1) 首字母只能以字母,下划线,$开头,其后可以跟字母,下划线,$和数字。
               (2) 标识符区分大小写。
               (3) 标识符不能使关键字。
               (4) 标识符长度没有限制。
    命名建议:
               (1) 驼峰标识:若由多个单词组成,则第二个单词开始每个单词首字母大写。
               (2) 尽量做到见名知意。
               (3) 尽量少用带$符号的标识符。
               (4) 标识符不应该使用中文,虽然可以编译和运行成功,但不建议这么做。
    三.数据类型
               数据类型分类:基本数据类型和引用数据类型。
               基本数据类型:四类八种:
                          (1)        整数型:byte, short, int, long
                          (2)        浮点型:float, double
                          (3)        字符型:char
                          (4)        逻辑性:boolean
               整数型:byte:字节型
                             short:短整型
                             int:整型
                             long:长整型
                             明确表示是long型,可在后边直接加L(l)。
              整数型的值,没有特别指明,默认是int型。
             取值范围和默认值
    名称 长度 范围 默认值
    byte 8位  -2^7~2^7-1 0
    short 16位  -2^15~2^15-1 0
    int 32位  -2^31~2^31-1 0
    long 64位  -2^63~2^63-1 0

    浮点型:float ,double
    提示:
    (1) 浮点型的值,如果没有特别指明,默认是double型的。
    (2) 定义float型时,一定要指明是float型,可通过在数字后边加F(f)。
    (3) 定义double类型时,可以不用指明,默认的就是double型,也可通过在数字后边添加D(d)来表示。
    取值范围和默认值
    名称 长度 默认值
    float  32位 0f
    double 64位 0

    字符型:char 用来标识单个字符,一个char代表一个16-bit的无符号的unicode字符,一个char字符必须包含在单引号内。
    取值范围和默认值
    名称 长度 范围 默认值
    char 16位  Unicode2^16-1  Unicode 0
       转义字符:\n  回车
                          \t  水平制表符
                          \b  退格
                          \r  换行
                          \f  换页
                          \’  单引号
                          \”  双引号
                          \\  反斜杠
    逻辑型:boolean 只有两个文字值:即true和false。
                  Boolean默认值是false。
             Java中不可以将整数类型和逻辑类型相转换。
    字符串类型:String
                标识方式是用双引号将要表示的字符串引起来。
            注意:
            (1) String 不是原始数据类型,而是一个类(class)
            (2) String包含的字符数量是任意多个,而字符类型只能是一个
            (3) String默认值是null        
    四. 常量和变量
            常量:值不可以改变的标识符
            定义规则:尽量全部大写,并且用下划线将词分隔。
            变量:值可以改变的标识符,用来引用一个存储单元,用标识符来表示,可以通过操作变量来操作变量所对应的内存区域或值块的值。
    五.  Java代码的基本知识
            注释:(1) //:注释单行语句
                      (2)/* */: 多行注释
                      (3)/** */:文档注释
                    常常在javadoc注视中加入一个“@”开头的标记,结合javadoc指令的参数,可以在生成的api文档中产生特定的标记。
            常用的标记:@author:作者
                                 @version:版本
                                 @deprecated:不推荐使用的方法
                                 @param:方法的参数类型
                                 @return:方法的返回类型
                                 @see:”参见”
                                 @exception:抛出的异常
                                 @throws:抛出的异常和exception同意
                    应用范围:
                            类和接口文档中的注释的标记:@author @version @see @deprecated
                            方法和构造方法的注释中的标记:@deprecated @param @return @see @exception @throws:
                            属性文档注释中的标记:@see @deprecated
    六. 运算符
                  移位运算
                  负数等于正数取反加一
                        1357=0000 0000 0000 0000 0000 0101 0100 1101
                       -1357=1111 1111 1111 1111 1111 1010 1001 1011

                  >>n  右移n位,高位用符号位填充,
                        1357>>5=0000 0000 0000 0000 0000 0000 0010 1010
                       -1357>>5=1111 1111 1111 1111 1111 1111 1101 0101

                  无符号右移 >>>n 右移n位,高位用0填充,
                        1357>>>5=0000 0000 0000 0000 0000 0000 0010 1010
                       -1357>>>5=0000 0111 1111 1111 1111 1111 1101 0101

                  <<n,左移n位,低位用0填充,
                        1357<<5=0000 0000 0000 0000 1010 1001 1010 0000
                       -1357<<5=1111 1111 1111 1111 0101 0011 0110 0000

    七.  控制语句
    if…else 语句

    switch语句:
                  switch (expr1){
                      case expr2:
                           statements;
                           break;
                      case expr3:
                           statements;
                           break;
                      default:
                           statements;
                           break;
                  }
         (1)  expr1只能是整数型的值或enum枚举类型的常量值,包含byte,short,int,char,不能是字符串或对象,也不能是long型的值。
         (2)  变量或表达式不与任何case值相匹配时,则执行缺省符中的程序代码。(与default位置无关)
         (3) 若没break语句作为结束句,则程序继续执行到下一个CASE,而不检查case表达式的值。

    for 循环
    for(int I; i<10; i++)
    for 语句中的三个部分都可以省略,但不建议这么做
    while 循环
    do 循环
          do {
                语句或块;
          }while (布尔测试);
    do循环与while循环的不同之处在于,前者至少执行一次,后者可能一次都不执行。

    特殊循环流程控制:
    break:用来从switch语句,循环语句,和预先给定了label的块中退出,跳出离break最近的循环。
    continue:用来略过并跳到循环体的结尾,终止本次循环,继续下一次循环。
    label:标识需要转换到的任何有效语句,被用来标识循环构造的复合语句。

    八.什么是按值传递?什么是按引用传递?哪些是按值传递?哪些是按引用传递?
       按值传递传递的是值的副本,如果方法修改了该参数,仅改变副本,而原始值保持不变。
       按引用传递指的是在方法调用时,传递的参数是按引用进行传递,其实传递的是引用的地址,也就是变量所对应的内存空间的地址。因此,如果方法修改了该参数,调用代码中的原始值也随之改变。
    例:public class PassTest
      {
        float ptValue;
         public void changeInt (int value)
        {           value = 55;    }
         public void changeStr (String value)
        {           value = new String ("different");    }
        public void changeObjValue (PassTest ref)
        {           ref.ptValue = 99f;    }
        public static void main (String args[])
        {     String str;
               Int val;
               PassTest pt = new PassTest ();
               val = 11;
               pt.changeInt (val);
               System.out.println ("Int value is: " + val);
               str = new String ("Hello");
               pt.changeStr (str);
               System.out.println ("Str value is: " + str);
               pt.ptValue = 101f;
               pt.changeObjValue (pt);
               System.out.println ("Current ptValue is: " + pt.ptValue);
         }
    }
    这个程序最后输出的结果将是:
    11
    Hello
    99f


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2011/1/14 8:56:00
     
     zqwfd 帅哥哟,离线,有人找我吗?魔羯座1984-1-8
      
      
      等级:大一新生
      文章:6
      积分:85
      门派:XML.ORG.CN
      注册:2008/5/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zqwfd发送一个短消息 把zqwfd加入好友 查看zqwfd的个人资料 搜索zqwfd在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给zqwfd 引用回复这个贴子 回复这个贴子 查看zqwfd的博客2
    发贴心情 
    good
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2011/3/21 19:12:00
     
     GoogleAdSense魔羯座1984-1-8
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 点击这里发送电邮给Google AdSense 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/14 1:34:47

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    171.875ms