java基础
来源:互联网 发布:做h5的软件 编辑:程序博客网 时间:2024/05/17 07:01
2010-04-08
1. 什么是变量。(考)
2. 局部变量 必须赋值 不能有修饰符。
3. 语句块内数据只在块的范围内有效。
4. BigDecimal 精度强。
5. short char之间必须强制转换。
6. 科学技术法只能表示浮点型 。
7. 二元运算符(如+=)byte和short两种数据类型组成的表达式,其运算结果自动升级为int类型。
8. 位运算符只对整数型做运算 包含char类型。
9. if 后必须是布尔表达式 可以 boolean b = true ; if(b=false){};。
10. switch case中case后面值是唯一的且只能有一个。
11. break 后也可加标签 表示退出加标签的循环 如:label: for(){… for(){…break label;}}。
12. continue 也可加标签 同break加标签。(不建议使用)
题目:
1) 输入年月,判断月多少天,可一直输入,直到输入0退出,如果输入年份错误 则请用户一直输入年份,如果月份错误则一直输入月。
2) 彩票程序,允许用户一直输入几选几,除非输入0退出。输出n+1个数,第一行无排序。第二行排序,最后一个特别号不排序。选出号不允许重复
2010-04-09
1. 成员变量都有默认初始值。整形:0 浮点型:0.0 char: /u0000 布尔:false 引用数据类型:null。
2. 字段封装:1)字段私有,private
2)公开get和set方法
3. 方法:1)都有return,只是void的方法不用显示声明,系统自动调用return。
2)return语句需在可执行代码的最后一句。
3)若有条件分支,则必须保证每个分支都有return语句。
4. Java只有值传递(考):1)传递值,实参不会随形参变化而变化。
2)传递引用数据类型,实参有可能会变化。
public class ParamterTest {
//参数传递之传值
public void ma(int i)
{
i=20;
System.out.println("In Ma method i="+i);//i=20
}
//参数传递之传引用
public void mb(int[] arr)
{
arr[0]=200;
System.out.println("In Mb method arr[0]="+arr[0]);//200
arr=new int[1];
arr[0]=300;
System.out.println("In Mb method arr[0]="+arr[0]);//300
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ParamterTest pt=new ParamterTest();
int i=10;
pt.ma(i);
System.out.println("In Main i="+i);//i=10
int[] arr={100};
pt.mb(arr);
System.out.println("In Main arr[0]="+arr[0]);//200
}
}
5. 方法中参数分为隐式参数,显示参数。每个成员方法都有一个隐式参数this。
6. 类之间关系:1)泛化 (is-a):继承关系
2)组合 (has-a):1)合成
2)聚合
3)关联
3)依赖 (use-a):作为返回值
7. 子类中成员:1)从父类继承可见的成员 (字段方法)
2)子类所特有的成员 (字段方法)
8. 重载(考) 发生在同一个类或者父子类间。参数类型,数目不同。返回值,修饰符可相同
9. 歧义重载 ma(int i , double j) ma(double i , int j)
10. 覆盖(考) 子类权限大于父类
抛出异常子类小于父类
11. 多态对象 调用方法 子类调用子类
调用变量 子类调用父类
12. 父类->子类 强制转换 子类->父类 自动转换
13. 任何一个对象只有一种数据类型
14. 数据类型强制转换是指多态对象的强制转换,即父类(多态对象)->子类 强制转换
15. instance of 判断的是对象所指向的实例是否为of后面的数据类型
public class PersonTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student();
Person p=new Person();
Person ps=new Student();
System.out.println(stu instanceof Person);//true
System.out.println(stu instanceof Student);//true
System.out.println(p instanceof Person);//true
System.out.println(p instanceof Student);//false
System.out.println(ps instanceof Person);//true
System.out.println(ps instanceof Student);//true
}
}
class Person
{
int age;
String name;
String address;
int i=10;
public Person()
{
System.out.println("P");
}
public String display()
{
return age+"/t"+this.name+"/t"+this.address;
}
}
class Student extends Person
{
String school;
int i=20;
public Student(){
System.out.println("S");
}
public double getScore(){
return 12.34;
}
public String display()
{
return age+"/t"+this.name+"/t"+this.address
+"/t"+this.school;
}
}
16. 若父类中有无参构造方法,则子类中系统默认调用此构造方法。若父类中没有无参构造方法,则子类需在构造方法中显示调用父类中带参数构造方法,super(父类构造方法参数)。
class Person
{
int age;
String name;
String address;
int i=10;
/*public Person()
{
this(0);
System.out.println(1);}*/
public Person(int age)
{
this(age,null);
System.out.println(2);}
public Person(int age,String name)
{
this(age,name,null);
System.out.println(3);}
public Person(int age,String name,String address)
{
this.age=age;
this.name=name;
this.address=address;
System.out.println(4);
}
public String display()
{
return age+"/t"+this.name+"/t"+this.address;
}
}
class Student extends Person
{
String school;
int i=20;
public Student(int age){
super(age);
System.out.println("S");
}
public Student(int age,String name)
{
this(age);
}
public Student(int age ,String name,String address)
{
this(age,name);
}
public double getScore(){
return 12.34;
}
public String display()
{
return super.display()+"/t"+this.school;
}
}
17. equals不能判断基本数据类型,只能判断引用数据类型 除String,Date,File,包装类,枚举外,equals与双等号判断一致。对于String,Date,File,包装类,枚举,equals判断数据。
18. 重写equals方法,也需重写hashCode方法。
19. static可修饰字段,方法,块,内部类。
20. final可修饰字段,类,方法。
21. abstract 修饰方法,类。Abstract与final,static,private不能用在一起。
2010-4-16
1. Java Fx
2. 包装类,不识别字符串中带有L的标识。
3. 类只用public,和默认修饰权限,只有内部类中可以用四种权限修饰。
4. 普通内部类不可以定义静态方法变量,内部类可以定义为静态类,内部则可以定义静态变量,方法
5. 外部类外部,对内部类构造,如:Outer o = new Outer();
Outer.Inner inner = o.new Inner();
6. 内部类访问与内部类变量同名的外部类变量,如:Outer.this.i
7. 静态内部类,外部类的外部构造: Outer.Inner inner = new Outer.Inner();
8. 静态的先于非静态的产生,所以静态内部不能调用非静态。
9. 局部内部类中不能访问方法内非final变量
10. 实例化局部内部类实例化必须在类定义之后
11. 匿名内部类不能有构造方法,不能定义任何静态成员,方法,类。匿名内部类不能是public,protected,private,static。只能创建一个实例,定义必须在new的后面。匿名内部类需继承某一类或接口
12. 内部类可用于多重继承机制的实现。
13. 与资源访问相关的类大都会产生异常。
14. 自定义异常,重写toString()方法,改变打印出的堆栈信息
15. String s = new String(“abc”) 这句话创建了两个对象,参数”abc”不是new出的对象,放到字符串池(在栈中)中。
16.
- Java基础01:基础
- Java基础:基础加强
- Java基础-基础
- java基础的基础
- JAVA基础---基础常识
- Java基础:基础加强
- [Java 基础]基础语法
- Java基础
- java基础
- java 基础
- java基础
- Java基础
- Java基础
- Java基础
- JAVA基础
- JAVA基础
- JAVA基础
- java基础
- 多媒体音频格式解析WMA WAV OGG AAC APE FLAC[转载]
- 凡事都要往好的方面想
- asp.net正则表达式
- 工作又一年
- 3阶魔方破解之层先法
- java基础
- 如何使用 U 盘启动 Windows 7??
- XP系统安装SQL Server 2005开发版具体过程与注意问题 收藏
- 在执行action后返回input action时保留actionerror
- Android 核心分析 之八------Android 启动过程详解
- Scrum中的风险管理(1)
- SOCKADDR 与 SOCKADDR_IN
- #pragam 简介
- Scrum中的风险管理(2)