java基礎知識周測試題帶答案

來源:互聯網
上載者:User

標籤:最大   漢字   java開發   產生   簡單   位元組   種類   成員   標識   

  1. 簡單題(每題5分,共計50分)
  1. 簡述Java語言跨平台的原理

Java跨平台的特性,也就是同一份位元組碼檔案可以在不同的系統上執行,

      由不同系統中的Java虛擬機器負責翻譯成對應的機器指令。

  1. 寫出以下名詞的概念和各自作用

jre - Java運行時環境資訊,只要運行Java編寫的應用程式就需要安裝。

jdk - Java開發套件,只要編寫Java應用程式就需要安裝,該工具包中包含了jre。

jvm - Java虛擬機器,將位元組碼檔案解釋為機器指令。

javac.exe - Java編譯器,用於將進階原始碼檔案轉換為位元組碼檔案。

java.exe - Java解釋執行器,用於將位元組碼檔案通過Java虛擬機器解釋並執行起來。

  1. 簡述Java中變數的基本概念和定義形式

變數就是指在記憶體中申請的一Block Storage地區,用來儲存各種類型的資料。根據所儲存的資料大小不同,有各種不同資料類型的變數。具體的形式為: 

資料類型 變數名 = 初始值;  -其中=初始值可以省略,分號不可以省略。

  1. 變數的主要分類

按所屬的資料類型劃分:

基礎資料型別 (Elementary Data Type)變數

引用資料類型變數

按被聲明的位置劃分:

局部變數:方法或語句塊內部定義的變數

成員變數:方法外部、類的內部定義的變數

  1. 標識符的命名規則

(1)由字母、數字、底線以及美元$組成,數字不能開頭。     

(2)標識符長度沒有明確的限定,但是不要太長。

(3)不能與java中的關鍵字同名,如:public class int ...    

(4)區分大小寫。

(5)可以是漢字,但是不推薦使用。

  1. 簡述Java語言中的所有基礎資料型別 (Elementary Data Type)以及每種資料類型佔用記憶體空間的大小

描述整數的資料類型主要有:byte/short/int/long,分別佔用1個/2個/4個/8個位元組大小。

描述小數的資料類型主要有:float/double,分別佔用4個/8個位元組大小。

描述真假的資料類型有:boolean,佔用1個位元組大小。

描述字元的資料類型有:char,佔用2個位元組。

  1. 簡述二進位和十進位,十進位和二進位之間的轉換方法 

(1)非負十進位轉換為二進位

     除2取餘法,使用十進位整數不斷地除以2取出餘數,當商為0時反向組織所有位元字。

拆分法:就是將十進位整數拆分為多個2的次方組成的和。

(2)非負二進位轉換為十進位

   採用加權法,也就是將每個數字和當前的權重相乘,再加起來即可。

(3)負二進位轉換為十進位

   將二進位的每位元字按位取反,再加1,轉換為十進位後再添加負號。

(4)負十進位轉換為二進位

   將十進位整數的絕對值拆分為二進位,再按位取反,最後加1。

  1. 請寫出if語句的三種文法格式

(1)if(條件運算式)  {語句塊;}

(2)if(條件運算式)  {語句塊1;}

else  {語句塊2;}

(3)if(條件運算式1)  {語句塊1;} 

 else if(條件運算式2)  {語句塊2; }

... ...

 else  {語句塊3;}

  1. 請寫出聲明定義數組的方式(至少兩種)

元素類型[] 變數名 = new 元素類型[元素的個數];

元素類型[] 變數名 = {元素1,元素2...};

元素類型[] 變數名 = new 元素類型[]{元素1,元素2...}

  1. 述單個位元組表示的數值範圍並寫出推導過程。

非負數的表示範圍是:0000 0000 ~ 0111 1111  => 0 ~ 127  => 0 ~ 2^7-1

0111 1111 => 64 + 32 + 16 + 8 + 4 + 2 + 1 => 127

