1、强制转换
public class Test1 {
public static void main(String[] args) {
((Test1)null).getInfo();
}
public static void getInfo(){
System.out.println("张三");
}
}
结果(输出):张三
2、return使用
public class Test1 {
public static void main(String[] args) {
try {
int t = 1;
return;
} catch (Exception e) {
System.out.println(e.getMessage());
}finally {
System.out.println("111");
}
}
}
结果(输出):111
3、Boolean
public class Test1 {
public static void main(String[] args) {
int a = 1;
Boolean[] b = new Boolean[3];
Boolean c = b[a];
System.out.println(c);
}
}
结果(输出):null
3、if条件语句
public class Test1 {
public static void main(String[] args) {
int x = 3;
if(x>0){
System.out.println("A");
}else if(x>-3){
System.out.println("B");
}else{
System.out.println("C");
}
}
}
结果(输出):A
当x>-3&&x<=0时,输出:B
for (; ; ) {
System.out.println(11);
}
结果(输出):一直输出11,死循环
4、类可以被final或abstract修饰,但是不能同时修饰
5、求1-100之间的素数
public static void main(String[] args) {
System.out.println(2);
for(int i=2;i<100;i++){
if(i%2!=0){//去除能被2整除的数
if(getNum(i)){
System.out.println(i);
}
}
}
}
//素数
private static boolean getNum(int i) {
for(int j=2;j<i;j++){
if(i%j==0){
return false;
}
}
return true;
}
6、统计一个字符串中字符出现的次数并打印出来
public static void main(String[] args) {
String s = "abccbasdfwwdd";
char[] c = s.toCharArray();
Map<Character,Integer> map = new HashMap<Character,Integer>();
for (char d : c) {
if(map.containsKey(d)){
map.put(d, map.get(d)+1);
}else{
map.put(d, 1);
}
}
for (Entry<Character,Integer> en : map.entrySet()) {
System.out.println(en.getKey()+":"+en.getValue());
}
}
7、 删除list集合中的重复元素
String[] arr = {"aa","bb","cc","aa","dd","cc"};
Arrays.sort(arr);
List<String> list = new ArrayList<String>();
for (String i : arr) {
if(!list.contains(i))
list.add(i);
}
System.out.println(list);
输出结果:[dd, aa, bb, cc]
8、IO流
对象字节输入流和输出流
写入文件对象信息
ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(new File("文件路径")));
output.writeObject(new User("张三",10));
output.close();
读取文件对象信息
ObjectInputStream input = new ObjectInputStream(new FileInputStream(new File("文件路径")));
User user = (User) input.readObject();
System.out.println(user);
input.close();
缓冲字节输入流和输出流
遍历文件夹,并将文件夹下的所有文件复制到指定的位置
public static void main(String[] args) throws IOException {
recursion("文件夹路径");
}
private static void recursion(String path) throws IOException {
File file = new File(path);
if(file.exists() && null != file && file.length()!=0){
File[] files = file.listFiles();
for (File file2 : files) {
if(file2.isDirectory()){
recursion(file2.getAbsolutePath());
}else{
try {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file2.getAbsoluteFile()));
File file3 = new File("文件夹路径",file2.getName());
File file4 = new File("文件夹路径");
if(!file4.exists())file4.mkdir();
if(!file3.exists())file3.createNewFile();
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file3));
int len;
while((len=in.read())!=-1){
System.out.println(len);
out.write(len);
}
in.close();
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
}
9、Java统计一个字符串在另一个字符串中出现的次数
第一种方法:
public static void main(String[] args) {
String a = "718679asdas718asasasc21133718";
String b = "718";
filter(a, b);
}
public static void filter(String a,String b){
int count = 0;
while(true){
int i = a.indexOf(b);
if(i==-1)break;
count ++;
a = a.substring(i+b.length());
}
System.out.println(count);
}
第二种方法:
public static void main(String[] args) {
String a = "718679asdas718asasasc21133718";
String b = "718";
filter(a, b);
}
public static void filter(String a,String b){
String replace = "";
if(a.contains(b))
replace = a.replace(b,"");
int count = (a.length()-replace.length())/b.length();
System.out.println(count);
}
10、float f = 3.4 正确吗?
不正确,精度不准确,应该用强制类型转换,如:float f = (float )3.4 或 float f = 3.4f
在java里,无小数点的默认是int,有小数点的默认是double
11、ArrayList的扩充问题?
ArrayList list = new ArrayList();这种是默认创建大小为10的数组,每次扩容大小为1.5倍ArrayList list = new ArrayList(20);使用的是ArrayList的有参构造函数,创建时直接分配其大小,没有扩充
12、存在使 i + 1 < i 的数吗?
存在,若 i 为 int 整型,那么当 i 为 int 能表示的最大整数时, i + 1 就溢出变成负数了
13、对登录表单的密码如何进行加密?
RSA非对称算法:使用RSA会产生公钥和私钥,基于产生的公钥对明文加密,针对已经加密的明文,使用私钥解密,得到明文