黑马程序员技术交流社区

标题: 基础班上课笔记 [打印本页]

作者: 紅塵    时间: 2017-12-26 23:12
标题: 基础班上课笔记
本帖最后由 紅塵 于 2017-12-26 23:21 编辑



常用DOS命令
         盘符                                        盘符切换
         dir                                                列出当前目录
         mdmake directory        创建目录
         rdremove directory)   删除目录
         cdchange dirextory        进入一个文件夹
         cd..                                                返回上一级目录
     cd\                                         返回根目录
         deldelete                        删除文件(del  *.txt ——删除所有后缀为txt的文件)
     clsclear                                清屏
JAVA语言跨平台,Java虚拟机(JVM)不跨平台,javaJVM的支持下拥有跨平台的特性。
JRE:Java Runtime Environment, Java运行时环境,包括Java虚拟机(JVM)和Java程序所需要的核心类库
JDKJava Development Kit,Java开发工具包,JDK是提供给Java开发人员使用的,其中包含了java的开发工具包,JDK中包括了JRE。其中的开发工具包括:编译工具(javac.exe),打包工具(jar.exe),运行工具(java.exe)等。
JRE=JVM+library(核心类库)
                           JDK=JRE+TOOL(开发工具)
使用JDK开发完成的JAVA程序,交给JRE去运行
bin目录:存放java命令行工具
编译运行:java.exe执行时自动加.class后缀,所以java Demo能运行Demo.class文件,而java Demo.class将报错,无法找到相应文件。
环境变量配置:将应用程序的目录配置到环境变量中,windows执行程序时,首先在当前目录下找,找不到的话,就去环境变量的Path中找。
  PathEXT:记录windows常见应用程序,如.exe .bat
  Path:记录应用程序所在路径信息(一般将配置添加到路径最前方,因为最前方的路径优                            先查找,保证优先权,提高java运行效率)
  classPathjava执行class文件时,JVM会在classPath路径下查找要执行的class。若配置了classPath则在classPath下查找,若没有配置classPath,则默认当前目录为classPath路径。
classPath的路径没加“;”,则若classPath下没找到class文件,不再查找当前目录;若classPath的路径没结尾加上“;”,则若classPath下没找到class文件,会在当前目录再查找一次。classPath中“.”代表当前目录

  所以,java环境配置首先要将JDKbin目录路径添加到环境变量的path中,path中不同路径以分号分隔。
Path技巧性配置:新建环境变量,JAVA_HOME,环境变量值为bin所在目录;在Path中配置% JAVA_HOME %\bin,以后JDK路径改变只需改变JAVA_HOME而不需要改动path,防止更改path时误操作其他路径信息。(%变量%用于取得变量的值)
Path环境变量临时配置:windows命令行中的SET命令用于显示、设置、删除windows环境变量,使用set设置环境变量,此更改仅在当前命令行界面有效,可用于环境变量的临时配置。
path\classPath等修改后需要重新打开控制台,以加载最新修改
classPath没有配置的必要,可以不配置)
整数变量默认为int型,浮点型变量默认为double型。声明long型数据,若数据超过int的最大值,则必须后接'l'或者'L';声明float类型数据,必须后接'f'或者'F',否则会抛错。
变量必须先初始化再使用。
boolean只能用truefalse表示而不能用01
Java命名规范:
        1)包名:多单词所有字母均小写 xxx.yyy.zzz
        2)类名接口名:多单词所有单词首字母大写 DemoClass
        3)变量名和函数名:多单词第一个单词小写,其余单词首字母大写 sayHello( )
        4)常量:全字母大写,多单词以下划线分隔,类似DEMO_VALUE
注释
        1)单行注释: //注释文字
        2)多行注释: /*注释文字*/
        3)文档注释: /**注释文字*/
对于单行注释和多行注释,注释文字不会被JVM执行;对于文档注释,它能被javabin目录下的javadoc工具解析成html文件(即说明书)

单行注释可以嵌套;多行注释不可以嵌套;
运算符
(一)逻辑运算符
        1^ :逻辑异或运算,二元运算符,参与运算的双方同为false,不同为true
        2&&&:逻辑与,&不论左边运算为何结果,右边都会继续运算;&&称为短路与,若左边运算为false,则整个表达式结果为false,不再运算右边,直接得false
        3|||:逻辑或,|不论左边运算结果是什么,右边都会继续运算;||称为短路或,若左边运算结果为true,则整个表达式值为true,不再运算右边的表达式
(二)位运算
        1&按位与
        2|按位或
        3^按位异或:异或可用于两个变量值互换
                                int a=3,b=4;        
                                int c=a^b   //C=7
                                int d=c^a  //d=c^a=a^b^a=b=4
                                int e=c^b  //e=c^b=a^b^b=a=3
        4~按位取反(不考虑符号位,每一位都取反,运算后得到的是补码,显示出来的是                原码)
                /*使用位移进行乘除运算效率高*/
        5<<左移:3<<2——3左移2位(后补0),左移一位相当于乘2
        6>>右移:3>>1——3右移1位(前补0),右移一位相当于除2
