您的位置 首页 java

Java面试常考知识

1.请写出两个变量的数值交换,但不借助第三个变量的代码:

方法一:

 public class Main{
    public  static   void  main(String[] args){
        int a=11;
        int b=22;
        System.out.println("before:a="+a+",b="+b);
        a=a^b;
        b=b^a;
        a=a^b;
        System.out.println("after:a="+a+",b="+b);
    }    
}  

方法2:

 public class Main{
    public static void main(String[] args){
        int a=11;
        int b=22;
        System.out.println("before:a="+a+",b="+b);
        a=a+b;
        b=a-b;
        a=a-b;
        System.out.println("after:a="+a+",b="+b);
    }    
}  

方法三:方法二中加号变成 乘号 ,减号变成除号。

2.强制转换问题:下面哪个语句正确

(1)short s=1;s=s+1;

( 2 ) short s=1;s+=1;

答:(1)中s+1为整型,不能赋给short型,所以这条语句错误。(2)对于s+=1,由于赋值运算符中隐含的强制转换类型,所以+会将结果提升为int型,经过强制类型转换为short型后赋给s.

3.

1.public static int[] copy Of(int[] original,int newLength)

original是原数组,newLength是新数组的长度,是从原数组的下标0处开始取,取够新数组需要的长度,

若新数组的长度大于原数组的长度,超过的部分保留默认值

2.public static int[] copyOfRange(int[] original,int from,int to)

取指定范围内的元素给新数组,包括from,不包括to(左闭右开),若from=to,则取不到元素

补充:数组的赋值除了使用Arrays类中的copyof()和copyOfRange()方法以外,还可以使用System类的arraycopy()方法和Object类的Clone()方法

3.public static boolean equals(int[] a1,int[] a2)

判断两个数组是否相等,两个数组a1和a2具有相同数量的元素,且对应元素相等或者数组引用都为null才被认为相等(常用)

4.public static void fill(int[] a,int val)

把val值给数组a的每个值

5.public static void fill(int[] a,int from,int to,int val)

把val值给固定范围内的数组元素,包括from,不包括to,

6.public static void sort(int[] a)

按照数字顺序排列指定数组(升序)

7.public static void sort(int[] a,int from,int to)

给指定范围升序排序:from要排序的第一个元素的索引,to要排序的最后一个元素的索引

paralleSort与 sort 形式一样,不过前者是并发操作,是针对流的操作,效率比sort高

8.public static String toString(int[] a)

返回指定数组内容的 字符串 表达形式

Object类中的 toString 方法,在Object类下的toString方法返回的是标记符“@”和此对象哈希码的无符号十六进制表示做成:两者是重名 函数关系 ,不是覆写

4. java StringTokenizer 类使用方法

 Java StringTokenizer 属于  Java .util 包,用于分隔字符串。

 StringTokenizer   构造方法 :

1. StringTokenizer(String str) :构造一个用来解析 str 的  String Tokenizer 对象。java 默认的分隔符是空格("")、 制表符 (\t)、换行符(\n)、回车符(\r)。
2. StringTokenizer(String str, String delim) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符。
3. StringTokenizer(String str, String delim,  boolean  returnDelims) :构造一个用来解析 str 的 StringTokenizer 对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。
StringTokenizer 常用方法:

1. int countTokens():返回nextToken方法被调用的次数。
2. boolean hasMoreTokens():返回是否还有分隔符。
3. boolean hasMoreElements():判断枚举 (Enumeration) 对象中是否还有数据。
4. String nextToken():返回从当前位置到下一个分隔符的字符串。
5. Object nextElement():返回枚举 (Enumeration) 对象的下一个元素。
6. String nextToken(String delim):与 4 类似,以指定的分隔符返回结果。  

实例:

 import java.util.*;
 
public class Main 
{ 
    public static void main(String[] args)
    { 
        String str = "runoob, google ,taobao, facebook ,zhihu";
        // 以 , 号为分隔符来分隔字符串
        StringTokenizer st=new StringTokenizer(str,",");
        while(st.hasMoreTokens()) { 
            System.out.println(st.nextToken());
        }
    }
}  

输出结果:

 runoob
google
taobao
facebook
zhihu  

“做 程序员 ,圈子和学习最重要”因为有有了圈子可以让你少走弯路,扩宽人脉,扩展思路,学习他人的一些经验及学习方法!同时在这分享一下是一直以来整理的Java后端进阶笔记文档和学习资料免费分享给大家!需要资料的朋友私信我扣【06】

文章来源:智云一二三科技

文章标题:Java面试常考知识

文章地址:https://www.zhihuclub.com/190835.shtml

关于作者: 智云科技

热门文章

网站地图