算法题
1、找出不大于n的最大质数。
package com;
class B{
public static int MaxPrime(int n) {
int p=0;
for(int i=2;i<=n;i++) {
int k=0;
for(int j=2;j<=i;j++) {
if(i%j==0) {
k++;
}
}
if(k==1&&i>p) {
System.out.println(i);
p=i;
}
}
return p;
}
public static void main(String[] args) {
int a=MaxPrime(100);
System.out.println("+++++++++++++++++");
System.out.println(a);
}
}
概念
1、静态成员和静态方法,可以直接通过类名进行调用;其他成员和方法则需要通过实例化成对象之后,通过对象来调用。
2、静态块:用static申明,JVM加载类时执行,仅执行一次,且按声明顺序执行。
构造块:类中直接用{}定义,每一次创建对象时执行。
执行顺序优先级:静态块>main()>构造块>构造方法。
3、构造函数不能被继承,构造方法只能被显式或隐式的调用。
4、面对对象三大特征:封装、继承、多态;
封装:将属性私有化,提供公有的方法访问私有属性。为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问;
通过封装,可以实现对属性的数据访问限制,同时增加程序的可维护性;
封装的主要作用在于对外隐藏内部实现细节,增加程序的安全性。
5、Float类和Double类都重写了equals方法,同类判等值可以为true,不同类为false。==比较的是两个对象的引用地址是否一致。
6、BufferedReader的父类是Reader。
7、parseInt()能把String变成int;
valueOf()把String转换成Integer对象;
intValue()把String变成int。
8、方法重写应遵循“两同,两小,一大”的原则:
两同:方法名、形参列表相同;
两小:返回值类型、抛出异常更小(这里的小是指继承关系的子父类)
一大:子类方法的访问修饰符应比父类方法更大或相等。
9、URL u=new URL(“http://www.123.com”);
如果http://www.123.com不存在,则返回http://www.123.com(打印出该网址)
10、DriverManager.getConnection方法是获取链接的,Class.forName方法是加载驱动的。