負數的表示範圍是:1000 0000 ~ 1111 1111    => -128 ~ -1 => -2^7 ~ -2^0

1000 0000 => 0111 1111 => 1000 0000 => 128 => -128

1111 1111 => 0000 0000 => 0000 0001 => 1   => -1   

綜上所述:

    1個位元組所能表示的十進位整數範圍是:-128 ~ 127,也就是-2^7 ~ 2^7-1。

  1. 編程題(每題10分,共計50分)
  1. 使用if-else if-else分支結構根據使用者輸入的成績判斷所在的等級並列印出來。

   [90 ~ 100]  列印等級A

   [80 ~ 89]   列印等級B

   [70 ~ 79]   列印等級C

   [60 ~ 69]   列印等級D

   [0 ~ 59]    列印等級E

import java.util.Scanner;

public class text {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("請輸入查詢成績: ");

int aa = sc.nextInt();

if(aa >= 90 && aa<=100) {

System.out.println("A");

}

if(aa>=80&&aa<=89) {

System.out.println("B");

}

if(aa>=70&&aa<=79) {

System.out.println("C");

}

if(aa>=60&&aa<=69) {

System.out.println("D");

}

if(aa>=0&&aa<=59) {

System.out.println("E");

}

}

  1. 提示使用者輸入一個正整數並逆序輸出。 

import java.util.Scanner;

public class text {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("請輸入整數: ");

int  bb = sc.nextInt();

int num=0;

while (bb!=0) {

num = bb%10+num*10;

bb = bb/10;

}

System.out.println("倒序輸出:"+num);

}

   3.編程實現1 - 100之間隨機數的產生,給使用者十次輸入機會來猜出產生的數字,如果輸入數字等於隨機數就列印“恭喜你猜對了”,並結束迴圈;如果輸入數字小於隨機數就列印“太小了,再大一點吧”;如果輸入數字大於隨機數就列印“太大了,再小一點吧”;如果十次機會用完也沒有猜對就列印“太笨了,下次再來吧”。

 

import java.util.Random;

 

import java.util.Scanner;

 

 public class text {

 

public static void main(String[] args) {

 

int number = (int)(Math.random()*100);

 

Scanner sc = new Scanner(System.in);

 

int a=0; 

 

do {

 

a++;

 

if(a>10) {

 

System.out.println("太笨了,下次再來吧");

 

break;

 

}

 

System.out.println("請輸入100以內整數: ");

 

int  bb = sc.nextInt();

 

if(bb<number) {

 

System.out.println("太小了,再大一點吧");

 

}else if(bb>number) {

 

System.out.println("太大了,再小一點吧");

 

}else{

 

System.out.println("恭喜你猜對了");

 

break;

 

}

 

System.out.println("還剩"+(10-a)+"次機會");

 

}while(true); 

 

}

 

}

  4.使用雙重迴圈列印2~200之間的所有素數。

 

public class text {

 

public static void main(String[] args) {

 

for (int i = 2; i < 200; i++) {

 

boolean a = true;

 

for (int j = 3; j < i; j++) {

 

if(i%j==0) {

 

a = false;

 

break;

 

}

 

}

 

if(a) {

 

System.out.println(i);

 

}

 

}

 

}

 

}  

  1. 已知一個int數組arr = {12,4,22,11,24,9},找出最大值和最小值並列印。

 

 

 

public class text {

 

public static void main(String[] args) { 

 

int []arr ={12,4,22,11,24,9};  

 

int min =0;

 

int max =0;

 

min=max=arr[0];

 

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

 

if(arr[i]>max)   

 

max=arr[i];

 

if(arr[i]<min)  

 

min=arr[i];

 

}

 

System.out.println("數組的最大值是:"+max);

 

System.out.println("數組的最小值是:"+min); 

 

}

 

 

 

}

 

java基礎知識周測試題帶答案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.