(一)for循环
        for(初始化条件表达式(从哪里开始);循环条件表达式(在什么情况下结束);循环后                        执行的控制条件(初始化条件发生什么变化))
        {
                循环体:想做什么事
        }

        执行流程:1.执行初始化表达式,进行初始化
                          2.执行循环条件表达式(一个判断表达式,运算结果为boolean类型),若                                        执行结果为false,立即结束for循环;若结果为true,首先执行循环体,                                然后再执行循环后的操作表达式。然后继续执行步骤2
        注意事项:初始表达式仅执行一次;
                          循环条件表达式最少执行一次,至多执行N次(N>1
                          循环体以及循环后的操作表达式能被执行,至多执行N-1
(二)while循环
                while(条件表达式)
                {
                        循环体;
                }

forwhile的区别:初始化条件的变量在for结束后,在代码块外无法使用,而while条件表达式的变量定义在代码块外,while执行结束后,代码块外依旧可以使用;出于节省内存和安全性方面的考虑,建议使用for
        修饰符:public static
        返回值类型:这段程序最终返回结果的数据类型
        函数名:函数的名称,方面调用
        参数:
                        参数类型:就是数据类型
                        形式参数:接受实际参数的变量
                        实际参数:实际参与运算的变量
        执行语句:功能代码
        返回值:程序的结果
        return:将程序的结果返回给调用该函数的地方
               函数是平级的,不能嵌套定义,只能在函数中调用另一个函数
2return关键字
        return单独存在,后面不能有语句,因为执行不到,所以会报错
        函数是通过关键字return结束的。
        return语句分两种:显示的结束,隐式的结束
        当明确需要返回一个值的时候,需要显示的结束,"return 返回值;"
        当不需要返回一个值的时候,可以不用写return,因为jvm默认会加上一句"return;"
数组是一个对象,是同一种数据类型的集合。数组即一个容器。
        数组的优点:数组中的元素会自动从0开始编号,方便操作
        数组用于封装数据,就是一个具体的实体。
  数组中的每一个数据都是该数组的元素。
1)声明方式
     int x[ ]——定义一个数组名为x的数组
         int[ ] x,y,z——这种方式是JAVA特有的,代表int[ ]后面出现的所有变量都是数组变量
2)数组的创建
          使用new创建数组,数组是一个对象。
元素类型[] 数组名 = new 元素类型[元素的个数];
元素类型[] 数组名= {元素1,元素2...};
     元素类型[] 数组名= new 元素类型[]{元素1,元素2...};
面向对象的特征——继承、封装 、多态
以后的开发过程就是找对象来用,没有对象,就创建一个对象
找对象,建立对象使用对象,并维护对象的关系。
和对象的关系
类:就是对现实生活中事物的描述,是属性和行为的集合,可以理解为一张图纸,是 抽象的概念

对象:就是这类事物,实实在在存在的个体。

想要描述:提取对象中共性内容。对具体的抽象。

映射到Java中描述就是class定义的类。类中属性即成员变量行为成员函数,定义类就是定义类的成员(成员变量+成员函数)
具体对象就是对应Java在堆内存中用new建立实体。
格式        类名 对象名=new 类名();
成员变量:对象名.成员变量;
成员方法:对象名.成员方法();
成员变量和局部变量的区别
定义位置的区别:成员变量定义在类中,方法外;局部变量定义在方法中或者是方法的形参
初始化值的问题:成员变量有默认初始化值;局部变量没有默认初始化值,必须定义后赋值才能使用。在使用变量的时候,首先在局部范围找,没有的话成员变量找,在使用过程中,遵循一个就近原则

存储位置的区别:成员变量定义在堆中随着对象的存在而存在,随着象的消失而消失局部变量存储在栈中随着方法的调用而存在,随着方法调用完毕消失
匿名对象
         匿名对象是对象的一种简化方式
         格式:new 类名()
         调用new 类名(). 成员名称;
         使用情况:1.只使用一次的时候;2.作为实参传递给方法
this代表其所在函数所属对象的引用。换言之this就代表本类对象的引用。调用,this代表谁。每一个成员方法里面都有一个this代表当前对象
什么时候用this1.当函数内部需要用到调用该函数的对象时,如this.name=name;
2.构造方法中相互调用,但是此时this([参数])必须写在构造方法第一行。




目前就只有这么多啦.
作者: 小浙姐姐    时间: 2017-12-30 17:40
写得很用心,但里面有句话有点歧义——“ int[ ] x,y,z——这种方式是JAVA特有的,代表int[ ]后面出现的所有变量都是数组变量”。不知道你是在类举数组的变量名,还是就是说这种一次性定义3个不同变量的数组。只想说,如果要使用数组,只要在使用前进行初始化就好了。不过尽量按照格式来,方便理解和沟通。后面学习也要好好加油,技术学习的同时也要锻炼表达能力哦!看好你




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2