• 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()方法获取输入的浮点数           

  • 相关阅读:
    Educational Codeforces Round 51 (Rated for Div. 2)
    Kruskal重构树入门
    编译原理词法分析
    java.lang.String内部结构的变化
    android 世界各国英文简写代码 资源文件
    openCV python 安装
    解读30个提高Web程序执行效率的好经验
    从认知盈余说起,也谈分享精神
    STL set multiset map multimap unordered_set unordered_map example
    [置顶] 【Git入门之一】Git是神马?
  • 原文地址:https://www.cnblogs.com/ayan/p/2297564.html
Copyright © 2020-2023  润新知