Java基础

一、Java的产生

Javasun Microsystems 1995年推出的高级编程语言

二、Java的发展史

Java诞生于sun公司19955月——》19961Java1.0——》19972Java1.1——》199812Java1.2,更名为Java2J2SEJava标准版/J2EE:企业级开发/J2ME:面向嵌入式如手机游戏的开发)——》20005Java1.3——》20005Java1.4——》20049Java5

——》20056Java6(更名为JavaSE/JavaEE/JavaME)——》20117Java7sun公司2009年被orcek公司收购,导致版本发布的推迟)——》20143Java8(最新)

三、Java平台的体系结构

JavaSE :(是开发JavaMEJavaEE的基础)面向对象、APIJVM(运行Java虚拟机的环境)

JavaME :移动设备、游戏、通信等

JavaEE JSPEJB、服务等

四、开发环境搭建与配置

  【1jdk的搭建与配置

    01、找到jdk的目录到bin粘贴路径到(我的电脑——》属性——》高级系统设置——》)环境变量path放到开头并加上英文分号;

    02、安装好后进DOS命令——》输入java  -version

  【2jdk目录的解释

    bin : 一些Java编译解释的命令

    jre Java运行的环境

    lib : 一些源文件和类库等等

    src.zip Java类的一些源码(以压缩包的形式存放)

五、开发Java程序

  【1】、三步走:

    01、编写源程序(.Java文件)

    02、编译源程序(.class文件)

    03、运行

  【2】、使用记事本开发步骤:

    01、使用记事本编译.java源程序

    02、使用javac命令编译,生成.class文件

    03、使用java命令运行.class文件

  【3】、开发步骤的具体操作 :

      01cd(切换到文件所在的位置)

      02javac 文件名.java

       03java 文件名

      cd .. 回到上一级

  【4】、注意:

    01、类名与文件名完全一样,首字母大写

    02main()程序入口,四要素(public static void main String[] args))必不可少

    03System.out.println()从控制台输出信息,S大写

    04、{和}一一对应,缺一不可

  【5】、规范

      01、类名首字母大写02、代码缩进03、输出内容不能缺少英文的双引号04、一行只写一条语句05、{}的使用及位置

六、java程序的注释

  01、单行注释以“//”开始

  02、多行注释以“/*”开头,以“*/”结尾(01Java文件说明02、加在类前面对类进行说明)

  03JavaDoc注释以“/**”开头,以“*/”结尾(生成帮助文档便于读者阅读)

七、使用MyEclipse开发Java程序

  01、集成开发环境(IDE)将程序开发环境和程序调试环境集合在一起,方便程序员开发软件

  02、使用MyEclipse 开发Java程序步骤:

    001、创建一个Java项目

    002、手动创建Java源程序

    003、编译Java源程序

    004、运行Java程序

  03添加jdk Windows——》preferences——》Java——》Installed JREs——》add——》jdk目录

  04设置默认的jdk版本 Windows——》preferences——》Java——》Compiler——》选择1.7版本

  05调节字体大小

     001界面的字体大小Windows——》preferences——》General——》Appearance——》Colors and Fort——》Basic——》Text Font

    002控制台的字体大小Windows——》preferences——》General——》Appearance——》Colors and Fort——》Debug——》Console font

  06调节行号  在行号右键Show Line Numbers打上对勾

  07、包资源管理器(用包组织Java源文件,类似于文件夹)

    选择菜单 Window——》Show View——》Package Explorer 打开

  08、导航器(类似于Windows中的资源管理器)

    选择菜单 Window ——》Show View ——》Navigator

    bin目录 : 存放可执行的字节码文件

    src目录 : 存放Java源文件

