day26-0524
选择题
1.继承Thread类,重写run方法
2.实现Runnable接口,重写run方法
3.实现Callable接口
a.形式参数可以是值或者对象
b.如果要使用字段修饰符,只能使用final修饰符,其他任何修饰符都会引起编译器错误。
c.java中的方法没有引用调用,调用的形参都是拷贝的。
不需要程序员做什么;不一定在什么时候执行垃圾回收。
case后没有break,所以从case4开始一直执行到最后,j自加3次变成4。
“10”和“2”在这是字符串。
![]()
Map以key-value形式保存,HashMap、HashTable继承自Map;
ArrayList底层以数组方式存储;
LinkedList以链表形式存储。
hashMap在单线程中使用大大提高效率,在多线程的情况下使用hashTable来确保安全。hashTable中使用synchronized关键字来实现安全机制,但是synchronized是对整张hash表进行锁定即让线程独享整张hash表,在安全同时造成了浪费。concurrentHashMap采用分段加锁的机制来确保安全
Arrays.asList方法返回的这个List的实现类是java.util.Arrays.ArrayList这个类(而不是java.util.ArrayList)。
equals()比较的是字符串的内容,==比较的是内存地址值
s1存放在常量池中 s2存放在堆区中 内存地址值是不一样的
方法重载(overload):
1.必须是同一个类
2方法名(也可以叫函数)一样
3参数类型不一样或参数数量不一样
方法的重写(override)两同两小一大原则:
方法名相同,参数类型相同
子类返回类型小于等于父类方法返回类型,子类抛出异常小于等于父类方法抛出异常,
子类访问权限大于等于父类方法访问权限。
编程题
跳台阶扩展的问题
试着画画就会发现,当前n级台阶的跳法是n-1 级台阶方法的二倍。
public int jumpFloorII (int number) { // write code here if(number<=2){ return number; } return 2*jumpFloorII(number-1); }
看快到碗里来
咱就是说注意题目细节
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ double[] arr=new double[2]; for (int i = 0; i < 2; i++) { arr[i]=sc.nextDouble(); } double len=arr[0]; double r=arr[1]; double a= 3.14*2*r; if(len<a){ System.out.println("Yes"); }else{ System.out.println("No"); } } } }