java 程序题,竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米.

java 程序题,竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米.,第1张

public class Test {

public static void main(String[] args) {

int max = 1000;

int min = 10;

while(max>min ){

max/=2;

Systemoutprintln(max);

}

}

}

1:ObjectInputStream ,ObjectOutputStream

2:try{}

3:10

4:多继承

5:new

6:int , char

7:KeyListener

8:Applet

以上答案尽请参考

1定义一个Student类,包括学号,姓名,成绩三个字段,生成get,set和toString方法,实现Comparable接口,重写toCompare方法,方法里就是本题的逻辑,先按成绩比较,再按学好比较,使用TreeSet不实现这个接口会报错。

package Collection;

public class Student implements Comparable<Student> {

private long sno;

private String name;

private int score;

public long getSno() {

return sno;

}

public void setSno(long sno) {

thissno = sno;

}

public String getName() {

return name;

}

public void setName(String name) {

thisname = name;

}

public int getScore() {

return score;

}

public void setScore(int score) {

thisscore = score;

}

@Override

public int compareTo(Student o) {

// TODO Auto-generated method stub

if (thisscore < oscore) {

return 1;

} else if (thisscore > oscore) {

return -1;

} else {

if(thissno<osno) {

return 1;

}else {

return -1;

}

}

}

@Override

public String toString() {

return "Student [sno=" + sno + ", name=" + name + ", score=" + score + "]";

}

}

2然后写测试类,生成十个学生,然后插入treeset,直接遍历输出就是排序好的结果。

package Collection;

import javautilRandom;

import javautilTreeSet;

public class TreeSetTest {

public static void main(String[] args) {

TreeSet<Student> ts=new TreeSet<Student>();

for(int i=0;i<10;i++) {

Student stu=new Student();

stusetName("student"+i);

stusetSno(170201+i);

stusetScore(90+new Random()nextInt(10));

tsadd(stu);

}

for(Student stu:ts) {

Systemoutprintln(stu);

}

}

}

最后贴一个运行结果

这题意义是什么没懂啊明明要算周长偏偏给个面积,是坑么(再有个公里和米的单位换算就ok了) public static final double PI = 314159265358979323846; / Returns the trigonometric sine of an angle Special cases: If the argu

一般需从三点入手。

一、程序本身支持高并发。

简单来说就是要优化我们的代码。

1、避免使用错误的方式,尽量不用instanceof做条件判断,不要将数组声明为:public static final 。

2、使用java中效率高的类,比如尽量使用HashMap 和ArrayList ,除非必要,否则不推荐使用HashTable和Vector ,后者由于使用同步机制,而导致了性能的开销。

3、尽量指定类的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如javalangString。为String类指定final防止了人们覆盖length()方法。另外,如果指定一个类为final,则该类所有的方法都是final。Java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关)。此举能够使性能平均提高50% 。

4、尽量重用对象,避免频繁的使用new对象。对于整个应用只需要存在一个实例的类,我们可以使用单例模式。对于工具类可以使用静态方法的方式访问。

用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用。但如果一个对象实现了Cloneable接口,我们可以调用它的clone()方法。clone()方法不会调用任何类构造函数。

在使用设计模式(Design Pattern)的场合,如果用Factory模式创建对象,则改用clone()方法创建新的对象实

例非常简单。例如,

Java代码  收藏代码

下面是Factory模式的一个典型实现:   

public static Credit getNewCredit() {  

    return new Credit();  

}   

改进后的代码使用clone()方法,如下所示:  

private static Credit BaseCredit = new Credit();  

public static Credit getNewCredit() {  

    return (Credit) BaseCreditclone();  

}

上面的思路对于数组处理同样很有用。

5、特别是String 对象的使用中,出现字符串连接情况时应用StringBuffer 代替。由于系统不仅要花时间生成对象,以后可能还需花时间对这些对象进行垃圾回收和处理。因此,生成过多的对象将会给程序的性能带来很大的影响。

6、StringBuffer 的使用:StringBuffer表示了可变的、可写的字符串。

它有三个构造方法 :

StringBuffer ();            //默认分配16个字符的空间  

StringBuffer (int size);  //分配size个字符的空间  

StringBuffer (String str);  //分配16个字符+strlength()个字符空间

你可以通过StringBuffer的构造函数来设定它的初始化容量,这样可以明显地提升性能。这里提到的构造函数是StringBuffer(int length),length参数表示当前的StringBuffer能保持的字符数量。你也可以使用ensureCapacity(int minimumcapacity)方法在StringBuffer对象创建之后设置它的容量。首先我们看看StringBuffer的缺省行为,然 后再找出一条更好的提升性能的途径。

StringBuffer在内部维护一个字符数组,当你使用缺省的构造函数来创建StringBuffer对象的时候,因为没有设置初始化字符长度,StringBuffer的容量被初始化为16个字符,也就是说缺省容量就是16个字符。当StringBuffer达到最大容量 的时候,它会将自身容量增加到当前的2倍再加2,也就是(2旧值+2)。如果你使用缺省值,初始化之后接着往里面追 加字符,在你追加到第16个字符的时候它会将容量增加到34(216+2),当追加到34个字符的时候就会将容量增加到 70(234+2)。无论何事只要StringBuffer到达它的最大容量它就不得不创建一个新的字符数组然后重新将旧字符和 新字符都拷贝一遍――这也太昂贵了点。所以总是给StringBuffer设置一个合理的初始化容量值是错不了的,这样会带来 立竿见影的性能增益。

StringBuffer初始化过程的调整的作用由此可见一斑。所以,使用一个合适的容量值来初始化StringBuffer永远都是一个最佳的建议。

7、尽量使用局部变量,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较快。其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢。另外,依赖于具体的编译器/JVM,局部变量还可能得到进一步优化。请参见《尽可能使用堆栈变量》。

8、不要重复初始化变量  默认情况下,调用类的构造函数时, Java会把变量初始化成确定的值:所有的对象被设置成null,整数变量(byte、short、int、long)设置成0,float和double变量设置成00,逻辑值设置成false。当一个类从另一个类派生时,这一点尤其应该注意,因为用new关键词创建一个对象时,构造函数链中的所有构造函数都会被自动调用。

9、在JAVA + ORACLE 的应用系统开发中,java中内嵌的SQL语句尽量使用大写的形式,以减轻ORACLE解析器的解析负担。

10、Java 编程过程中,进行数据库连接、I/O流 *** 作时务必小心,在使用完毕后,即使关闭以释放资源。因为对这些大对象的 *** 作会造成系统大的开销,稍有不慎,会导致严重的后果。

11、由于JVM的有其自身的GC机制,不需要程序开发者的过多考虑,从一定程度上减轻了开发者负担,但同时也遗漏了隐患,过分的创建对象会消耗系统的大量内存,严重时会导致内存泄露,因此,保证过期对象的及时回收具有重要意义。JVM回收垃圾的条件是:对象不在被引用;然而,JVM的GC并非十分的机智,即使对象满足了垃圾回收的条件也不一定会被立即回收。所以,建议我们在对象使用完毕,应手动置成null。

12、在使用同步机制时,应尽量使用方法同步代替代码块同步。

13、尽量减少对变量的重复计算

例如:

for(int i = 0;i < listsize; i ++) {  

            …  

}  

应替换为:  

for(int i = 0,int len = listsize();i < len; i ++) {  

            …  

}

14、尽量采用lazy loading 的策略,即在需要的时候才开始创建。

例如:    

String str = “aaa”;  

if(i == 1) {  

    listadd(str);  

}  

应替换为:  

if(i == 1) {  

    String str = “aaa”;  

    listadd(str);  

}

15、慎用异常

异常对性能不利。抛出异常首先要创建一个新的对象。Throwable接口的构造函数调用名为fillInStackTrace()的本地(Native)方法,fillInStackTrace()方法检查堆栈,收集调用跟踪信息。只要有异常被抛出,VM就必须调整调用堆栈,因为在处理过程中创建了一个新的对象。 异常只能用于错误处理,不应该用来控制程序流程。

16、不要在循环中使用trycatch,应把其放置在最外层。

17、合理的使用Java类 javautilVector。

简单地说,一个Vector就是一个javalangObject实例的数组。Vector与数组相似,它的元素可以通过整数形式的索引访问。但是,Vector类型的对象在创建之后,对象的大小能够根据元素的增加或者删除而扩展、缩小。请考虑下面这个向Vector加入元素的例子:

Java代码  收藏代码

Object obj = new Object();  

Vector v = new Vector(100000);  

for(int I=0;  

I<100000; I++) { vadd(0,obj); }

计算机二级考试科目:

