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中变量的基本概念和定义形式

变量就是指在内存中申请的一块存储区域,用来存储各种类型的数据。根据所存储的数据大小不同,有各种不同数据类型的变量。具体的形式为:

数据类型 变量名 = 初始值;  -其中=初始值可以省略,分号不可以省略。

  1. 变量的主要分类

按所属的数据类型划分:

基本数据类型变量

引用数据类型变量

按被声明的位置划分:

局部变量:方法或语句块内部定义的变量

成员变量:方法外部、类的内部定义的变量

  1. 标识符的命名规则

(1)由字母、数字、下划线以及美元$组成,数字不能开头。

(2)标识符长度没有明确的限定,但是不要太长。

(3)不能与java中的关键字同名,如:public class int ...

(4)区分大小写。

(5)可以是汉字,但是不推荐使用。

  1. 简述Java语言中的所有基本数据类型以及每种数据类型占用内存空间的大小

描述整数的数据类型主要有: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);

}

}

原文地址:https://www.cnblogs.com/kindsong/p/9601597.html

时间: 2024-11-05 22:58:15

java基础知识周测试题带答案的相关文章

java基础知识回顾之javaIO类--File类应用:删除带内容的目录

/** * 深度删除一个带内容的目录 * 原理:必须从里往外删除,需要深度遍历 * @author Administrator * */ public class FileDeleteList { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File dir = new File("E:\\复件 demodir"); removedir(

java面向对象周测带答案

java面向对象周测带答案 一.简答题(每题5分,共计40分)1.什么是类?什么是对象?类与对象的关系是什么? 类本质上就是分类的意思,也就是具有相同共性的一类事物的抽象描述.类就是一种用户可以自定义的引用数据类型,用于包装描述属性的成员变量,和用于描述行为的成员方法,换句话说,类可以用于描述多个不同类型的数据.类是一种抽象的概念,用于描述对象创建的模板,而对象是客观存在的实体,本质上就是内存空间中的一块区域,对象的数据结构取决于类. 2.请写出类.属性.行为的定义格式,以及引用和对象的定义格式

第1天:了解Java基础知识

Java的优势 1. 简单 不像C或者C++语言,Java中省去了对指针的操作.但是,Java中并没有省去指针,代替指针的是一种新的变量--引用,引用也是保存一个对象的内存地址. 2.方便 Java虚拟机自带垃圾回收器,能够自动回收内存资源.而C和C++语言,需要开发人员手动进行内存资源回收. 3.安全 不支持指针操作 4.平台无关性 Java语言是跨平台的,一次编译,到处运行. 而且,不同平台,C语言中数据类型所占的位数是不同的,而Java语言中,数据类型所占的位数是固定的. 5.面向对象 J

学习Spring必学的Java基础知识(1)----反射

引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”.以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助.): [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/1123293 [3] 属性

学习Spring必学的Java基础知识(1)----反射(转)

引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓"登高必自卑,涉远必自迩".以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助.): [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/1123

Java基础知识总结(一)

<Java基础知识总结>系列是对自己学习Java历程中知识的一个总结,也是为自己找工作前知识的回顾,为找工作奠定基础. 1.Identifiers:标识符 ①Names of class,method and variable:用于类名.方法名.变量名 ②Begin with character,"_" or "$":标识符不能以数字开头 ③Case sensitive:大小写敏感(区分大小写) ④No length limitation:长度无限制 ⑤

java基础知识回顾之---java StringBuffer类

/*         * StringBuffer:就是字符串缓冲区,线程安全.         * 用于存储数据的容器.         * 特点:         * 1,长度的可变的.          * 2,可以存储不同类型数据.         * 3,最终要转成字符串进行使用.         * 4,可以对字符串进行修改.         *          * 构造方法:         * StringBuffer() :构造一个其中不带字符的字符串缓冲区,其初始容量为 1

主题:学习Spring必学的Java基础知识(8)----国际化信息

引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓"登高必自卑,涉远必自迩".以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Java基础知识,希望对大家有所帮助.):[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081[2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/112329

沉淀,再出发:Java基础知识汇总

沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的语法,对象的定义,类.接口.继承.静态.动态.重载.覆盖这些基本的概念和使用方法,到稍微高级一点的多线程,文件读写,网络编程,GUI使用,再到之后的反射机制.序列化.与数据库的结合等高级一点的用法,最后将设计模式应用其中,产生了一个个新的概念,比如Spring.Spring MVC.Hibernat