当前位置:文档之家› java 重点总结

java 重点总结

Java se 重点总结


开平方用地方法是Math.sqrt!!

第一天

一.
public class Helloworld{
public static void main(String args[]){
Seytem.out.print("hello,world")
}
}

1.文件名的开头字母为大写;
2.保存时的文件名必须与public class (Helloworld)中的文件名一致;
3.java程序的源文件名必须是 .java 。
4.java程序的主文件名可以是任意的。
二.
1.java 环境的安装
(1)安装 JDK(java学习环境及安装包)
(2)配置 Path
(3)编译 Java文件:
(4)执行: java Helloworld(文件名)
三.
1.一个java源文件的只能定义一个public class(类)
2.不同的类使用不同的源文件
四.java 语言是纯粹面向对象的程序设计语言。(c语言是纯粹的面向过程语言)
Java中有三种注释方法:
1. //被注释语句
2. /*被注释语句*/
3. /**被注释语句*/

五.
1.java运行的第一步是编译,是通过javac讲.java文件编译成.class文件;
2.使用java执行class文件(注意:执行的.class文件)
3.static 静态的
4.静态的java文件调用的方法必须为静态的

第二天

一.java区别于其他语言的特点:

1.面向对象的。“万物皆对象”
2.跨平台的特性。“一次编写,处处使用”(JVM(java虚拟机)实现了java的跨平台特性);JVM 根据不同的操作系统将java文件转化成相应的.class文件。
3.多线程。
4.去掉了指针等难懂的概念。
5.垃圾回收机制(GC机制):自动回收不需要的资源。

二.java代码的书写规范

1.包的书写方法:
由小写字母和少量数字组成; 例如:java.me2;
2.类, 接口的书写方法
由一个或几个单词组成,每个单词的第一个字母大写; 例如:StringBuffer
3.方法的书写方法
除了第一个小写字母外,其他的单词的首字母都要的大写
4.局部变量
除了第一个小写字母外,其他的单词的首字母都要的大写
5.常量
1.常量的命名必须为大写
2.常量的值不允许改变
4.域(属性)
普通域:
除第一个字母小写外,和类,接口的命名规则一样。比如:personInfo
常数域:
由一个或多个被下划线分开的单词组成,比如:VALUES, NEGATIVE_INTINITY
常数域是唯一允许使用下划线的情况。


第三天

一.

1.java 应用的工具Eclipse;
2.程序开发的最基本元素是数据类型+运算符=表达式=程序;

二.java的数据类型
1.基本数据类型(8种)
a.整形 (byte、short、int、long)
b.浮点型 (float、double)java中默认的浮点型是double
c.字符型 (char)单个字符用单引号,字符串用双引号!!
d.布尔型(boolean):只有两个值true、false
2.引用数据类型
a.数组(具有相同数据类型的数据的集合)(可以作为数据类型)
b.类

c.接口


第四天

一.

1.数据类型的转换
(1)自动类型转换
a.从小范围自动转换为大范围
short、char-int-long-float-double;

(2)强制类型转换
a.在要转换的变量·前加括号,在括号里写要转化的类型;
2.“+”的用法
(1)“+”两边如果都是数值型,那么其作用是做加法,
(2)“+”两边如果有一边是字符串数据,那么其作用是连接。

3.a%b=a-(int)(a/b)*b(取余公式) 所有的数据类型都可以应用

4.生成随机数
double r=Math.random();
5.从键盘输入数
(头文件)import java.util.Scanner;
Scanner a=new Scanner(System.in);
int b=a.nextInt();


第五天

一.
1.数组的定义
(1)数组的声明
a.int arr[]=new int[10](定义一个数组存放是个元素)
b.int []arr=new int[10]
(2)数组的实例化
a.arr=new int[5];
b.arr=new int[]{1,3,4,5,6};
c.int arr[]=new iny[]{2,3,4,45,5};
d.int arr[]={2,4,5,56,7,4};


面向对象

1.new是开辟空间的意思;
2.面向对象的三大特点:封装、继承、多态;
3.区别面向过程;
4.元素:类,对象;
a.类:相同属性和相同行为的一组对象的抽象;(属性也叫成员变量)
b.对象:类的一个实例。(String :字符串)(具体存在的事物)
c.不能直接输出对象;
d.通过new来声明对象;
(坐标中任意两点之间的距离为(x1-x2)的平方+(y1-y2)的平方再开方)
5.对象的特征:静态特征和动态特征
a.静态特征:指对象的外观,属性,性能等;
b.动态特征:具有的功能,行为等;



定义的变量前加static是类变量;
类变量可以直接使用类名去调用;成员变量不可以;



构造方法
1.作用:在声明对象是,直接对对象进行初始化;
2.特点:a.构造方法与类名一致;
b.构造方法五返回值;
c.可以有多个,但参数列表不同;

重载(同一个类里边谈重载):方法相同,参数列表不一致;

this.表示本类的意思。
this()调用本类中的其他构造方法,构造方法之间的相互调用
(必须写在第一行!!!


访问控制符(类型修饰符,权限访问控制符)
public :公有的)(同一工程下任何地方都可以访问!!)
protected:受保护的(同一个包内可以调用,或者子类里面都可 进行调用)
private:私有的;(只能在本类中可以访问,私有变量不能直接访问,但可以通过中间方法进行访问)
(空的);(不写的情况下,只有同一个包下可以调用)


