---------------------- android培训
、java培训
、期待与您交流! ----------------------
Java
知识点总结一
1.
环境塔建与开发
JAVA_HOME:Java
的安装目录
.
Path:
指定一个路径列表
,
用于搜索可执行的文件
.
这个路径指定
jdk
安装目录下的
bin
目录
.
可以用
%JAVA_HOME%
来塔配环境
.
ClassPath:
指定一个路径列表,用于搜索
Java
在编译或运行时需要用到的类(
.class
文件)
,
比如
sun
提供的
dr.jar
和
tools.jar
等
.
2.
变量与常量
实例变量
:
定义在类中但在任何方法外
.
局部变量
:
定义在方法中的变量
.
任何变量在使用前都要被初始化
.
变量的数据类型有基本数据类型和引用数据类型
基本数据类型
|
整型:
byte,
short, int, long
|
实型:
float,
double
|
字符型:
char
|
布尔型:
boolean
|
引用数据类型
|
数组
array
|
类
class
|
接口
interface
|
byte
占
8
位
short
占
16
位
int
占
32
位
long
占
64
位
.
类型转化可以分为自动类型转换和强制类型转换
3.
运算符
算术运算符
要注意
0
不能做为除数和任何数都不能对
0
取模
.
i++
是使用
i
的在自加一次
.
++i
是自加一次后在使用
.
位运算符
<<
:左移
>>
:带符号右移(最高位为
0
则补
0
,为
1
则补
1
)
>>>
:无符号右移(补
0
)
赋值运算符
.
如果赋值运算符两边的数据类型不相同,则需要进行类型转换,即“向左看齐”;如果这种转换是由小向大的转换,系统将自动进行,如果是由大向小的转换,则需强制类型转换。
逻辑运算符
有短路
(&&,||)
和非短路
(&,|),
短路可以稍微提高效率
.
“&”
和
“&&”
的区别在于,如果使用
&
连接,那么无论任何情况,
“&”
两边的表达式都会参与计算。如果使用
&&
连接,当
“&&”
的左边为
false
,则将不会计算其右边的表达式。
“|”
和
“||”
的区别与
“&”
和
“&&”
的区别一样。
三无运算符可以简化一下代码的书写
.
格式为
:
(condition)?a:b
4.
程序控制语句
if
if.else
Switch
while
do.while
for
for
循环嵌套
break-continue
其中
do.while
是先执行一次在判断条件是否为真
.
要控制循环的流程在循环中跳出
.
可以在循环外面设置一个
boolean
值
.
通过在循环中控制此布尔值来控制循环是否继续执行
.
5.java
函数的重载
构造函数
:
构造函数的名字和它从属的类的名字是相同的
.
一个构造函数是对象被创建时初始化对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,创建对象时就会自动调用它。构造函数没有返
回类型,即使是
void
类型也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。构造函数的任务是初始化一个对象的内部状态,所以用
new
操
作符创建一个实例后,立刻就会得到一个清楚、可用的对象。
构造函数的函数名与类名相同并且没有返回值类型
,
也不能定义为
void,
在方法名前也不用声明方法的类型
.
构造函数主查为了完成对象的初始化工作
,
它能够把定义对象时的参数传递给这个对象所在的域
.
构造方法只能由系统调用
.
一个类中的构造方法可以重载
.
被依赖的先构造,依赖于人的后构造。
JAVA
是跨层依赖优先于同层依
赖构造
下面这段代码对于层次间的构造函数重载分析的很好
class Cake{
Cake(){System.out.println("Cake()");}
}
class Meal {
Meal() { System.out.println("Meal()"); }
}
class Bread {
Bread() { System.out.println("Bread()"); }
}
class Cheese {
Cheese() { System.out.println("Cheese()"); }
}
class Lettuce {
Lettuce() { System.out.println("Lettuce()"); }
}
class Lunch extends Meal {
Lunch() { System.out.println("Lunch()"); }
}
class PortableLunch extends Lunch {
private Cake a=new Cake();
PortableLunch() { System.out.println("PortableLunch()");}
}
public class OverLoadTest extends PortableLunch
{
private Bread b = new Bread();
private Cheese c = new Cheese();
private Lettuce l = new Lettuce();
public OverLoadTest() {
System.out.println("Sandwich()");
}
public static void main(String[] args) {
new OverLoadTest();
}
}
上面的代码输出的结果为:
Meal()
Lunch()
Cake()
PortableLunch()
Bread()
Cheese()
Lettuce()
Sandwich()
在同一个类中
,
允许存在一个以上的同名函数
.
只要它们的参数个数和参数类型不同即可
.
重载与返回值类型无关
,
只与参数列表有关
.
6.
数组
数组定义
int[]
arr=new int[2];
和
int arr[]=new
int[2];
都可以
,
一般都常用第一种
.
也可以在定义的时候直接给初始值
int[] arr=new int[]{1,2,4,5,5};
数组常见的操作有遍历和获取最值等
,
遍历数组一般用
for
循环
.for
循环遍历在对象确定情况下可以用
JDK1.5
以后的新特性
,
增强
for
循环
for(
类型
:
类型成员
成员集合
)
---------------------- android培训
、java培训
、期待与您交流! ----------------------
分享到:
相关推荐
黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip
黑马程序员_Java基础辅导班教程课件[第01期]第15天
黑马程序员_Java基础辅导班教程课件[第01期]第12天
黑马程序员_Java基础辅导班教程课件[第01期]第8天
黑马程序员_Java基础辅导班教程课件[第01期]第12天
黑马程序员_Java基础辅导班教程课件[第01期]第11天
黑马程序员_Java基础辅导班教程课件[第01期]第7天
黑马程序员_Java基础辅导班教程课件[第01期]第5天
黑马程序员_Java基础辅导班教程课件[第01期]第4天
黑马程序员_Java基础辅导班教程课件[第01期]第12天
黑马程序员_Java基础辅导班教程课件[第01期]第6天
黑马程序员_Java基础辅导班教程课件[第01期]第10天
黑马程序员_Java基础辅导班教程课件[第01期]第9天
( 01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip )
Java 黑马程序员入学Java知识(精华总结)
黑马程序员入学Java知识——精华总结
黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件).zip
黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)
黑马程序员毕向东java基础视频教程全套
月薪过万的入门必知知识,黑马程序员入学Java精华总结