欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java笔记(day1~day6)

程序员文章站 2022-07-10 09:57:38
绪论: Java版本区别:J2EE (企业版) J2SE(标准版) J2ME(小型版) Java特性:跨平台 JVM、JRE、JDK介绍: 综上,所以安装JDK就可以了 使用JDK开发的java程序,交给JRE运行 JRE=JVM+类库 JDK=JRE+java开发工具 DOS命令行:dir列出目录 ......

绪论:

    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成一般函数;