java.中使用访问控制符的建议:
a.尽可能将属性和方法影藏(就是尽可能的使用private来修饰属性和方法)
b.一个.java文件最好定义一个类,类都是用public定义


toString方法


直接

输出对象的时候是系统自动调用的toString方法
toString 方法是系统自带的方法,输出时系统会自动调用。
toString 方法的固定写法:
public String toString(){
return 输出的内容;
}




一般情况下构造方法不使用private修饰。
在单例模式的情况下可使用private修饰构造方法;

(升序排序)Arrays.sort(数组名);
for(int a:数组名){

}




继承

好处:节省代码
格式:class A extends B { }
子类 父类
构造方法不能被继承!!(因为构造方法的方法名和类名一致)
被private私有化的方法或者比属性是不能被继承的;
如果想使用父类里边的 构造方法可以使用super();
super(参数)(代表调用父类里边的有参的构造方法)


子类构造方法默认调用父类无参的构造方法;
如果子类的构造方法显示的调用了父类有参的构造方法,那么此构造方法就不会再去调用父类里面无参数的构造方法;


super() 必须要写在第一行
java中一个子类只能有一个父类,(就是只能单继承)
如果属性或者方法没有修饰在同一个包内可以调用,不在同一个包内不能调用。(子类不能调用)
protected修饰不在一个包内也可以;




在子类的构造方法里边会自动调用父类中的无参的构造方法!!!!!



重写(覆盖、覆写)
只有在产生继承关系时才会用到重写,没有继承谈不上重写

重写:当父类的方法不能满足子类里面的需求是,可以在子类里面对父类的方法进行重写;

条件:1.方法名相同,参数列表相同,返回值相同;
2.子类冲重写方法不能拥有比父类更加严格的访问权限
(子类中的方法的修饰符不能比父类方法的修饰符更严格)

在子类 重写的方法里面如果想调用父类,可以用super.冲写方法名,就可以调用父类里面的方法;

@override(限定方法是重写方法)
子类的数据类型应属于父类的数据类型
例如:student属于person数据类型
person p=new student(){}可行
student s=new person(){}不可行


在java中,任意一个类都有一个公共的父类,除了object(对象)类之外;
object里边的方法所有对象都可以调用

重写和重载体现了java的多态性;


toString方法是重写的object里面的toString方法



目前java中的三种默认:
(1)默认添加无参的什么都不做的构造方法
(2)子类的构造方法里会默认去调用父类力无参的什么都不做的构造方法(它默认添加的super()方法调用的)
(3)所有类,如果没有显示继承,那么就默认继承object;



几个重要的修饰符的用法

1.final
(1)final来定义常量
final int NUM=100;
(2)final用来修饰方法

:表示方法不能被重写;
(3)final用来修饰类:表示此类不能被继承;

2.static
(1)static来修饰变量:表示此变量为类变量,(类变量是所有对象共享的)
(2)static修饰方法:表示此方法为静态方法,静态方法只能调用静态方法

3.this(this代指本类)
(1)this.xxxxx表示调用本类里面的变量;
(2)this.xxx()表示调用本类里面的普通方法;
(3)this()表示调用本类的无参的构造方法;
(4)this(参数)表示调用本类有参的构造方法;

4.super(用来代指父类)
(1)super.xxxxx表示调用父类里面的变量;
(2)super.xxx()表示调用父类里面的普通方法;
(3)super()表示调用父类的无参的构造方法;
(4)super(参数)表示调用父类有参的构造方法;


equals方法
equels(Object.obj){}:对象比较
书写格式: p1.equals(p2)

为什么要重写equals?



Java的内存管理方式s
1.堆;(存放new出来的对象)(数据不共享)
动态分配空间,比较灵活,但速度慢
2.栈;(存放8种基本数据类型及对象的引用)(数据共享)
固定分配空间,速度快
3.string方法中重写了equals方法
4.Integer类中也重写了equals方法


包装类


八种基本数据类型:
int——Integer
byte——Byte
short---Short
long---Long
float----Float
double---Double
char----Character
boolean---Boolean


包装类都是final类,不能被继承



String和StringBuffer都是定义一个字符串


String和StringBuffer的区别
String是不可改变的
StringBuffer是可变的(大量的字符串连接的时候可用)
String定义的是字符串常量
StringBuffer定义的是字符串变量;( 声明是应注意:StringBuffer str=new StringBuffer(“abc”))



八种基本类型的包装类和String类都重写了equals()。
equals常用来比较字符串和对象;



String类的方法:
StringBuffer类提供的方法要远少于String,所以在使StringBuffer进行连接后,要把STringBuffer转化为String数据类型;


StringBuffer中用于连接的方法:sb1.append(sb2);

把StringButter转化为String:
String str3=new String(str3)

返回指定索引处的char值的方法(从0开始):
char ch=Str3.charAt(2);

trim方法去掉空格以后并不改变其值!!


日期和时间的得到和格式转换

Date date=new Date();

SimpledateFormat sdf=new SimpleDateFormat(" yyyy-MM-dd");
String time=sdf.format(date);

相关主题
文本预览
相关文档 最新文档