JAVA基础知识点总结

第一篇:JAVA基础知识点总结
1)开发Java语言的公司? Sun(Sun Microsystems)太阳微电子公司开发 2)
Java的3个版本?
J2SE(Java2 Standard Edition)标准版
J2EE(Java 2 Platform,Enterprise Edition)企业版 J2ME(Java 2 Micro Edition)微小版
在5.0以后新版本中称作:JavaSE JavaEE JavaME 3)
Java语言的几个主要特点?平台无关性:能运行于不同的平台上
安全性:去掉了指针操作,内存由操作系统分配 面向对象:利用类使程序更加利于维护
分布式:可以使用网络文件和使用本机文件一样容易 健壮性:检查程序编译和运行的错误 4)
Java的三大核心机制
虚拟机机制:利用虚拟机解释字节码执行java程序实现跨平台 垃圾收集机制:自动内存回收
代码安全性机制:加载代码后校验代码后再执行代码 第2章Java语言的开发环境 1)
JDK是什么?
JDK(Java Development Kit)Java开发工具包。包括了JRE,是开发Java的人员必备的开发运行Java程序的工具。2)
JRE是什么?
JRE(Java Runtime Environment)Java运行环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。3)
JVM是什么?
JVM(Java Virtual Machine)Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。4)
安装JDK的操作系统问题?
必须针对于不同的操作系统下载安装不同的JDK,例如windows下安装针对于windows的JDK,linux下安装针对于linux的JDK。
5)需要配置的相关环境变量? path:用于搜索外部命令,例如编译程序的javac命令,执行程序的java命令
classpath:用于搜索类,即class文件,例如可以在不同的位置执行类文件 6)
配置环境变量的方式? 有两种:临时配置和持久配置
临时配置:在命令行下用set 变量名=变量值,仅在当前命令行窗口有效
持久配置:在我的电脑——属性中配置,持久有效 7)可以编写Java程序的常见开发工具? 记事本,EditPlus,ULTRAEDIT,Eclipse,Jbuilder,NetBeans 8)
Java文件的类型?
有两种:
扩展名为java的文件:是Java源文件,属于编译之前的纯文本文件,存储java源代码。
扩展名为class的文件:是Java类文件,属于编译之后的二进制文件,存储字节码。9)
Java的编译运行原理?
首先编写java源文件,然后编译成class类文件,然后通过虚拟机解释成机器码到硬件执行。
10)Java是编译型语言还是解释型的语言?
既不是完全编译型,也不是完全解释型,是半编译半解释的。第3章Java程序的基本结构 1)
Java语言区分大小写吗?
区分,不管是数据还是标识符或者关键字都区分大小写,例如public不能写成Public,“abc”不能写成“ABC”,int i不能写成INT I等等。2)main方法是作什么用处的? 这是程序的入口方法,是由虚拟机自动调用的。
3)语句必须用分号结束吗? 必须的,但是代码块{}可以用分号结束,也可以不用分号结束
4)
Java中有几种注释,各自的功能
有三种:
单行注释//:加在行首只能注释一行 多行注释/* */:注释多行,但不能嵌套使用
文档注释/***/:用于生成HTML形式的文档,需要配合javadoc命令实现 5)Java语言的数据类型是强类型还是弱类型? 是强类型,意味着每一个变量都必须明确声明数据类型。6)
Java语言中数据类型的划分?有什么区别? 分成基本类型和引用类型两大类。
基本类型:有8种,只能存储单一的值,不以对象的形式存在引用类型:除了基本类型之外其他的都是引用类型,能够存储复杂数据类型,以对象的形式存在 7)
基本类型都有哪8种类型? 布尔类型:boolean 占1字节 字符类型:char 占2字节
整型:byte 占1字节 short 占2字节 int 占4字节 long 占8字节
浮点型:float 占4字节double 占8字节 8)
布尔值可不可以用0或者非0数代替?
不可以,布尔值只能是true和false,不能使用数字,这和C语言是不一样的。9)
直接写个整数10默认是什么类型的?
整型的直接量例如10,100等默认的数据类型都是int型 10)如何让一个整型的直接量变成long型的? 在直接量后面加大写L后者小写l,例如10L 11)整型数据在程序中直接使用可以使用什么进制? 10进制,8进制,16进制,但不能使用二进制 12)浮点运算在Java中有没有误差? 有误差,所以精密运算请使用BigDecimal类 13)直接写一个3.14的直接量是什么数据类型的?
是double型,如果想表示是float的3.14必须写成3.14F或者3.14f,double型的3.14也可以写成3.14D 14)char型采取的是什么类型的字符集?
是Unicode全球统一编码,支持任何世界上官方的语言中的字符
15)常见的转义字符有哪些? 转义序列 名称 b 退格 t 制表 n 换行 r
回车
” 双引号 ’ 单引号 反斜杠
16)常见的Unicode字符对应的编码?
大写的A到Z是对应65到90,小写的a到z是对应97到122,字符0到9是对应48到57
17)空字符是不是用’’(两个并列的单引号)来表示? 不是,空字符用’u0000’来表示,两个并列的单引号什么也不是。
18)点,分号,花括号的各自的作用?
点的作用有两个:一个是使用类或对象中的成员,用对象.成员,再一个就是包名和子包名之间的分隔符,例如顶层包名.子包名 分号的作用是表示语句结束 花括号的作用是代表一个语句块
19)语句和关键字之间可以有任意的空白吗? 可以的,例如System.out.println(100);就是正确的语句,但是关键字本身不能加空白或换行
20)标识符是什么?
标识符就是指在程序中给包,类,接口,方法,变量起的名字 21)标识符有什么起名规则? 1. 应以字母、下划线、美元符开头 2. 后跟字母、下划线、美元符或数字 3. 不能用关键字和保留字
4. 严格区分大小写 5. 名称长度没有限制 22)中文的变量名可以吗?
是可以的,例如 int 数字 = 10;这个语句是正确的。因为java中采取Unicode字符集,所以任何的Unicode中的字符都可以作为标识符的名称,但考虑字符集的支持问题推荐还是使用英文字母命名。
23)关键字和保留字有区别吗?
在1.5后没有区别,都被称作关键字,但是1.5之前认为关键字是在Java中有特殊用途的不允许编程人员擅自改作其他用途,而保留字是在Java中没有特殊用途但不允许编程人员擅自改作其他用途,按此说法goto和const应该是此意义上的保留字。
24)true,false,null可以用作标识符命名吗?
不可以,这3个虽然不是关键字,但都是有特殊用途的值,也不能作为标识符命名
25)一条声明语句可以声明多个变量吗? 可以的,例如以下声明都是正确的int i;int i,j;int i = 10,j;int i,j = 10;
int i = 10,j = 20;
26)变量在没有赋值的情况下可以使用吗?
不可以,变量没有赋值使用会报出变量未初始化的编译错误。27)常量有什么特点?
在声明变量的时候加上final修饰符即为常量,表示这个变量只能被赋一次值。
28)算数运算符有哪些? 基本算数运算符有+-* / % ++--
29)单目运算符,双目运算符,三目运算符都是什么意思? 其实也有叫一元运算符,双元操作符,三元操作符的,指的是
有几个操作数形成一个完整表达式,例如++就是一个单目运算符,只需要一个操作数就可以形成表达式,像i++,而+运算符就是双目运算符,需要两个操作数形成表达式,例如5 + 3,还有三目运算符,例如5 > 3 ? 0 :-1
30)++和--放在前面和放在后面有什么区别?
如果是在一个表达式中,那++放后面表示先运算表达式,然后再进行自增运算,如果在一个表达式中,++放前面,则表示先进行自增运算然后在运算表达式。--同样道理。例如: int i = 10;int j = i ++;//先进行赋值运算然后再进行自增运算j的结果是10
int i = 10;
int j = ++ i;//先进行自增运算然后再进行赋值运算
j的结果是11
31)-5 % 2等于几,5 %-2等于几?
-5 % 2等于-1,5%-2等于1,运算得到是正数还是负数取决于第一个操作数的符号 32)5 / 2 结果是不是2.5?
不是,是2,因为5和2都是int类型,所以不可能得到double型的结果。
33)比较运算符有哪些?
有><>=<===!= 六项基本比较运算 34)任何数据类型都可以使用> < >= <=运算符吗?
不是所有数据类型,例如true>false这个表达式就是编译错误,布尔类型和引用类型的表达式只能用==和!=两个比较运算,例如”abc” <= ”xyz” 这个表达式也是编译错误的 35)’a’ > ’b’这个表达式编译正确吗?
编译正确,’a’和’b’是字符类型,内部用Unicode编码表示的话a是97,b是98,所以实际上比较的是97>98,结果为false 36)逻辑运算符有哪些?
有 &逻辑与,|逻辑或,!逻辑非,^ 异或,&& 短路与,||短路或
37)逻辑与,逻辑或和短路与,短路或有什么区别? 逻辑与和短路与的区别是:
如果是逻辑与&,不管第一个表达式是true还是false,都会执行第二个表达式,例如a > b & x < y,即使a > b为false,也会执行x > y
如果是短路与&&,如果第一个表达式为false,将不会执行第二个表达式
例如a > b && x < y,如果a > b为false,就不会执行x > y
以此类推,逻辑或和短路或的区别是:
如果是逻辑或|,不管第一个表达式是true还是false,都会执行第二个表达式
如果是短路或||,如果第一个表达式为true,将不会执行
第二个表达式
38)与或非三个逻辑运算符的优先级是怎么排列的? “非”优先级最高,“与”其次,“或”优先级最低 39)原码,反码,补码分别是什么意思?
原码:将数字转换为二进制,第一位为符号位,正数为0,负数为1
例如:12的原码是00001100-12的原码是10001100
反码:正数的反码和原码相同,负数的反码将原码符号位之外的位逐位取反
例如:12的反码是00001100-12的反码是11110011
补码:正数的补码和原码相同,负数的补码将反码加1 例如:12的补码是00001100-12的补码是11110100 最后强调一点,计算机存储数据用补码形式来存储。40)位运算符都有哪些?
&与 |或 ^异或 ~非 >>右移 <<左移 >>>无符号右移 41)1<<35怎么理解?
1是int类型是32位,所以需要把35%32=3,所以事实上是和执行1<<3等价的42)数据类型转换需要遵循什么原则?
小类型向大类型转换,是自动转换的,或者说隐式转换的 大类型向小类型转换,是需要强制转换的,或者说显式转换例如:byte b = 1;
short s = b;//自动转换
b =(byte)s;//强制转换
43)byte b = 10这个语句是正确的,为什么10是int型比byte大还不需要强制转换呢?
因为在java中做了特殊处理,其中规定byte,short,char类型可以直接赋予int类型的直接量,例如: byte b = 10;short s = 10;char c = 10;
以上赋值语句都是正确的。
但是不能超出超出类型的范围,例如以下赋值就是错误的: byte b = 128;
如果超出范围,必须得作强制转换,例如以下语句是正确的: byte b =(byte)128;
需要强调的是,必须是int类型的直接量,以下语句就是错误的: byte b = 10L;
10L不是int类型的直接量。
44)byte b =(byte)300;强制转换后的结果是44,是按照什么规律得出来的?
是先把300转换成二进制,然后根据byte类型的大小截取了后8个位
300的补码是00000000 00000000 00000001 00101100
b的结果是:00000000 00000000 00000001 00101100 结果为44 45)byte b =(byte)true;这个转换成立吗?
不成立,布尔值和数字是不兼容的,不能作任何转换。
46)int i =(int)“100”;这个转换成立吗?
不成立,引用类型和基本类型是不能直接强制转换的,需要用包装类的方法来转换。
47)char型和short型哪个比较大?
不能说哪个大,哪个小,这两个类型char的取值是从0~65535,而short类型的取值是-32768~32767,这个两个类型之间的转换都需要强制转换。
48)字符串是不是基本类型?
不是,String是java.lang包中的一个类,是引用类型的,8种基本类型中没有一个是String类型。49)空字符串用什么来表示?
用””(两个并列的双引号)表示,代表0个长度的字符串对象。50)String s = “”;和String s = null;有什么区别?
第一个表示s被赋值,指向了一个字符串对象,第二个表示s没有指向任何对象实例,是真空
51)两个字符串用什么运算符可以连成一个字符串? 用+运算符,例如”abc” + “xyz”最后的结果就是“abcxyz” 52)数学运算符加法和字符串连接符都是+,怎么区分? 是通过运算符两边的操作数来判断的,如果两边的操作数都是数字型的基本类型,则进行数学运算,如果两边的操作数有一个是字符串,则把另一个操作数也转换为则进行字符串连接运算。例如:+ 4 的结果是9 “5” + 4的结果是54
53)判断字符串内容相同用什么方法?
用equals方法判断内容相同,==只能判断引用是否相同 54)提供用户输入使用哪个类 使用javav.util.Scanner类
55)if语句可以用if(-1)形式判断吗? 不可以,数字不能代替布尔值
56)if语句和循环语句的花括号什么时候可以省略?
当执行的语句只有一句的时候 57)switch语句有哪些规则?
表达式expr的返回值必须是下述几种类型之一:int, byte, char, short或枚举常量;
case子句中的值必须是常量,且所有case子句中的值应是不同的,也必须是下述几种类型之一:int, byte, char, short或枚举常量
default子句是任选的;
break语句用来在执行完一个case分支后使程序跳出switch语句块;
58)对于退出循环break和continue有什么区别? break是退出整个循环
continue是退出当前循环继续下一次循环 59)声明数组创建数组的方法? 以下声明都是合法的: int [] a;int a[];String[] a;
以下创建数组对象都是合法的: int[] a = new int[3];int[] a = {1,2,3};int[] a = new int[] {1,2,3};
60)int[] x和String[] s这两个数组对象,哪个是基本类型,哪个是引用类型?
两个都是数组对象,都是引用类型的61)数组元素下标最小是多少,最大是多少,超出范围会怎么样?
最小是0,最大是数组元素个数减一,超出范围将会出现下标越界异常
62)得到数组长度用length属性还是length()方法? 是length属性,得到字符串长度才有length方法
63)声明int[][] a = new int[3][],a是一个二维数组,a[0]本身
是什么类型的?
二维数组的元素都是一维数组,a[0]是int[]类型的 64)数组的大小一经创建可不可以改变大小了? 不可以,数组是定长的,一经创建就不能再改变大小了 65)可以把2个int型,3个double型,4个String型的值放到一个数组中吗?
不可以,数组的元素类型必须是相同类型的。66)java中的多维数组必须是要形成矩阵排列吗? 不一定,也可以是不规则的。67)操作数组比较方便的实用类?
java.util.Arrays类提供了很多关于数组的实用方法。第4章对象和类 1)OOP是什么意思? Object Oriented Programming(面向对象编程)
2)
类和对象的区别?
类:对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义
对象:对象是实际存在的该类事物的每个个体,因而也称为实例 3)
类之间的3种关系? 依赖关系(uses-a)聚集关系(has-a)继承关系(is-a)4)
一个java源文件可以写多个类吗?
可以,但必须只能有一个公有类,并且文件名和公有类的类名相同。5)类中有哪些成员?
有属性(数据域),方法,构造器(构造方法)
6)
构造方法和普通方法的区别?
构造方法没有返回值,方法名必须和类名相同,需要用new语句调用构造方法。7)
普通方法可不可以也类名作为方法名?
是可以的,因为调用普通方法的语法和调用构造器的语法不一样。8)
一个构造器调用另外一个构造器需要用什么语法? 用this()语法调用另外一个重载构造器,需要注意的是调用语句必须是构造器中的第一句 9)
什么时候虚拟机会自动添加一个默认构造器?
当类中没有显式定义任何构造器的时候,虚拟机会自动添加一个无参的构造器
10)实例成员和静态成员的区别?
实例成员:是属于对象实例的,用对象.成员名称语法调用 静态成员:和对象实例无关,是属于类本身的,用类名.成员名称语法调用
11)静态初始化块statci{}的执行时机是什么时候? 在类被加载的时候,仅执行一次。
12)静态方法可不可以直接调用同一个类中的非静态方法? 不可以,静态方法不能直接调用一个非静态成员,需要用对象调用。
13)包是什么?
包实际上就是物理上的文件夹,可以把类放到不同的包中。14)把一个类放到包中,需要在类中加上什么语句? 需要加上包声明package语句,必须写在源文件的第一句。15)什么时候需要导入类?用什么语句?
当使用的类和当前类并不在同一个包中的时候,用import语句导入。
16)默认包中的类可以导入吗?
不可以,不在默认包中的类无法使用默认包中的类。17)java中哪个包中的类是自动导入的? java.lang包
18)什么叫做完整类名? 顶层包名.子包名.类名
19)静态导入语句有什么作用?
在使用类中的静态成员的时候前面不需要加类名前缀。
20)局部变量和全局变量的区别? 区别 局部变量 全局变量
声明位置 方法或块内部 方法外类内部 访问权限修饰符 没有访问权限 有访问权限
默认值 没有默认值
有默认值
使用形式 直接使用 对象调用
作用域
在方法或语句块内部 整个类
生命周期 进入方法或语句块创建退出方法或语句块销毁 随着对象的创建而创建随着对象的销毁而销毁
21)赋值语句赋给目标的是值还是引用?
如果是基本类型则赋的是值本身,引用类型则赋的是引用地址 第5章继承和多态 1)类的继承是谁继承谁?
是子类继承了父类,子类也称为派生类,父类也称为超类或基
类 2)子类继承了父类的什么东西?
子类可以继承父类的数据域(属性),方法,但构造器不能继
承 3)
私有成员能被子类继承吗?
能继承,但是由于访问权限的控制,在子类中不能直接使用父类的私有成员 4)
Object是什么类?
这个所有类的根类,任何类如果没有写显式的继承语句,默认都是直接继承Object类的 5)java中是单继承还是多继承?
是单继承,一个子类只能有一个父类 6)
访问权限修饰符有几种,访问的范围又是多大? 有四种:
private:私用 只能在被类中被访问 default:默认 只能被同一个包中的类访问
protected:受保护的 只能被同一个包中的类和不同包中的子类
访问
public:公有 可以被任何类访问 7)
覆盖方法的规则有哪些?
子类覆盖方法和父类被覆盖方法的方法返回类型,方法名称,参数列表必须相同
子类覆盖方法的访问权限必须大于等于父类的方法的访问权限
方法覆盖只能存在于子类和父类之间
子类覆盖方法不能比父类被覆盖方法抛出更多异常 8)
参数列表是否相同从哪几方面看?
从三方面看:参数个数,类型和顺序,需要注意的是参数的名字不相同是无所谓的 9)
覆盖方法的规则有哪些? 方法名相同
方法的参数类型,个数,顺序至少有一项不同 方法的返回类型和修饰符均不受限制
10)可变长参数的声明格式是什么?实际上是什么类型的? 类型 „ 变量,实际上是一个一维数组 11)this和super是作什么用处的?
this:本身代表当前的对象引用,可以用this.成员名称调用当前对象的属性和方法,如果属性和局部变量重名,可以用this.属性名和局部变量区分开。也可以用this()语法调用本类重载构造器。
super:本事是一个特殊关键字,可以用super.成员名称调用从父类继承的属性和方法,也可以用super()语法调用父类构造器。
12)super代表子类中的父类对象引用吗?
不,这个错误的说法,super不代表任何对象引用,仅仅是一个关键字
13)什么时候子类构造器会自动调用父类无参构造器? 当子类构造器中没有任何显式构造器调用的时候,即既没有this()调用也没有super()调用的时候
14)一个父类类型的引用变量可以引用一个子类的实例吗? 可以,这个引用变量是一个多态对象 15)多态对象有什么特点?
多态对象只能使用父类的成员,但如果多态对象使用了被子类覆盖的方法,则会动态绑定使用子类的成员,称为虚拟方法调用
16)引用类型之间的类型转换需要遵循哪些规则? 自动转换:从子类到父类的类型可以自动转换 强制转换:从父类到子类的类型要强制转换 无继承关系的类型转换是非法的 17)instanceof操作符是作什么用处的?
可以判断一个对象的类型是否是某一个类的类型或子类,也可以判断这个对象的类型是否是一个接口的实现类 18)toString方法什么时候会自动被调用?
在打印语句中传入引用类型的对象或者对象和字符串作连接时
19)默认的equals方法实现的是比较内容还是比较引用地址?
在Object中是比较引用地址。
20)覆盖equals方法和hashCode方法有什么规则? 必须保证当两个对象equals比较为true的时候,返回的hashCode相同,当比较为false的时候,返回的hashCode不同21)java中有几个包装类?
有8个包装类,正好对应8种基本数据类型。
分别是:Boolean Byte Short Integer Long Character Float Double 22)装箱和拆箱分别是什么意思?
装箱指的是把基本类型包装成包装类的引用类型 拆箱指的是把包装类形式的引用类型转换为基本类型 例如:
Integer objInt = new Integer(10);//装箱
int i = objInt.intValue();
//拆箱
23)JDK1.4和1.5的装箱和拆箱有什么区别?
自动拆装箱,例如: Integer intObj = 10;//自动装箱 int i = intObj + 5;//自动拆箱
24)final修饰符如何使用,使用了final修饰符有什么特点? final修饰符可以修饰类,方法,变量 final类为最终类,不能被子类继承 final方法为最终方法,不能被子类覆盖 final变量为常量,只能赋一次值
25)abstract修饰符如何使用,使用了abstract修饰符有什么特点?
abstract修饰符可以修饰类和方法 abstract类为抽象类,是不能创建对象的abstract方法为抽象方法,只有方法的声明,没有具体的实现 需要注意的是:
有抽象方法的类一定是抽象类 抽象类不一定有抽象方法
抽象类也有构造器,但不能创建对象实例 26)abstract不能和哪些修饰符配合使用? 不能和private,static,final一起使用 27)可以在非抽象方法中调用抽象方法吗? 可以,模板方法设计模式就是典型的这种调用 第6章 泛型程序设计 1)泛型的特点是什么? 主要特点是类型参数化,后期绑定数据类型 2)泛型支持基本类型吗?
不支持,只支持引用类型 3)如果没有传入类型参数,默认是什么类型? 默认是Object类型
4)泛型方法有什么特点?
将泛型参数声明在方法中,调用方法的时候绑定泛型 5)
泛型类声明泛型参数的时候,
么意思?
表示绑定的类型必须是A类型后者是A类型的子类或实现类 第7章 接口和内部类
1)声明一个接口的关键字是什么? interface关键字
2)
接口中的成员有什么特点?
数据域必须是(public static final修饰)公有静态常量 方法必须是(public abstract修饰)公有抽象 没有构造方法 3)接口能创建对象实例吗? 不能,接口没有构造器,不能创建对象
4)
接口和类的关系?
接口和类之间是实现关系,一个类用implements语句实现了某接口,这个类被称为接口的实现类,一个类可以实现多个接口,一个类实现了某接口,必须覆盖这个接口中的所以方法,否则这个类必须是个抽象类 5)
接口和接口的关系?
接口和接口之间是继承关系,一个接口用extends继承另外一个接口,称为这个接口的子接口。一个接口可以继承多个父接口 6)
内部类如何定义?
一个类声明在另一个类的里面,这个类就被称为内部类,而外面的类被称为外部类 7)
内部类可以分成几种?
实例内部类:声明在方法外边没有static修饰符 静态内部类:声明在方法外边有static修饰符 局部内部类:声明在方法里边 8)
如何创建实例内部类的对象实例? 需要用外部类的对象来创建 例如: class A {class B {
}
}
如果像创建B类的实例,则必须用以下语句: A a = new A();A.B b = a.new B();9)
如何在实例内部类中访问外部类的成员?
在实例内部类中可以直接使用外部类的成员,不需要创建外部类的对象实例,但是如果在内部类中的成员名称屏蔽隐藏了外部类的成员(即外部类和内部类的成员名相同),则需要用“外部类名.this.成员名”访问外部类成员 第8章异常处理
1)异常的对象的根类是哪个类? 是Throwable类
2)
Throwable类有哪两个分支?
分成Error类和Excepion类两个分支 Error类表示严重错误
Exception类表示可以在程序中处理的错误 3)
Exception类有哪两个分支?
分成运行时异常和非运行时异常(已检查异常)运行时异常编译不检查,在运行时才会发生异常
已检查异常编译时就会作检查,不处理异常则通不过编译 4)如果在try块中发生异常,那么程序将会跳转到哪? 会跳转到catch语句块 5)catch语句可以用父类类型捕获子类异常吗? 因为有多态特点,是可以的6)处理异常代码finally语句会在什么时候执行? finally代码在任何时候都会执行,不管有没有发生异常。7)
如何声明已检查异常,由谁来处理这个异常? 用throws语句来声明一个已检查异常,由方法的调用者来处理这个异常 8)
如何抛出一个异常? 用throw语句抛出
9)如何创建一个自定义的异常类? 创建一个类,只要让它继承任何一个现有的异常类就可以了 10)覆盖方法对于异常有什么要求? 覆盖方法不能比父类方法抛出更多异常 第9章反射,代理,标注
1)
获得一个类型的Class对象有哪几种途径?
方法1:对象.getClass()方法2:类型名.class 方法3:Class.forName()2)
反射相关的类型都有哪些? Class 代表一个运行时类 Field 代表一个类的属性 Method 代表一个类的方法 Constructor 代笔一个类的构造器 3)
如何声明一个自定义标注? [<修饰符>] @interface <标注名>{ 返回值方法名称(); 返回值方法名称(); „„ } 例如:
public @interface MyComment { int id();String info();} 4)
java有几个内置标注? 有3个
@Override——用于修饰此方法覆盖了父类的方法,而非重载。@Deprecated——用于修饰已经过时的方法。
@SuppressWarnings——用于通知Java编译器禁止特定的警告。第10章 java常用类 1)
字符串String是可变类还是不可变类?
是不可变类,一经创建就不能修改其内容了 2)
字符串的常用方法有哪些? charAt方法:可以返回指定位置的字符 substring方法:可以截取子字符串 length方法:返回字符串长度 indexOf方法:查找子串的位置 lastIndexOf方法:反向搜索字串的位置 replaceAll方法:替换字符串 split方法:分解字符串
toLowerCase, toUpperCase方法:字符串大小写转换 3)StringBuffer类和String类有什么区别? StringBuffer是可变类,String是不可变类
4)StringBuffer类和StringBuilder类有什么区别? StringBuffer类是线程安全的,StringBuilder类是线程不安全的5)Math类主要提供了哪些方法?
Math类提供了大量的和数学运算相关的静态方法 6)Set集合和List集合共同的父接口是什么? 是Collection集合7)
Set集合和List集合有什么区别? Set: Collection的子接口,不记录元素的保存顺序,且不允许有重复元素
List: Collection的子接口,记录元素的保存顺序,且允许有重复元素 8)
ArrayList和LinkedList有什么不同?
ArrayList 的内部实现是基于内部数组Object[],所以从概念上
讲它更像数组
LinkedList的内部实现是基于一组连接的记录,所以它更象一个链表 结构,所以它们在性能上有很大的差别。ArrayList 随机访问比较块,但插入和删除元素比较慢 LinkedList但插入和删除元素比较快,但随机访问比较慢 9)
HashTable和HashMap有什么不同?
HashTable是线程安全的,HashMap是线程不安全的10)Vector和ArrayList有什么不同? Vector是线程安全的ArrayList是线程不安全的 第11章 IO流 1)
流分成哪两类?
按照单位划分分成字节流和字符流。按输入输出分成输入流和输出流 2)
和文件流相关的有那几个类? FileInputStream文件输入字节流 FileOutputStream文件输出字节流 FileReader文件输入字符流 FileWriter文件输出字符流 3)
文件流操作应该用字节流还是字符流? 如果是纯文本文件应该用字符流 如果是二进制文件应该用字节流 4)
文件操作用哪个类? 用java.io.File类 第12章 线程 1)
创建一个线程类的两种方式? 继承Thread类 实现Runnable接口 2)线程体应该放在哪个方法里面? run方法 3)启动新的线程用什么方法?
用start方法
4)一个线程对象能够用start多次启动吗? 不可以,一个线程方法只能start一次
5)线程有哪几种主要状态? 有四种,分别是:新生状态,可运行状态,阻塞状态,死亡状
态 6)
线程的同步需要用什么方法? 旧的方法是用synchronized关键字
新的方法是用ReentrantLock类的lock和unlock方法
第二篇:Java基础知识点总结-Ch1
Java基础知识点总结
第一章 Java语言概述
1.面性对象语言的基本特征。
Java语言的特点。最大优势。
Java语言是区分大小写的。
2.Java虚拟机的核心。
环境变量classpath设置中的“.;”是指可以加载应用程序当前目录及其子目录中的类。环境变量的变量值的最后是以“rt.jar;.;”结束。
3.编写源文件时不可以使用Word编辑器,因为他含有不可见字符。
要用记事本或Edit。源文件的扩展名是java。
4.一个Java应用程序的源文件必须有一个类含有public static void main(String args[ ])的方法,这样类的应用程序叫做主类。
5.源文件的名称必须与有public修饰的类的名称相同。
若源文件有多个类,那么只能有一个是public类;
若只有一个类是 public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java;
若源文件没有public类,那么源文件的名字只要和某个类的名字相同即可,并且扩展名为.java。
6.编译时,Java编译器是什么。
进入某个文件夹的命令是“cd 目录名”;退出某个文件夹的命令是“cd..”。
7.编译源文件后将生成多个扩展名为.class的文件,每个扩展名是.class的文件夹存放一个类的字节码文件,文件名与该类的类名相同。这些字节码文件被存放在与源文件相同的目录中。
8.运行时,Java解释器是什么。
Java应用程序总是从主类的main方法开始执行。
9.在运行字节码文件是不可以带有扩展名。
当Java应用程序有多个类时,Java命令执行的类名必须是主类的名字(不带扩展名)。
10.例子:有一个源文件名字叫Apple.java,其中包括3个类,名字分别是Apple, Banana, Orange,有1个是主类,则主类名是什么,生成多少个字节码文件,字节码文件名称是什么,在编译,运行时语句分别是怎样的。
11.Application程序又称什么,Applet程序又称什么,哪一个是源文件编译时运行的程序。
12.J开发一个Java程序要经过的三个步骤。
13.单行注释,多行注释的标记分别是什么
14.javac *.java的意思。
15.Allmans风格又称什么,Kernighan风格又称什么,两者各自的意思是什么。
第三篇:Java基础学习知识点总结
黑马程序员_毕向东_Java基础视频教程
Java基础学习知识点总结 2016年01月06日
day01
一、基础知识:软件开发
1、什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合。
2、常见的软件:系统软件:如:DOS,Windows,Linux等。应用软件:如:扫雷,迅雷,QQ等。
3、什么是开发?制作软件。
二、基础知识:人机交互方式
4、软件的出现实现了人与计算机之间的更好的交互。
5、交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些特定的操作。较为麻烦,需要记录住一些命令。
三、基础知识:常用的DOS命令
6、点击开始在运行栏输入“cmd”进入dos操作界面。
7、课程中常见的命令:
dir:列出当前目录下的文件以及文件夹。md:创建目录。rd:删除目录。
cd:进入指定目录。d:进入盘符。cd..:退回到上一级目录。cd/:退回到根目录。del:删除文件。
exit:退出dos命令行。
8、在dos命令行操作文件夹时,如忘记文件夹全称,可以输文件夹前几个名称后面用*代替。
四、基础知识:计算机语言
9、通过DOS命令行的演示,发现原来操作计算机就如同和计算机说话一样。
10、我们告诉它做什么,它就可以做什么。前提是,我们和它说的内容它必须识别才可以。这就是计算机语言。
11、什么是计算机语言?语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。
12、计算机语言:人与计算机交流的方式。如果人要与计算机交流,那么就要学习计算机语。计算机语言有很多种,如:C,C++,Java等。这里,我们选择其中一种:Java语言。
五、基础知识:Java语言介绍
13、Java语言概述。是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。随着Java技术在Web方面的不断成熟,已经成为Web应用程序的首选开发语言。是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
14、Java语言的三种技术架构。J2EE(Java 2 Platform Enterprise Edition)企业版(现更名:JAVAEE):是为开发企业环境下的应用程序提供一套解决方案。该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。J2SE(Java 2 Platform Standard Edition)标准版(现更名:JAVASE):是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。比如Java版的扫雷。J2ME(Java 2 Platform Micro Edition)小型版(现更名:JAVAME):是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
15、Java语言的特点:跨平台性。什么是跨平台性?通过Java语言编写的应用程序在不同的系统平台上都可以运行。原理是什么?只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
16、Java语言的特点:跨平台性。Java程序:Windows系统:Win版的JVM;Linux系统:lin版的JVM;MAC系统:mac版的JVM。因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。
六、基础知识:Java语言的环境搭建
17、明确什么是JRE,JDK;下载JDK;安装JDK;配置环境变量;验证是否成功。
18、什么是JRE,JDK?JRE(Java Runtime Environment Java运行环境):包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。JDK(Java Development Kit Java开发工具包):JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。其中的开发工具:编译工具(java.exe)打包工具(jar.exe)等。简单而言:使用JDK开发完成的Java程序,交给JRE去运行。
19、Java6.0 Platform
20、下载JCK(Java Development Kit Java开发工具包)。官方网址:www.xiexiebang.com、java.sun.com。下载完成后,安装在电脑上。然后打开DOS命令行,效验文件是否安装完毕,并利用DOS进行Javac.exe运行测试。为了更方便的使用Java开发工具,需要进行环境变量配置。配置成功后就可以进行Java程序的开发了。
21、环境变量配置。方法一:图形界面操作。我的电脑——属性——高级——环境变量;编辑Path环境变量,在变量值开始处加上Java工具所在目录,后面用分号和其他值分隔开即可;打开DOS命令行,任意目录下敲入javac;如果出现javac的参数信息,配置成功。这种配置方式,一劳永逸。具体流程:右键点击我的电脑打开属性,点击高级系统设置,点击高级,点击环境变量,找到系统变量,新建系统变量(变量名:JAVA_HOME,变量值:安装JKD的地址。如:D:ProgramStudioJDK1.7)点击确定,找到变量名为Path的变量,点击编辑,在变量值栏的最前面(放到前面时,先寻找)加入%JAVA_HOME%bin用分号隔开。方法二:DOS界面操作(可用于临时环境变量配置,借助别人的电脑开发Java程序)。具体流程:利用set命令:设置、查看环境变量的值。Set path:查看path的值。配置Java工具包:set path=D:ProgramStudioJDK1.7bin;%path%回车。测试javac。只对当前窗口有效。定义class路径:Set classpath=.;c:myclass。
七、基础知识:Java程序开发体验
22、Hello World。将Java代码编写到扩展名为.java的文件中;通过javac命令对该java文件进行编译;通过java命令对生成的class文件进行运行。Java文件——javac.exe编译——class文件——java运行——结果。
23、对于初学者,可以用记事本编写。按部就班,一步一步写代码。打开记事本。Java代码是以类的形式来体现的。代码如下: class TestFirstOne //Java定义类+类名(首字母大写){ public static void main(String[] args)//主函数(保证类的独立运行)
{
System.out.println(“hello world”);//输出打印语句
} }
23、classpath配置。临时配置方式:dos配置。Set Classpath=代码路径。回车。Classpath先在环境变量中找,然后在当前路径(结尾没带分号不找)。Path先在当前路径查找,然后去环境变量中查找。一劳永逸方法和上面JDK环境变量配置方法一样。
24、Hello World组成部门。class是java程序中的关键字(关键字只能是小写)。{}类的区间用大括号定义(类中的内容为了增加阅读性,需要有阶梯感,如使用tab键)。public static void main(String[] args)定义主函数(使用大括号确定函数的内容)。
25、注释。三种方式://单行注释,符号以后直到回车键的内容;/*多行注释,符号开始到符号结束以内的内容*/;/**java注释符号,可被提取出来制作软件开发手册*/。注释的作用:增加程序的阅读性;调试程序。
26、写代码要养成写注释的习惯。在写代码前注释相关信息。例如: /* 需求:定义一个Hello World小程序。思路: 1,2,步骤:
1,通过class关键字定义一个类。将代码都编写到该类中。
2,为了保证该的独立运行。在类中定义个主函数。格式public static void main(String[] args)3,保存成一个扩展名为java的文件。
4,在dos控制台中通过javac工具对java文件进行编译。5,在通过java命令对生成的class文件进行执行。作者:ZC 版本:v1.0 日期:2016.01.06 copyright:ZC */ 2016年01月07日
day02
一、基础知识:Java语言基础组成
1、组成:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组
二、基础知识:关键字
2、关键字的定义和特点:定义:被Java语言赋予了特殊含义的单词。特点:关键字中所有字母都为小写。
3、用于定义数据类型的关键字:class、interface、byte、short、int、long、float、double、char、boolean、void。
4、用于定义数据类型值的关键字:true、false、null。
5、用于定义流程控制的关键字:if、else、switch、case、default、while、do、for、break、continue、return。
6、用于定义访问权限修饰的关键字:private、protected、public。
7、用于定义类,函数,变量修饰的关键字:abstract、final、static、synchronized。
8、用于定义类与类之间关系的关键字:extends、implements。
9、用于定义建立实例以及引用实例,判断实例的关键字:new、this、super、instanceof。
10、用于异常处理的关键字:try、catch、finally、throw、throws。
11、用于包的关键字:package、import。
12、其他修饰符关键字:native、strictfp、transient、volatile、assert。
三、基础知识:标识符
13、标识符:在程序中自定义的一些名称;由26个英文字母大小写,数字:0-9,符号_$组成;定义合法标识符规则:数字不可以开头、不可以使用关键字;Java中严格区分大小写;注意:在起名时,为了提高阅读性,要尽量有意义。
14、Java中的名称规范:包名:多单词组成时所有都小写,如:xxxyyyzzz;类名接口名:多单词组成时,所有单词的首字母大写,如:XxxYyyZzz;变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,如:xxxYyyZzz;常量名:所有字母都大写,多单词时每个单词用下划线连接,如:XXX_YYY_ZZZ。
四、基础知识:注释
15、注释:对于单行和多行注释,被注释的文字,不会被JVM(Java虚拟机)解释执行;对于文档注释,是Java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档;注释是一个程序员必须要具有的良好编程习惯;初学者编写程序可以养成习惯;先写注释再写代码;将自己的思想通过注释先整理出来,再用代码去体现;因为代码仅仅是思想的一种体现形式而已;用于注解说明解释程序的文字就是注释;提高了代码的阅读性。
16、Java中的注释格式:单行注释:格式://注释文字;多行注释:格式:/*注释文字*/;文档注释:格式:/**注释文字*/。
五、基础知识:常量
17、常量表示不能改变的数值。
18、Java中常量的分类:整数常量:所有整数;小数常量:所有小数;布尔型常量:较为特有,只有两个数值:true和false;字符常量:将一个数字字母或者符号用单引号(’’)标识;字符串常量:将一个或者多个字符用双引号(””)标识;null常量:只有一个数值就是null。
19、对于整数:Java有三种表现形式:十进制:0-9,满10进1;八进制:0-7,满8进1,用0表示开头;十六进制:0-9,A-F,满16进1,用0x开头表示。
六、基础知识:进制转换
20、进制的转换特点:八位二进制表示一个字节(基本的数据单元)。三个二进制位表一个八进制位。四个二进制位表示一个十六进制位。ASCII码编码表。
21、二进制和十进制之间的转换:十进制转二进制:原理:对十进制数进行除2运算(除二取余法);二进制转十进制:原理:二进制乘以2的N次的过程。
22、快捷方法:8421法则。
23、负数的二进制表现形式:对应的正数二进制取反加1。负数的最高位都是1。
七、基础知识:变量
24、变量的概念:内存中的一个存储区域;该区域有自己的名称(变量名)和类型(数据类型);该区域的数据可以在同一类型范围内不断变化;理解:变量就如同数学中的未知数;变量:就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。
25、为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用。
26、使用变量注意:变量的作用范围(一对{}之间有效);初始化值。
27、定义变量的格式:数据类型变量名=初始化值;注:格式是固定的、记住格式,以不变应万变。
28、Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同打小的内存空间。数据类型:基本数据类型(数值型(整数类型(byte,short,int,long);浮点类型(float,double));字符型(char);布尔型(boolean));引用数据类型(类(class);接口(interface);数据([]))。注意:整数默认:int,小数默认:double。
29、数据类型空间:byte 8位二进制(一个8位二进制或1个字节);short 16位二进制(二个8位二进制或2个字节);int 32位二进制(四个8位二进制或4个字节);long 64位二进制(八个8位二进制或8个字节);float(单精度)32位二进制(四个8位二进制或4个字节);double(双精度)64位二进制(八个8位二进制或8个字节);char 取值:0-65535;boolean取值:true,false。
30、类型转换。不同类型的数据不能进行运算。需要进行数据类型提升,从小往大提升,自动数据类型提升。强制类型转换:格式:变量=(类型名)(需转换的数据);什么时候使用强制转换:如:小数保留整数部分。
31、表达式的数据类型自动提升:所有的byte型、short型和char的值将被提升到int型;如果一个操作数是long型,计算结果就是long型;如果一个操作数是float型,计算结果就是float型;如果一个操作数是double型,计算结果就是double型。分析:system.out.println(‘a’)与system.out.println(‘a’+1)的区别。
八、基础知识:运算符
32、算数运算符:+正号,-负号,+加,-减,*乘,/除,%取模,++自增(前),++自增(后),--自减(前),--自减(后),+字符串相加(字符串数据和任何数据使用+都是相连接,最终都会变成字符串)。
33、转义字符:通过 来转变后面字母或者符号的含义。在Linux系统中换行是一个字符来表示n,windows系统中,换行由nr实现。n:换行。b:退格。相当于backspace键。r:按下回车键。t:制表符。相当于tab键。
34、赋值运算符:符号:=:赋值,+=:a+=5等价于a=a+5,-=,*=,/=,%=。
35、比较运算符:==:相等于;!=:不等于;<:小于;>:大于;<=:小于等于;>=:大于等于;instanceof:检查是否是类的对象。注意:比较运算符的结果都是boolean型,也就是要么是true,要么是false;比较运算符“==”不能误写成“=”。
36、逻辑运算符:&:AND(与)两边的boolean表达式结果,有一个为false,那么结果就是false,只要两边都为true,结果为true;|:OR(或)两边的boolean表达式结果,只要有一个为true,结果为true,只有两边都有false,结果为false;^:XOR(异或)两边的boolean表达式结果相同结果为false,两边不同结果为true;!:NOT(非);&&:AND(短路);||OR:(短路)。逻辑运算符用于连接boolean类型的表达式。&和&&的特点:&:无论左边是真是假,右边都运算;&&:当左边为假时,右边不运算。|和||的特点:|:两边都做运算;||:但左边为真时,右边不运算。
37、位运算符:<<:左移,如:3<<2=12等价于3*2^2=12;>>:右移,如:6>>2=1等价于6/2^2=1;>>>:无符号右移,如:3>>>1=1;&:与运算,如:6&3=2;|:或运算,如:6|3=7;^:异或运算,如:6^3=5;~:反码,如:~6=-7;位运算是直接对二进制进行运算。<<:其实就是乘以2的移动的位数次幂;>>:就是除以2的移动的位数次幂。>>:最高位补什么由原有数据的最高位值而定;如果最高位0,右移后,用0补空位;如果最高位1,右移后,用1补空位。>>>:无论最高位是什么,右移后,都用0补。一个数异或同一个数两次,结果还是拿个数。
38、三元运算符:格式:(条件表达式)?表达式1:表达式2;如果条件为true,运算后的结果是表达式1;如果条件为false,运算后的结果是表达式2。如:获取两个数中大数,int x=3,y=4,z;z=(x>y)?x:y//z变量存储的就是两个数的大数。
九、基础知识:if语句
39、程序流程控制:顺序结构,判断结构,选择结构,循环结构。
40、判断结构:if语句三种格式:一层判断:if(条件表达式){执行语句;};两层判断:if(条件表达式){执行语句;}else{执行语句;};多层判断:if(条件表达式){执行语句;}else if(条件表达式){执行语句;}else{执行语句;}。
41、if else结构间歇格式:变量=(条件表达式)?表达式1:表达式2;三元运算符:好处:可以简化if else代码;弊端:因为是一个运算符,所以运算完毕需要有一个结果。
42、解决DOS命令下,编译无法识别GDK码方法:方法一:使用-encoding参数指明编码方式:javac-encoding UTF-8 XX.java。方法二:保存java文件时,选择编码格式为ANSI。
十、基础知识:switch语句
43、选择结构:switch语句:格式:switch(表达式){case 取值1:执行语句;break;case 取值2:执行语句;break;„„default:执行语句;//break;}
44、switch(表达式):表达式只接收四种类型:byte,short,int,char。
45、if语句与switch语句的区别:if除了能判断数值,还能判断具体区间,switch判断区间很累;对于数字是布尔型时,只有if能判断。
46、if语句与switch语句的用法:如果要对具体数字进行判断,数值不多,而且符合byte、short、int、char这四种类型,虽然两个语句都可以使用,建议用switch完成。因为效率稍高。其他情况一般用if。当结果为布尔型或区间时,用if完成。If的使用范围更广。2016年01月08日day03
一、基础知识:while语句
1、循环结构:代表语句:while、do while、for。
2、while语句格式:while(条件表达式){执行语句;}。
3、do while语句格式:do{执行语句;}while(条件表达式)。Do while特点是条件无论是否满足,循环体至少被执行一次。
4、while和do while的区别:while:先判断条件,只有条件满足才执行循环体。do while:先执行循环体,再判断条件,条件满足,再继续执行循环体。简单一句话:do while:无论条件是否满足,循环体至少执行一次。
二、基础知识:for语句
5、for语句格式:for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}。注意:a:for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。b:while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。c:最简单无限循环格式:while(true),for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
6、for和while的区别:a:变量有自己的作用域。对于一个变量来将,如果这个变量仅仅用于控制循环的次数,用作循环增量时用for语句。循环结束时,该变量在内存被释放。用于优化内存。b:for和while可以进行互换,如果定义循环增量,用for更为合适。
7、什么时候使用循环结构?当要多某些语句执行很多次时,就是用循环结构。
8、循环注意:一定要明确哪些语句需要参与循环,哪些不需要。
9、两种思想:累加思想:原理:通过变量记录住每次变化的结果。通过循环的形式,进行累加动作。计数器思想:原理:通过一个变量记录住数据的状态变化。也通过循环完成。
10、循环嵌套:语句嵌套形式,其实就是语句中含有语句。
11、其他流程控制语句:break(跳出),continue(继续)。Break语句:应用范围:选择结构和循环结构。Continue语句:应用于循环结构。注意:a:这两个语句离开应用范围,存在是没有意义的。b:这两个语句单独存在下面都不可以有语句,因为执行不到。c:continue语句是结束本次循环继续下次循环。d:标号的出现,可以让这两个语句作用于指定的范围。
12、注意:标号只能用于循环语句上,给循环起名字。
13、continue:只能作用于循环结构。继续循环。特点:结束本次循环,继续下一次循环。
14、总结:a:break和continue语句作用的范围。b:break和continue单独存在时,下面可以有任何语句。因为都执行不到。
三、基础知识:函数
15、函数的定义:什么是函数?函数就是定义在类中的具有特定功能的一段独立小程序;函数也称为方法。
16、函数的格式:修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2,„){执行语句;return返回值;}。返回值类型:函数运行后的结果的数据类型。参数形式:是形式参数的数据类型。形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。实际参数:传递给形式参数的具体数值。Return:用于结束函数。返回值:该值会返回给调用者。
17、函数的特点:定义函数可以将功能代码进行封装;便于对该功能进行复用;函数只有被调用才会被执行;函数的出现提高了代码的复用性;对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写。注意:函数中只能调用函数,不可以在函数内部定义函数;定义函数时,函数的结果应该返回给调用者,交由调用者处理。
18、重点:函数的应用。如何定义一个函数呢?a:既然函数是一个独立的功能,那么该功能的运算结果是什么先明确。因为这是在明确函数的返回值类型。b:再明确在定义该功能的过程中是否需要未知的内容参与运算。因为是在明确函数的参数列表(参数的类型和参数的个数)。
19、函数的重载(overload):重载的概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。重载的特点:与返回值无关,只看参数列表。重载的好处:方便与阅读,优化了程序设计。重载示例://返回两个整数的和int add(int x,int y){return x+y;};//返回三个整数的和int add(int x,int y,int z){return x+y+z;};//返回两个小数的和double add(double x,double y){return x+y;}。
20、什么时候用重载?当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数。
四、基础知识:数组
21、数组的定义:概念:同一种数据类型的集合。其实数组就是一个容器。数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。关键字:new:用来在内存中产生一个容器实体。格式一:元素类型[]数组名=new元素类型[元素个数或数组长度];示例:int [] arr=new int[5];格式二:元素类型[]数组名=new元素类型[]{元素,元素,„};示例:int[] arr=new int[]{3,5,1,7};int[] arr={3,5,1,7}。
22、内存结构:Java程序在运行时,需要在内存中分配空间。为了提高运行效率,又对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存的管理方式。A:栈内存(栈区):用于存储局部变量,当数据使用完,所占空间会自动释放。B:堆内存(堆区):数组和对象,通过new建立的实例都存放在堆内存中。每一个实体都有内存地址。实体中的变量都有默认初始化值。实体不在被使用,会在不确定的时间内被垃圾回收器回收。C:方法区,本地方法区,寄存器。2016年01月09日
day04
一、基础知识:数组
1、获取数组中的元素。通常会用到遍历。
2、数组中有一个属性可以直接获得到数组元素个数。length。使用方式:数组名称.length。
3、数组排序:选择排序:内循环结束一次,最值出现头角标位置。冒泡排序:第一圈:最值出现在了最后位。
4、java中排序工具:import.java.util.*;Array.sort(arr)。java中已经定义好的一种排序方式。开发中,对数组排序,要使用该句代码。
5、二维数组:数组中的数组:格式一:int[][] arr=new int[3][2];定义了名称为arr的二维数组;二维数组中有3个一维数组;每一个一维数组中有2个元素;一维数组的名称分别为arr[0],arr[1],arr[2];给第一个一维数组1脚标位赋值为78写法是:arr[0][1]=78。格式二:int[][] arr=new int[3][];二维数组中有3个一维数组;每个一维数组都是默认初始值null;可以对这个三个一维数组分别进行初始化:arr[0]=new int[3];arr[1]=new int[1];arr[2]=new int[2]。
2016年01月10日
day05
一、面向对象:概述
1、理解面向对象:面向对象是相对面向过程而言;面向对象和面向过程都是一种思想;面向过程:强调的是功能行为;面向对象:将功能封装进对象,强调了具备了功能的对象;面向对象是基于面向过程的。让我们的角色从执行者变为指挥者。面向过程是面向对象的基础。
2、一切
JAVA基础知识点总结
本文2025-01-29 06:30:19发表“合同范文”栏目。
本文链接:https://www.wnwk.com/article/340474.html
- 二年级数学下册其中检测卷二年级数学下册其中检测卷附答案#期中测试卷.pdf
- 二年级数学下册期末质检卷(苏教版)二年级数学下册期末质检卷(苏教版)#期末复习 #期末测试卷 #二年级数学 #二年级数学下册#关注我持续更新小学知识.pdf
- 二年级数学下册期末混合运算专项练习二年级数学下册期末混合运算专项练习#二年级#二年级数学下册#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
- 二年级数学下册年月日三类周期问题解题方法二年级数学下册年月日三类周期问题解题方法#二年级#二年级数学下册#知识分享 #关注我持续更新小学知识 #家长收藏孩子受益.pdf
- 二年级数学下册解决问题专项训练二年级数学下册解决问题专项训练#专项训练#解决问题#二年级#二年级数学下册#知识分享.pdf
- 二年级数学下册还原问题二年级数学下册还原问题#二年级#二年级数学#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
- 二年级数学下册第六单元考试卷家长打印出来给孩子测试测试争取拿到高分!#小学二年级试卷分享 #二年级第六单考试数学 #第六单考试#二年级数学下册.pdf
- 二年级数学下册必背顺口溜口诀汇总二年级数学下册必背顺口溜口诀汇总#二年级#二年级数学下册 #知识分享 #家长收藏孩子受益 #关注我持续更新小学知识.pdf
- 二年级数学下册《重点难点思维题》两大问题解决技巧和方法巧算星期几解决周期问题还原问题强化思维训练老师精心整理家长可以打印出来给孩子练习#家长收藏孩子受益 #学霸秘籍 #思维训练 #二年级 #知识点总结.pdf
- 二年级数学下册 必背公式大全寒假提前背一背开学更轻松#二年级 #二年级数学 #二年级数学下册 #寒假充电计划 #公式.pdf


