java基础知识试题及答案

java基础知识试题及答案简单题 每题 5 分 共计 50 分 简述 Java 语言跨平台的原理 Java 跨平台的特性 也就是同一份字节码文件可以在不同的系统上执行 由不同系统中的 Java 虚拟机负责翻译成对应的机器指令 写出以下名词的概念和各自作用 jre Java 运行时环境信息 只要运行 Java 编写的应用程序就需要安装 jdk Java 开发工具包 只要编写 Java 应用程序就需要安装 该工具包中包含了 jre

大家好,我是讯享网,很高兴认识大家。



  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的次方组成的和。

java基础知识试题及答案(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);

}

}

小讯
上一篇 2024-12-31 21:32
下一篇 2025-01-02 21:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/8674.html