zoukankan      html  css  js  c++  java
  • 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()       换行

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

         *  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)多重循环

     

  • 相关阅读:
    SpringBoot启动流程
    谈谈Java的线程池设计
    ReentrantReadWriteLock及共享锁的实现
    Condition的await()和signal()流程
    AbstractQueuedSynchronizer与ReentrantLock
    线程状态及各状态下与锁和CPU的关系
    Java运算符和表达式
    Java常量与变量
    jtl文件解析(jmeter+jenkins+python实现接口自动化)
    mac 增加/usr/bin目录的操作无权限
  • 原文地址:https://www.cnblogs.com/milu0620/p/6953166.html
Copyright © 2011-2022 走看看