Java笔记(day1~day6)

绪论:

    Java版本区别:J2EE (企业版)                  J2SE(标准版)              J2ME(小型版)

  Java特性:跨平台

   JVM、JRE、JDK介绍

    1.   JVM(Java虚拟机)          不同平台上装指定版本虚拟机,就能运行Java程序
    2.   JRE(Java运行环境)  包括JVM和Java程序所需的核心类库
    3.   JDK(Java开发程序包)    包括JRE

        综上,所以安装JDK就可以了              使用JDK开发的java程序,交给JRE运行

        JRE=JVM+类库    JDK=JRE+java开发工具

   DOS命令行:dir列出目录    cd 改变目录    cd..后退    cd\根目录

      md创建目录    rd 删除      del 删除(文件) *通配符

      help寻求帮助,可以查用法

   Java      -version用来在命令行中查看使用的Java版本

   环境变量表示方法:%变量名%

   临时设置:   Path=haha(这个haha是代表任意值)    在当前命令行窗口有效  ;  删除时Path=

正文:

  /*Demo演示的意思    println书写并换行

  文件夹选项可以选择不要隐藏扩展名  classpath临时环境变量    classpath加;号在当前目录再找一次*/

  Java语言基础组成:

    关键字:都是小写;          类名大写

    标识符:数字不能开头,不可以使用关键字(标识符里有-和$符号)

     注释://单行注释            /*多行注释*/     /**文档注释*/

      注释可以嵌套,但多行不能套多行    javadoc可提取(Java特有)

      可以使用注释,进行逐段调试

    注释的应用:/*需求:练习...思路: 1、...2、...3、...步骤:1、用class关键字完成定义;2、主函数:固定格式;3、输出语句*/

      常量与变量:整数、小数、布尔、字符、字符串、null常量

        进制  byte字节=8个二进制位

        负数:四个字节表示

        变量:变量作用范围(一对{}之间有效)

           名字,类型,数据

        格式:数据类型    变量名=值;

          整数:byte(1位)、short(2位)、int(默认)(4位),long(8位)

          小数:float(4个字节),double(默认)(8个字节)

          字符:char(2个字节,一个中文正好两个字节)

          布尔:boolean(只有True和False)

    自动类型转换

    强制类型转换(丢失精度)

                 字符+数,显示ACSII码

    字符类型运算过程(Java底层用Unicode码)

    类型运算符细节(byte担心存不下,Integer.Max_VALUE(int 型最大值))

    算数运算符:算术运算符+  -     *     /      %(取余)     +(连接符)

             ++          --(在原来的基础上自加自减1)

     赋值运算符:(=、+=、-=、*=、......)

          +=不等于=......+......(+=在赋值中做了强制转换,=...+....是两步运算)

    比较运算符:(运算完结果必须是True或者False)==   !=  >  <  <=  >=

    逻辑运算符:&用于连接两个布尔类型的表达式

          &与|或  &运算特点:        ^异或:两边相同为假    !非

    &&和&运算结果一样,但过程有点小区别    &右边始终参与,&&左为假,右不参与

    ||左边为真,后边不参与

    位运算符:<<左移  >>右移  >>>无符号右移

        左移几位就是乘以2的几次方,

        右移:以前最高位是啥就拿啥补空位,右移就是该数据除以2的几次幂

        无符号右移:右移,高位出现的空位用0补

      两个数互换问题:1、引入第三方变量

              2、a=a+b;    b=a-b;    a=a-b;

              3、a=a^b;    b=a^b;    a=a^b;

    三元运算符:(条件表达式)?表达式1:表达式2;

    程序流程控制:顺序结构  判断结构  选择结构  循环结构

          判断结构:if语句:1、if(条件表达式) {    执行语句;  }

                    2、if(条件表达式){  执行语句;  }  else{  执行语句;  }

                    3、if ........else if...........else   if........  else

          当if.....else......运算后有具体结果,可以用三元运算符代替      

    代码块:局部代码可以定义局部变量周期

          switch(表达式){  case  取值1:执行语句;break;  case     取值2:执行语句;break;  default:执行语句;break;}    (挨着大括号的break可以不用写)

      循环结构:while(条件表达式){  执行语句;  }

           do{  执行语句;}while(条件表达式)

           for(初始化表达式;循环条件表达式;循环后表达式)

      其他流程控制语句:continue(继续);break(跳出);

    

    函数:

       定义在类中具有特点功能的一段独立小程序

       函数也称方法;

       可以将代码封装,复用;

       定义思想错误;

       内存加载进程;    栈的特点:先进后出

       重载:(重复载入):在同一个类中,允许存在一个以上的同名函数,只要参数个数或者参数类型不同即可;

    数组:

       同一类型数据的集合,其实就是一个容器

       格式1:元素类型【】  数组名=new  元素类型【元素个数或数组长度】;

          int【】  arr=new   int【3】;

       格式2:元素类型【】  数组名=new  元素类型【】{元素,元素,...};

       内存空间的划分:局部代码块;决定局部变量生命周期

       堆特点:存储实体(一堆数据),不能消失;

           栈:引入(指向)堆中的数据  引入(指针)  

           堆: 垃圾回收机制:自动不定时回收堆中的垃圾

       当访问到数组中不存在角标时会发生异常

       当引用型变量没有任何实体指向时,还在用其操作实体,就会发生异常

       哈希值【数组  I int型

       正向遍历,反向遍历,对角标操作

       获取最值

       排序(选择排序、冒泡排序、排序位置置换代码提取)

          性能问题

    面向对象:

      三个特征:封装、继承、多态

      对象:(名词提炼法)

      用Java语言对现实生活中事物描述,通过类的形式体现

      对事物描述两方面:1、属性;2、行为

      对象就是该类事物实实在在个体

      引用数据类型参数传递

    封装:

      private私有,只在本类中有效,其他类就算创建对象也访问不到

      public       void  函数名(){    }

      函数里边可以用if判断语句

      隐藏实现细节、对象属性、仅对外提供公共访问方式

      1、安全性;2、便于隔离;3、提高重用性;

      私有仅仅是一种体现形式(封装的)

      Java语言中最小的封装体是函数

    构造函数:特点:1、函数名与类名相同

            2、不用定义返回值类型

            3、没有具体返回值

          作用:给对象初始化;

          一个类中如果没有定义构造函数,该类中会有一个默认的空参数构造函数

          一般函数和构造函数区别:

                构造函数:对象创建时就会调用与之对应的构造函数初始化

                一般函数:对象创建后,需要时才调用

          什么时候定义构造函数

          在描述事物时,该事物已存在就具备的一些内容,这些内容都定义在构造函数中;

          构造函数,重载

          参数类型,参数个数;

          构造函数细节:1、对象改名:p1.setname("小强");

                 2、构造函数加void成一般函数;

        

猜你喜欢

转载自www.cnblogs.com/wanggang521/p/10629789.html