Java 知识点总结一
1.配置java环境
JAVA_HOME:在系统变量中新建一个JAVA_HOME变量,该变量的值为JDK的安装目录。
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是自加一次后再使用.
赋值运算符.
如果赋值运算符两边的数据类型不相同,则需要进行类型转换,即“向左看齐”;如果这种转换是由小向大的转换,系统将自动进行,如果是由大向小的转换,则需强制类型转换。
逻辑运算符
有短路 (&&,||) 和非短路 (&,|),
短路可以稍微提高效率.“&”和“&&”的区别在于,如果使用&连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用 && 连接,当“&&”的左边为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是跨层依赖优先于同层依赖构造。下面这段代码对于层次间的构造函数重载分析的很好
Java代码
package heima;
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 {
private PortableLunch p=new 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(类型:类型成员成员集合)
Java 知识点总结一
1.配置java环境
JAVA_HOME:在系统变量中新建一个JAVA_HOME变量,该变量的值为JDK的安装目录。
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是自加一次后再使用.
赋值运算符.
如果赋值运算符两边的数据类型不相同,则需要进行类型转换,即“向左看齐”;如果这种转换是由小向大的转换,系统将自动进行,如果是由大向小的转换,则需强制类型转换。
逻辑运算符
有短路 (&&,||) 和非短路 (&,|),
短路可以稍微提高效率.“&”和“&&”的区别在于,如果使用&连接,那么无论任何情况,“&”两边的表达式都会参与计算。如果使用 && 连接,当“&&”的左边为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是跨层依赖优先于同层依赖构造。下面这段代码对于层次间的构造函数重载分析的很好
Java代码
package heima;
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 {
private PortableLunch p=new 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(类型:类型成员成员集合)