Java面向对象编程(25)

简介: Java面向对象编程(25)

下面有关JVM内存,说法错误的是?

A. 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的

B. Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的

C. 方法区用于存储JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,是线程隔离的

D. 原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

答案:C

下列程序段的输出结果是:( )

public void complicatedexpression_r(){
int x=20, y=30;
boolean b;
b = x > 50 && y > 60 || x > 50 && y < -60 || x < -50 && y > 60 || x < -50 && y < -60;
System.out.println(b);
}

A. true

B. false

C. 1

D. 0

答案:B

输入流将数据从文件,标准输入或其他外部输入设备中加载道内存,在 java 中其对应于抽象类()及其子类。

A. java.io.InputStream

B. java.io.OutputStream

C. java.os.InputStream

D. java.os.OutputStream

答案:A

以下程序的输出结果是

public class Print{
static boolean out(char c){
System.out.print(c);
return true;
}
public static void main(String[] argv){
int i = 0;
for(out('A');out('B') && (i<2);out('C')){
i++;
out('D');
}
}
}

A. ABDCBDCB

B. BCDABCD

C. 编译错误

D. 运行错误

答案:A

下面关于程序编译说法正确的是()

A. java语言是编译型语言,会把java程序编译成二进制机器指令直接运行

B. java编译出来的目标文件与具体操作系统有关

C. java在运行时才进行翻译指令

D. java编译出来的目标文件,可以运行在任意jvm上

答案:C

下面那些情况可以终止当前线程的运行?

A. 当一个优先级高的线程进入就绪状态时

B. 抛出一个异常时

C. 当该线程调用sleep()方法时

D. 当创建一个新线程时

答案:B

下面程序的运行结果:()

public static void main(String args[]) {
 Thread t=new Thread(){
 public void run(){
 dianping();
 }
 };
 t.run();
 System.out.print("dazhong"); }
 static void dianping(){
 System.out.print("dianping");
}

A. dazhongdianping

B. dianpingdazhong

C. a和b都有可能

D. dianping循环输出,dazhong夹杂在中间

答案:B

public interface IService {String NAME="default";}

默认类型等价表示是哪一项:

A. public String NAME="default";

B. public static String NAME="default";

C. public static final String NAME="default";

D. private String NAME="default";

答案:C

有以下类定义:

abstract class Animal{
abstract void say();
}
public class Cat extends Animal{
public Cat(){
System.out.printf("I am a cat");
}
public static void main(String[] args) {
Cat cat=new Cat();
}
}

运行后:

A. I am a cat

B. Animal能编译,Cat不能编译

C. Animal不能编译,Cat能编译

D. 编译能通过,但是没有输出结果

答案:B

类Test1定义如下:

public class Test1{//1
public float aMethod(float a,float b){}//2
//3
}//4

将以下哪种方法插入行3是不合法的。

A. public int aMethod(int a,int b){}

B. private float aMethod(int a,int b,int c){}

C. public float aMethod(float a,float b){}

D. public float aMethod(float a,float b,float c){}

答案:C

星际密码

题目描述:星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值 是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。

|1 1|^n => |Xn ..|

|1 0| |.. ..|

例如n=2时,

|1 1|^2 => |1 1| * |1 1| => |2 1|

|1 0| |1 0| |1 0| |1 1|

即2对应的数是“0002”。

输入描述:输入有多组数据。

每组数据两行:第一行包含一个整数n (1≤n≤100);第二行包含n个正整数Xi (1≤Xi≤10000)

输出描述:对应每一组输入,输出一行相应的密码。


 

//星际密码
public class Main40 {
    public static void main(String[] args) {
        int[] nums=new int[10001];
        nums[1]=1;
        nums[2]=2;
        for (int i = 3; i < 10001; i++) {
            nums[i]=nums[i-1]+nums[i-2];
            nums[i]=nums[i]%10000;
        }
        Scanner sc=new Scanner(System.in);
        while (sc.hasNext()){
            StringBuilder sb=new StringBuilder();
            int n=sc.nextInt();
            for (int i = 0; i < n; i++) {
                int xi=sc.nextInt();
                sb.append(String.format("%04d",nums[xi]));
            }
            System.out.println(sb);
        }
    }
}

树根

题目描述:数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些 数字加起来。如此进行下去,直到得到是一位数为止。

比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。

再比如39,把3 和9 加起来得到12,由于12 不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。

现在给你一个正整数,输出它的数根。

输入描述:输入包含多组数据。

每组数据数据包含一个正整数n(1≤n≤10E1000)。

输出描述:对应每一组数据,输出该正整数的数根。

 




public class Main41 {


   //树根


   public static void main(String[] args) {


       Scanner scanner=new Scanner(System.in);


       while (scanner.hasNext()){


           String line=scanner.nextLine();


           while (line.length() > 1){


               int sum=0;


               for (int i = 0; i < line.length(); i++) {


                   sum += line.charAt(i)-'0';


               }


               line=String.valueOf(sum);


           }


           System.out.println(line);


       }


   }


}


相关文章
|
6天前
|
设计模式 安全 Java
面向对象编程的精髓:Java设计模式 - 原型模式(Prototype)完全参考手册
【4月更文挑战第7天】原型模式是OOP中的创建型设计模式,用于通过复制现有实例创建新实例,尤其适用于创建成本高或依赖其他对象的情况。它包括Prototype接口、ConcretePrototype实现和Client客户端角色。优点是性能优化、避免子类化和动态增加产品族。实现包括定义原型接口、实现具体原型和客户端调用克隆方法。最佳实践涉及确保克隆正确性、选择深拷贝或浅拷贝及考虑线程安全。但需注意克隆方法管理、性能开销和循环引用等问题。在Java中,实现Cloneable接口和覆盖clone方法可实现原型模式。
|
6天前
|
安全 Java 数据安全/隐私保护
|
6天前
|
Java
04|零基础玩转面向对象编程:Java OOP
04|零基础玩转面向对象编程:Java OOP
7 0
|
6天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
6天前
|
存储 Java 程序员
Java面向对象编程的基础概念解析
Java面向对象编程的基础概念解析
17 0
|
6天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
31 1
|
6天前
|
Java
Java从入门到精通:1.1.2深入理解Java的面向对象编程概念
Java从入门到精通:1.1.2深入理解Java的面向对象编程概念
|
6天前
|
Java Scala C#
Java 17 新特性揭秘:密封类的华丽登场,面向对象编程再进化
Java 17 新特性揭秘:密封类的华丽登场,面向对象编程再进化
28 0
|
6天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
95 3
|
6天前
|
Java
Java面向对象编程
Java面向对象编程