黑马程序员技术交流社区
标题: 基础班上课笔记 [打印本页]
作者: 紅塵 时间: 2017-12-26 23:12
标题: 基础班上课笔记
本帖最后由 紅塵 于 2017-12-26 23:21 编辑
常用DOS命令
盘符 盘符切换
dir 列出当前目录
md(make directory) 创建目录
rd(remove directory) 删除目录
cd(change dirextory) 进入一个文件夹
cd.. 返回上一级目录
cd\ 返回根目录
del(delete) 删除文件(del *.txt ——删除所有后缀为txt的文件)
cls(clear) 清屏
JAVA语言跨平台,Java虚拟机(JVM)不跨平台,java在JVM的支持下拥有跨平台的特性。
JRE:Java Runtime Environment, Java运行时环境,包括Java虚拟机(JVM)和Java程序所需要的核心类库
JDK:Java 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运行效率)
classPath:java执行class文件时,JVM会在classPath路径下查找要执行的class。若配置了classPath则在classPath下查找,若没有配置classPath,则默认当前目录为classPath路径。
若classPath的路径没加“;”,则若classPath下没找到class文件,不再查找当前目录;若classPath的路径没结尾加上“;”,则若classPath下没找到class文件,会在当前目录再查找一次。classPath中“.”代表当前目录
所以,java环境配置首先要将JDK的bin目录路径添加到环境变量的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只能用true、false表示而不能用0、1
Java命名规范:
(1)包名:多单词所有字母均小写 xxx.yyy.zzz
(2)类名接口名:多单词所有单词首字母大写 DemoClass
(3)变量名和函数名:多单词第一个单词小写,其余单词首字母大写 sayHello( )
(4)常量:全字母大写,多单词以下划线分隔,类似DEMO_VALUE
注释
(1)单行注释: //注释文字
(2)多行注释: /*注释文字*/
(3)文档注释: /**注释文字*/
对于单行注释和多行注释,注释文字不会被JVM执行;对于文档注释,它能被java的bin目录下的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(条件表达式)
{
循环体;
}
for和while的区别:初始化条件的变量在for结束后,在代码块外无法使用,而while条件表达式的变量定义在代码块外,while执行结束后,代码块外依旧可以使用;出于节省内存和安全性方面的考虑,建议使用for
修饰符:public static
返回值类型:这段程序最终返回结果的数据类型
函数名:函数的名称,方面调用
参数:
参数类型:就是数据类型
形式参数:接受实际参数的变量
实际参数:实际参与运算的变量
执行语句:功能代码
返回值:程序的结果
return:将程序的结果返回给调用该函数的地方
函数是平级的,不能嵌套定义,只能在函数中调用另一个函数
(2)return关键字
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代表当前对象。
什么时候用this:1.当函数内部需要用到调用该函数的对象时,如this.name=name;
2.构造方法中相互调用,但是此时this([参数])必须写在构造方法第一行。
目前就只有这么多啦.
作者: 小浙姐姐 时间: 2017-12-30 17:40
写得很用心,但里面有句话有点歧义——“ int[ ] x,y,z——这种方式是JAVA特有的,代表int[ ]后面出现的所有变量都是数组变量”。不知道你是在类举数组的变量名,还是就是说这种一次性定义3个不同变量的数组。只想说,如果要使用数组,只要在使用前进行初始化就好了。不过尽量按照格式来,方便理解和沟通。后面学习也要好好加油,技术学习的同时也要锻炼表达能力哦!看好你
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |