JAva基礎面接問題及びプログラミング問題

3605 ワード

一プログラム問題
1.101-200の間に何個の素数があるかを判断し、全ての素数を出力する.(この問題は筆記試験でよく試験する)
package day1;

public class Day1{ 
	public static void main(String []args){  
		int count=0;
		for(int i=101;i<200;i+=2){
			boolean b=false;{
			for(int j=2;j<=Math.sqrt(i);j++){
				if(i%j==0)
				{b=false;break;}
				else{b=true;}
				}
				if(b==true){
					count++;
					System.out.println(i);
					}
		}
		}
		System.out.println("101 200      :"+count);
	}
    }
		

2.2つの正の整数mとnを入力し、その最大公約数と最小公倍数を求める.(学校の招筆試験の問題は試験したことがある)
package study;
import java.util.Scanner;

public class study {
	
	public static void main(String[] args) {
		int m,n,a,b;
		Scanner s = new Scanner(System.in);
		System.out.print( "     :");
		m = s.nextInt();   
		n = s.nextInt();
		a = gys(m,n);
		b = m*n / a;		
		System.out.println("     :"+a);
		System.out.println("     :"+b);
	}	
		public static  int gys(int m,int n){
			while (true) {
				if ((m = m % n) == 0)
				return n;
				if ((n = n % m) == 0)
				return m;
		}	
	}
}

3.1+2を求める!+3!+...+20!の和
package day1;

public class Day1{ 
	public static void main(String []args){  
		long s,sum=0;
		for(long i=1;i<=20;i++){
			{s=1;
			for(long j=1;j<=i;j++){
				s*=j;
				}
			sum=sum+s;	
		}
		}
		System.out.print(sum);
	}
    }
		

4.再帰的な方法で5を求める!
package day1;

public class Day1{ 
	public static void main(String []args){  
		int x=5;
		int jc=Fac(x);
		System.out.println("5!="+jc);}
	public static int Fac(int x){
		if(x>1)
			return(x*Fac(x-1));
		else 
			return 1;			
	}	
    }
		

5.3個の数a,b,cを入力し、大きさ順に出力する.
package day4;

import java.util.Scanner;

public class day4 {

	public static void main(String[] args) {
		double a,b,c,t;
		Scanner s = new Scanner(System.in);
		System.out.print( "     :");
		a = s.nextDouble();   
		b = s.nextDouble();
		c = s.nextDouble();
		if(a

二概念と知識点
1.javaにおけるごみ回収の目的は何ですか.ごみの回収はいつ行いますか.System.gc()とRuntime.gc()は何をしますか?
参照されていないオブジェクトが占有するメモリ領域を、アイドル時間に不定時に動的に回収するために使用します.
JVMによって決定され、実行時は間欠的に実行され、JVMは通常、メモリが不足していると感じたときにゴミ回収操作を実行します.
GCの稼働を通知しますが、すぐに開始するか、ゴミ回収を遅らせるかはJVMによって異なります.
2.Javaスタックの構造はどんなものですか.スタック内の永続世代(Perm Gen space)とは?
JVMのスタックはランタイムデータ領域であり、すべてのクラスのインスタンスと配列はスタックにメモリを割り当てます.JVMの起動時に作成されます.オブジェクトが占めるスタックメモリは、自動メモリ管理システム、すなわちゴミ収集器によって回収されます.スタックメモリは、生存と死亡のオブジェクトから構成されます.生きているオブジェクトはアプリケーションがアクセスでき、ゴミ回収されません.死亡したオブジェクトは,アプリケーションがアクセスできず,ゴミ収集器によって回収されていないオブジェクトである.ゴミ収集器がこれらのオブジェクトを回収するまで、スタックのメモリ領域を占めています.
3.Javaでは、対象はいつゴミ回収できますか?
オブジェクトが現在このオブジェクトを使用しているアプリケーションに触れられなくなった場合、このオブジェクトは回収されます.
4.オブジェクト向けプログラミングの特性
抽象性継承性;パッケージ性;たじょうたいせい
5.Java仮想マシンとは?なぜJavaは「プラットフォームに関係のないプログラミング言語」と呼ばれているのでしょうか.
AVa仮想マシンはJavaバイトコードを実行できる仮想マシンプロセスである.Javaソースファイルは、Java仮想マシンによって実行可能なバイトコードファイルにコンパイルされる.Javaは、プログラマが各プラットフォームに対して単独で書き換えたり再コンパイルしたりする必要がなく、アプリケーションが任意のプラットフォームで実行できるように設計されています.Java仮想マシンは、最下位のハードウェアプラットフォームの命令長やその他の特性を知っているため、これを可能にします.
6.Stringは最も基本的なデータ型ですか?
いいえ、stringは参照データ型です.
7.intとIntegerの違いは何ですか?
Javaには、参照タイプと元のタイプ(または組み込みタイプ)の2つの異なるタイプがあります.Intはjavaの元のデータ型であり、Integerはjavaがintに提供するパッケージクラスです.Javaは元のタイプごとにパッケージクラスを提供します.
8.&と&&の違い
1、短絡と&&:条件1&&条件2は、2つの条件が同時に真であり、結果は真であり、1が偽であれば2、と&:条件1&条件2は判断されず、2つだけが真であり、結果は真であり、1が偽であれば2は判断する必要がある
9.配列にlength()という方法はありますか?
配列にはlength()という方法はなく、lengthの属性があります.
10.Stringタイプを継承できますか?
stringはfinalで、継承できません