C语言程序设计 、VB语言程序设计 、Java语言程序设计 、Access数据库程序设计 、C++语言程序设计 、MySQL数据库程序设计 、Web程序设计 、MS Office高级应用 、Python语言程序设计

考试为电脑上机考试,时间为120分钟。

其中,程序设计/办公软件高级应用级。考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类等;二级还包括办公软件高级应用能力,要求参试者具有计算机应用知识及MS Office办公软件的高级应用能力,能够在实际办公环境中开展具体应用。

扩展资料:

报名者不受年龄、职业、学历等限制,均可根据自己学习情况和实际能力选考相应的级别和科目。考生可按照省级承办机构公布的流程在网上或考点进行报名。

每次考试具体报名时间由各省级承办机构规定,可登录各省级承办机构网站查询。

NCRE考试实行百分制计分,但以等第形式通知考生成绩。成绩等第分为“优秀”、“良好”、“及格”、“不及格”四等。100-90分为“优秀”,89-80分为“良好”,79-60分为“及格”,59-0分为“不及格”。

考试成绩优秀者,在证书上注明“优秀”字样;考试成绩良好者,在证书上注明“良好”字样;考试成绩及格者,在证书上注明“合格”字样。

自2019年3月考试起,二级语言类及数据库类科目(即除MS Office高级应用外的其他二级科目)调整获证条件为:总分达到60分且选择题得分达到50%及以上(即选择题得分要达到20分及以上)的考生方可取得合格证书。

参考资料:

中国教育考试网-考试介绍

1、下列各项当中哪一个编译不会出错 ( C )

A) Byte b = new Byte(123) B) Byte b = new Byte("123");

C) Byte b = new Byte() ; b = 123 D) Byte b = new Byte((int)1234)

2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为 ( A )

A) static void method( ) B) public void method( )

C) final void method( ) D) abstract void method( )

4、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( C )

A) 找到合适的例外类型后继续执行后面的catch

B) 找到每个符合条件的catch都执行一次

C) 找到合适的例外类型后就不再执行后面的catch

D) 对每个catch都执行一次

5、在java程序中,下列关于线程的说法错误的是: ( B )

A) run方法是运行线程的主体

B) 多个进程运行时执行顺序是按顺序执行的

C) 如果线程死亡,它便不能运行

D) 在java中,高优先级的可运行线程会抢占低优先级线程

6、在Java语言中,那一个是最基本的元素( C )

A、方法 B、包 C、对象 D、接口

7、如果有2个类A和B,A类基于 B类,则下列描述中正确的一个是( B )。

A、这2个类都是子类或者超类 B、A是B超类的子类

C、B是A超类的子类 D、这2个类都是对方的子类

8、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类( C )

A、abstract B、private C、protected D、不使用保留字

9、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么( D )

A、13个字节码文件,扩展名是class B、1个字节码文件,扩展名是class

C、3个字节码文件,扩展名是java D、3个字节码文件,扩展名是class

10、下列属于Java语言的特点的一项是( B )。

A、运算符重载 B、类间多重继承 C、指针 *** 作 D、垃圾回收

13、下列关于Java程序结构的描述中,不正确的一项是( C )。

A、一个Java源文件中可以包括一个package语句

B、一个Java源文件中可以包括多个类定义,但是只能有一个public类

C、一个Java源文件中可以有多个public类

D、源文件名与程序类名必须一致

14、下列说法正确的一项是( C )。

A、java1angInteger是接口 B、java1angRunnable是类

C、Doulble对象在iava1ang包中 D、Double对象在java1angObject包中

15、下列关于类、包和源文件的描述中,不正确的一项是( D )。

A、一个包可以包含多个类 B、一个源文件中,可能有一个公共类

C、属于同一个包的类在默认情况下可以相互访问 D、系统不会为源文件创建默认的

16、关于JDBC访问数据库的说法错误的是: ( D )

A) 建立数据库连接时,必须加载驱动程序,可采用ClassforName()实现

B) 用于建立与某个数据源的连接可采用DriverManager类的getConnection方法

C) 建立数据库连接时,必须要进行异常处理

D) JDBC中查询语句的执行方法必须采用Statement类实现

以上就是关于java 程序题,竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米.全部的内容,包括:java 程序题,竹竿长10米,每天截取一半,过多少天后,竹竿长度会小于10厘米.、Java语言程序设计,填空题、一道Java编程题,拜托了各位大神等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9780119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存