牛客题

牛客题解


解析:当编写一个ara漏代码文件时,此文件通常被称为卵泽单元(有时也被称为转泽单元)。每个编译单元都必须有一个后缀名java,而在编泽单元内则可以有一个publit类,该类的名称必须与文件的名称相同(包括大写,但不包文件的后缀名.java)。每个编驿单元只能有一个public类,否则编泽器就不会接受。如果在该编泽单元之中还有额外的类的话,那么在包之外的世界是无法看见这些类的,这是因为它们不是public类,而且它们主要用来为主public类提供支持。

解析:你就把内部类理解成类的成员,成员有4种访问权限吧,内部类也是!分别为private、protected、public以及默认的访问权限

枚举是引用类型,因为它们可以具有方法,并且如果具有main方法,也可以从命令行执行。

举个例子就懂了

String str1 = "str";
String str2 = "ing";		 
String str3 = "str" + "ing";//常量池中的对象		  
String str4 = str1 + str2; //在堆上创建的新的对象	  
String str5 = "string";//常量池中的对象
System.out.println(str3 == str4);//false
System.out.println(str3 == str5);//true
System.out.println(str4 == str5);//false

RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。

而TCP/IP是远程通讯的主要手段。

public class A2{ 
public static void main(String[] args){
    int[] a={2,4,6,8,3,6,9,12};
    doSomething(a,0,a.length-1);
    for(int i=0;i<=a.length-1;i++)
    System.out.print(a[i]+" ");
} 
private static void doSomething(int[] a,int start,int end){
    if(start<end){
        int p=core(a,start,end);
        doSomething(a,start,p-1);
        doSomething(a,p+1,end);
    }
}
private static int core(int[] a,int start,int end)
{
    int x=a[end];
    int i=start;
    for(int j=start;j<=end-1;j++){
        if(a[j]>=x){
            swap(a,i,j);
            i++;//交换了几次 
        }
    }//把最大的放到最后
    swap(a,i,end);//把最大的放到i的位置 
    return i;
} 
  
private static void swap(int[] a,int i,int j) 
{
    int tmp=a[i];
    a[i]=a[j];
    a[j]=tmp;
}
} 

是快排吧 总是以最后一个数作为区分 大的放前面 小的放后面 然后递归两个区间

每次排序,先拿前面的值依次和末尾值比较,比末尾值大的则交换,每次排序最大的值放到末尾;关键还没完,还要再和前面的值交换,将最大值放到前面。

checked exception:指的是编译时异常,该类异常需要本函数必须处理的,用try和catch处理,或者用throws抛出异常,然后交给调用者去处理异常。

runtime exception:指的是运行时异常,该类异常不必须本函数必须处理,当然也可以处理。

Thread的静态方法sleep,实例方法join;Object的实例方法wait;CyclicBarrier的实例方法await;都会抛出受检异常

Thread.sleep()抛出的InterruptException属于checked exception;IllegalArgumentException属于Runtime exception;

public static void main(String[] args) {
    String a = new String("myString");
    String b = "myString";
    String c = "my" + "String";
    String d = c;
    System.out.print(a == b);
    System.out.print(a == c);
    System.out.print(b == c);
    System.out.print(b == d);
}

A:a指向堆内存,b指向常量池,因此地址不相等,false

B:java有常量优化机制,c也指向常量池,且与b指向同一个,则a与c地址不相等,false;

C:b与c地址相等,true

D:d是c的副本,地址相同,所以b与d地址相等,true

import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}

局部变量,没有像成员变量那样类加载时会有初始化赋值,所以要使用局部变量时,一定要显式的给它赋值,也就是定义时就给它数值。

局部内部类定义在方法中,可以看成局部变量,局部本身就是访问权限修饰,不能有public,protected,public修饰,另外,普通方法中不能定义static内部类。 成员内部类定义在类中,可以看成成员变量,可以有public,protected,public,static修饰。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值