八、使用Java反编译工具

  01、编译:将源文件(.java)转换成字节码文件(.class)的过程成为编译

  02、反编译:将字节码文件(.class)转换回源文件(.java)的过程成为反编译。(如jadfrontend

  03、反编译过程:切换到jad文件下——》输入要编译的反编译的文件目录(反编译的文件默认在jad的安装目录下)

九、使用Java API帮助文档

ctrl+f :搜索的快捷键

十、变量

  01、概念:

    001、变量:一个数据存储空间的表示

    002、不同数据存入具有不同内存地址的空间,相互独立

  02、变量的命名规则:

    001、字、下、美、人、数、骆驼

    002、有意义

    003、不能使用关键字

  03、数据类型:

    001、数值

      0001、整形 byte1字节8-128~+127int4字节32-231次方~+231次方-1short2字节16-215次方~+215次方-1long8字节64-263次方~+263次方-1

      0002、浮点型 double 8字节64位浮点数)float4字节32位浮点数)

    002、非数值

      0001、字符 char

      0002、布尔 boolean

      0003、字符串 String

  04、使用变量的步骤:

    001、声明变量  数据类型  变量名;

    002、赋值  变量名 = 数值

      0102合并  数据类型  变量名 = 数值;

    003、使用变量

  05.补充:  

    * alt  + / 万能的快捷键

     * 单行注释   //

     * 多行注释   /*多行文本注释*/  

    * 文档注释   /**文档注释*/

     * 包的命名规范

       * 01.域名倒置   

       * 02.全小写

       * 03.防止类名冲突

     * 帕斯卡命名法     首字母大写

     * 驼峰命名法        第一个单词首字母小写,之后的有意义单词首字母大写

     * println()   \n    换行

     * print()  在一行中显示数据        \t 空格

     *  Xjad  反编译工具

     *  public:访问修饰符   访问权限最大

     *  static :静态的  可以修饰方法和属性

     *  void:返回值类型!没有返回值 必须写void

     *  main(String [] a)

     *  所有的java.lang包下面类,不需要程序员显示导入,jre自带的包

     *  java中的关键字:

     *  用于类和接口的声明-------class extend,implements ,interface

     *  包的引入和声明------- package,import

     *  基本数据类型----

       *  byte            

       *  short

       *  int

       *  long

       *  float

       *  double

       *  char

       *  boolean

     *  流程控制-----break,case,continue,do,else,for,if,return,switch

     *  异常处理----try,catch,finally,throw,throws

     *  修饰符---public,private,final,static,abstract,protected

     *  操作符---instanceof

     *  常见对象---new

     *  引用----thissuper

     *  返回类型----void

     *  java中的保留字

       *  01.goto

       *  02.const

   *  变量:一个数据存储空间的表示!

   *  变量(标识符)的命名规范:

     *  01.驼峰命名法,首字母小写

     *  02.不能使用关键字和保留字作为变量名

     *  03.首字母必须是 字母,下划线 _  美元符号 $  人民币符号 ¥,只能有这三种符号

     *  04.不能以数字开头,但是数字可以放在后面

     *  05.标识符对大小写严格区分

   *  String  是引用数据类型   而且是java中比较特殊的一个类*/

         public static  void  main(String [] args){

       /*

        * int 代表数据类型

        * 50  我想存贮的数据

        * a 我怎么找到50?  通过a

        * a就是记录50在内存中存储的位置

        */

    /*  int  firstNum = 50;

       System.out.println(firstNum);

     //创建一个字符串变量 用来保存姓名

       String name="hello  world";

       System.out.println(name);*

     /*

        * 基本数据类型

        * byte取值: -128   127

        * byte  num=-129;(错误超出范围)

        * int取值:  负的231次方            *

        * 只能存储整数类型的数据

        * short 短整型

        * int   整型

        * long  长整型

    * 存储小数!

      * float

      * double 最大的基本数据类型

    * 大小

      * short<int<long<float<double

        * double  num1=2;

      * char 是字符类型,java对字符采用Unicode字符编码!

        * 因为计算机只能存储二进制数据,所以必须对每个字符进行编码!

        *   'a'  对应的就是一个数字  97

        *   'A'  对应的就是一个数字  65

        *    char num='A';                         

      *    System.out.println("A+1的结果:"+(num+1));

      *    char num2=65;                         

      *    System.out.println("65的结果:"+num2);    

      * 0-65535

    * String(引用数据类型)

    * 底层其实就是一个char类型的数组

      * boolean:  代表真假

      * 只有2个值

      * true  代表 真

      * false 代表 假

      * 底层是  0 1  */

  /* //双引号  字符串

     String word1="我们是最棒的";

     String word2="abcde";

     //单引号  字符

     char sex='a';*/

   /* 用来定义真假

    * boolean flag=false;

    *System.out.println(flag);  */

     /*变量的使用步骤

      * 01. 声明变量

        * int  money;  int :数据类型    money:变量名

      * 02.给变量赋值

        * money=5000;  =把   =右边的值赋值给 =左边

      * 03.获取数据

        * System.out.print(money);

        * (我们常用的方法)在声明变量的同时给变量赋值

        * int  money=5000;*/

    /*  * 小练习

    *   使用变量存储数据  

     *   输出 姓名   性别  成绩

     *   ??姓名   性别  成绩 分别使用什么数据类型??

     *       //01.使用String类型来定义姓名                            

     *       String   name="奥黑驴";                            

     *       name="小黑";                                      

     *       name="小黑1";                                     

     *       name="小黑2";                                     

     *       //??我怎么实现不让用户区改变这个name属性的值??!!!                 

     *       //02.使用char来定义性别                                

     *       char sex='';                                   

     *     //03.使用double类型接收成绩                             

     *       double score=0;                                 

     *      System.out.println("姓名是:"+name);                 

     *      System.out.println("性别是:"+sex);                  

     *      System.out.println("成绩是:"+score);                                                         

    */

      /* 常量的使用

         * 常量 :在程序的运行中,不允许被改变的变量!

           * final

           * int  NUM=200;  //普通的变量

           * final int  NUM=200;  //常量

         * 常量命名的规范:

         * 01.常量名通常大写   ctrl + shift  + x /y(小写)

        02.不同单词之间使用下划线 ”_”分隔

         * 03.一旦被赋值!不允许被改变,通常在声明变量就直接给变量赋值

           * 在运行之前,工具爆红!这是编译错误!

           *  final int FIRST_NUM=500;

           *System.out.println(FIRST_NUM);

  05、常量

    001、注意:01、变量名通常大写02、不同字符使用下划线分隔03、只能被赋值一次,通常定义时即对其初始化

    002、优点 :比较安全

  06Scanner的使用

    001、使用Scanner的步骤:

    第一步:导入Scanner

       Import java.util.*;

    第二步:创建Scanner对象

      Scanner input = new Scanner(System.in);

    第三步:获得键盘输入的数据

      Int  now =input.nextInt();

    002.补充  

      Scanner类的使用   

         java.util.*    

            *:代表了java.util包下面所有的类

        01.导入Scanner

            02.创建Scanner对象

               001.通过new关键字创建对象

               002.反射!!

         03.获取用户输入

             public static void main(String[] args) {

            /* 创建Scanner对象

             * Scanner input = new Scanner(System.in);

             * Scanner:是类名

             * input:我们称之为对象的引用!

             * new Scanner(System.in):这是对象!

             * System.in:我们称之为参数

             */

          /*

           * 等待用户输入  怎么获取用户输入的值???

           * 用户的名称肯定是一个字符串类型的数据

           * next() 获取下个空格之前的内容

           * nextLine() 获取所有输入的内容

           * 可以 一次性输入 多个 值  之间用  空格隔开  

           * 而且  数据类型 一定要 对应

           */

        Scanner input = new Scanner(System.in);

          System.out.println("请输入您的姓名:");

          String name= input.next();

        /*

         * 获取用户输入的年龄   

         * 肯定是整数  int类型来接收

         */

      System.out.println("请输入您的年龄:");

        int age= input.nextInt();

      System.out.println("请输入您的性别:");

        String sex= input.next();

      System.out.println("您输入的姓名是:"+name);

      System.out.println("您输入的年龄是:"+age);

      System.out.println("您输入的性别是:"+sex);

十一、类型转换

1、自动类型转换

  01.规则:

    001、如果一个操作数为double型,则整个表达式可提升为double

    002、满足自动类型转换的条件

      A、两种类型要兼容:数值类型互相兼容

      B、目标类型大于源类型 double型大于int

2、强制类型转换

  语法:(类型名) 表达式

十二、运算符

(1)赋值运算符

  语法: 变量名 = 表达式;

(2)基本的算术运算符

  +-*/%++--

(3)关系运算符

  01、等于 :==    不等于 :!=     大于 :>      小于 :< 大于等于 >=    小于等于 <=

  02、优先级 : > 、<、>=<= 运算符的优先级高于 == 、!=

(4)逻辑运算符

  01&& :(短路与)两个操作都是true ,结果才是true

    || : (短路或)两个操作数一个是true,结果就是true

    ! (非)操作数为true,结果为false;操作数为false,结果为true

  02、优先级:!> &&>||   

(5)条件运算符(又叫三元(三目)运算符)

  语法: 条件 表达式1 : 表达式2

(6)运算符的优先级

  01、单目运算符包括 ! ++  -- ,优先级别高

  02、优先级别最低的是赋值运算符

  03、可以通过()控制表达式的运算顺序,()优先级最高

  04、从右向左结合性的只有赋值运算符、三目运算符和单目运算符

  05、算术运算符>关系运算符>逻辑运算符

十三、流程控制

(1)流程图

 

(2)If——else选择结构的流程图  

(3)多重if的流程图

 

(4)嵌套if选择结构的流程图(字符串比较用equals

 

(5)switch选择结构

  1、解决方法:

    01、使用多重if选择结构实现,缺点:结构复杂

    02、使用switch选择结构解决,特点:条件为等值判断

  2、语法:

    Switch(表达式){//表达式类型:int shortbytechar、枚举类型、Stringjdk1.7

      Case 常量1

        语句;

        Break

      Case 常量2

        语句;

        Break

      Default

        语句;

        Break

    }

(6)比较switch和多重if选择结构

  1、相同点:

    都是用来处理多分支条件的结构

  2、不同点:

    Switch选择结构:

      只能处理等值条件判断的情况

    多重if选择结构:

      没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

十四、循环进阶

(1)while循环

   01、语法

    while(循环条件){

      循环操作

    }

  02、举例:

    Int i=1

    Whilei<=100{

      System.out.println(“第”+i+”遍,好好学习,天天向上!”);

      i++;

    }

  03、循环的步骤:

    001、确定循环条件和循环操作

    002、套用while语法写出代码

    003、检查循环是否能够退出

(2)do--while循环

  do{

    循环操作

  }while(循环条件);

(3)for循环

  01、语法

    for(参数初始化;条件判断;更新循环变量){

      循环操作;

    }

(4)多重循环

 

 

posted @ 2017-06-06 19:16  麋鹿双子  阅读(169)  评论(0编辑  收藏  举报