`
x125521853
  • 浏览: 72712 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java语言基础试题

阅读更多

1.Java是怎样跨平台的,javac.exe,java.exe的作用是什么?

   答:Java是通过Java虚拟机跨平台的,不同的平台使用不同的虚拟机,编译的Java字节码文件是相同的。

        javac.exe:是用来编译Java文件的,将Java文件编译成字节码文件,再用虚拟机上运行。

        java.exe:是用来解释执行Java字节码文件的。

 

2.Java的编码规范请写出四点, Java的注释有哪几种?

   答:(1).文件名必须要和类名一样。

         (2).必须区分大小写。

         (3).括号要成对出现。

         (4). 缩进。

       Java的注释有三种:

         第一种是 / / 注释 这种注释只注释一行

         第二种是/* */注释 这种注释可以注释多行

         第三种是/****/注释,文档注释

 

3.请写出Java的八种基本类型以及它们对应的包装类名称(用英文写), 包装类能够将什么转换成基本类型?

   答:int----------------Integer

        short--------------Short     

        byte---------------Byte

        float---------------Float

        double------------Double

        long---------------Long

        char---------------Character

        boolean-----------Boolean

     包装类能够将String转换成基本类型

 

4.short a = 1;

   a = a + 1; 请给出程序运行结果, 并说明原因.  

   答:结果错误,因为short型运行时自动提升为int型,所以要进行强转。

 

   short a = 1;

   a += 1;请给出程序运行结果, 并说明原因.

   答:结果正确,因为a+=1强转已经在虚拟机内部解决。

 

5.Java语言的基本数据类型之间可以进行类型转换,类型转换有几种转换方式?如果进行基本类型之间的类型转换,请分别举例说明,并说明类型转换时应该注意哪些地方?

   答:强制类型转换、自动类型转换

        强转示例:

        short i =1;

        i =(short)i+1;

 

        自动示例:

        short i =1;

        int j = i+1;

 

6.三元运算符可以表示一个简单的if else语句,将”如果a>0,a=0,否则a=1”这句描述用三元运算符”?:”来表示.

   答:a = a>0?0:1;

 

7.我要1000-9999之间的随机数,该怎么得到,请写出代码.

   提示:方式一: Math.random()方法返回一个0-1之间的double类型的随机数

         方式二: int[] num = {0,1,2,3,4,5,6,7,8,9},随机四个下标,将对应的数取出来,然后将值连接起来

class SuiJi{
    public static void main(String[] args){
        for(int i = 0; i<10000; i++){ 
            double val = Math.random()*10000;
            if((int) val>1000){ 
               System.out.println((int)val);
            }
        }
	}
}

 

 

8.编写一个程序,打印出1-100之间的奇数,并算出所有的奇数和,并打印出来

class JiShu {
	public static void main(String[] args){
		int std = 0;
		for(int i = 1;i<100;i++){
			if(i%2 !=0){
				std+=i;
				System.out.println(i);
			}
		}
		System.out.println(std);
	}
}

 

9.switch语句中的指定的变量,只能是哪几种类型? switch中如果省略了break,会怎么执行?

   答:int型、byte型、short型、char型。

        switch中如果省略了break,程序一直执行下去,直到碰到break语句跳出,否则一直执行下去,直到程序结束。

 

10.编写一个程序,打印出以下图形,行数自己确定

                  *

                 ***

                *****

class Sjx{
	public static void main(String[] args){
		int a = 5;
		for(int i = 1;i < a;i++){
			for(int j = 1;j <= a-i;j++){
				System.out.print(" ");
			}
			for(int k =0;k< 2 *i -1;k++ ){
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

 

11.months是一个代表12个月 天数的数组,请写出代码初始化这个数组,必须两种方式

   答:方式一:int[] months = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};

        方式二:int[] months = new int[12];

                 months[0] = 31;

                 .............

                 .............

                 months[11] = 31;

 

12.int, char, String数组初始化后初始值分别是什么?

   答:int初始化后初始值为:0。

        char初始化后初始值为:''。

        String初始化后初始值为:null。

 

13.编写一个程序,使用for循环语句求二维数组{{1,2,3},{0,3,1},{5,3,4}}所有元素的和.

class ShuZu {
      public static void main(String[] args){
		   int[][] numArray = new int[][]{{1,2,3},{0,3,1},{5,3,4}};
		   int all = 0;
		   for (int i=0; i<numArray.length;i++){
			   for (int j=0; j<numArray[i].length;j++){
			    	System.out.print(numArray[i][j] + "   ");
				    all+= numArray[i][j];	
			   }
			   System.out.println();
		   }
		   System.out.println("sum=" + all);
	  }
}

 

 

14.编写程序,使用排序函数将数组{65,5,9,87,6,54,3,21}, 进行倒序(从大到小)排序, 并输出,请用方法的思想编写程序. .思想为:有一个工具,具有给数组排序的功能,和打印数组的功能.

    提示:导包代码: import java.util.Arrays;  排正序方法: Arrays.sort();

import java.util.Arrays;
class ArrayStd{
	int[] sortArray(int[] array){
		Arrays.sort(array);
		int[] newArray = new int[array.length];
		for(int i=0; i<array.length; i++){
			newArray[i] = array[array.length-1-i];
		}
		return newArray;
	}
	void printArray(int[] array){
		for(int i=0; i<array.length; i++){
			System.out.println(array[i]);
		}
	}
}
class Sort{
	public static void main(String[] args){
		ArrayStd at = new ArrayStd ();
		int[] numArray = new int[]{65,5,9,87,6,54,3,21};
		numArray = at.sortArray(numArray);
		at.printArray(numArray);
	}
}

 

15.如果访问数组中不存在的元素,会抛出什么异常信息.

   答:下标越界: ArrayIndexOutOfBoundsException

 

16.请说明String s = null, String s = “”这两种赋值有什么区别

    答:一个是没有初始化

          一个是初始化了但里面没有值

17.编写程序,使用字符串分割函数将”I’  m  a  String ”按空格分成多个子串,并输出分割后的子串. 请用方法的思想编写程序.思想为:有一个工具,具有分割字符串的功能(它能返回字符串数组),和打印字符串数组的功能.字符串的split()方法可以分割字符串,参数为条件,返回分割后的字符串数组

import java.util.Arrays;
class StringTool{
	String[] split(String str){
		return str.split(" ");
	}
	void printStringArray(String[] str){
		for(int i=0; i<str.length; i++){
			System.out.println(str[i]);
		}
	}
}
class FenGe{
	public static void main(String[] args){
		String str = "I'm a String";
		StringTool st = new StringTool();
		String[] strArray = st.split(str);
		st.printStringArray(strArray);
	}
}

 

18.请说说类和对象(实例)的关系

     答:类是:同一个类事物进行抽象出来的框架,规定了这类事物标准.

            对象是类的表现形式,是类的一个实体,需要用new 关键字去分配内存空间.

 

19.static 关键字的作用是什么, 它对类和对象的影响是什么, 怎么样调用static类型的变量和方法.静态代码块会在什么时候执行?

     答:static 关键字的作用是静态。

            影响是共享一个static数据,.调用static类型的变量和方法.只需使用 类名.变量 或者 类名.方法. 静态代码块会在类第一次加载的时候执行一次.

 

20.int[] a = new int[]{1,2,3};

     int[] b = a;

     答:a,b引用同一个地址空间,控制同一个数组,  所以a改变后对b是有影响。

 

21.程序题

     题目:实现学生信息系统中的学生增加,学生删除,学生列表三个功能,用方法的思想去实现.

import java.io.*;
class Student
{
	String stdName;
	String chineseMark;
	String mathMark;
	String englishMark;

	//学生初始化方法
	void studentInit(String stdName,String chineseMark,String mathMark,String englishMark)
	{
		//实现方法
		this.stdName = stdName;
		this.chineseMark = chineseMark;
		this.mathMark = mathMark;
		this.englishMark = englishMark;
	}
	//显示学生信息方法
	void studentPrint()
	{
		//实现方法
		System.out.println(stdName + "\t" + chineseMark + "\t" + mathMark + "\t" + englishMark);
	}
}

class StudentArrayTool
{ 
	Student[] stdArray = new Student[20];
	int x = 0;
	//数据库初始化方法
	void stdArrayInit()
	{
		//实现方法
		stdArray[x] = new Student();
		stdArray[x++].studentInit("张三","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("李四","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("王五","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("赵六","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("小王","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("小李","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("瓦纳","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("小桥","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("小红","100","100","100"); 
		stdArray[x] = new Student();
		stdArray[x++].studentInit("小明","100","100","100");
	}

	//获取学生个数方法
	int getStudentCount()
	{
		//实现方法
		int temp = -1;
		for(int i = 0;i < stdArray.length;i++)
		{
			if(stdArray[i] == null)
			{
				temp = i;
				break;
			}
		}
		return temp;
	}

	//判断学生是否重名
	int sameStdName(String stdName)
	{
		//实现方法
		int temp = -1;
		for(int i = 0;i < stdArray.length;i++)
		{
			if(stdArray[i] == null)
			{
				break;
			}
			if(stdName.equals(stdArray[i].stdName))
			{
				temp = i;
				break;
			}
		}
		return temp;
	}

	//获取输入的字符串方法
	String getInputString(String say) throws IOException
	{
		//实现方法
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.print(say);
		String temp = br.readLine();
		return temp;
	}

	//显示菜单方法
	void showMenu() throws IOException
	{
		//实现方法
		System.out.println("*****************************");
		System.out.println("*********学生信息系统********");
		System.out.println("*********1.学生信息录入******");
		System.out.println("*********2.学生信息删除******");
		System.out.println("*********3.学生信息列表******");
		System.out.println("*****************************");
		swi(getInputString("请选择功能:"));
	}
	void swi(String temp) throws IOException
	{
		char choose = '0';
		choose = temp.charAt(0);
		switch(choose)
		{
			case '1':
				insertStudent();
				break;
			case '2':
				deleteStudent();
				break;
			case '3':
				listStudent();
				break;
				default:
					
		}
	}

	//增加学生方法
	void insertStudent() throws IOException
	{
		//实现方法
		int temp = -1;
		String name = getInputString("请输入学生姓名");
		temp = sameStdName(name);
		if(temp != -1)
		{
			System.out.println("您输入的学生已存在");
			insertStudent();
		}
		else
		{
			stdArray[x] = new Student();
			stdArray[x].stdName = name;
			String mark = getInputString("请输入语文成绩");			
			stdArray[x].chineseMark = mark;
			mark = getInputString("请输入数学成绩");
			stdArray[x].mathMark = mark;
			mark = getInputString("请输入英语成绩");
			stdArray[x].englishMark = mark;		
			System.out.println("录入成功");
			showMenu();
		}		
	}

	//删除学生
	void deleteStudent() throws IOException
	{
		//实现方法
		int temp = -1;
		temp = sameStdName(getInputString("请输入学生姓名"));
		if(temp != -1)
		{
			for(int i = temp;i < stdArray.length -1;i++)
			{
				stdArray[i] = stdArray[i+1];
				int k = getStudentCount();
				stdArray[k] = null;
				showMenu();
			}
		}
		else
		{
			System.out.println("您输入的学生不存在");
			insertStudent();
		}
		
	}

	//显示学生列表
	void listStudent() throws IOException
	{
		//实现方法
		for(int i = 0;i < stdArray.length;i++)
		{
			if(stdArray[i] == null)
			{
				break;
			}
			stdArray[i].studentPrint();
		}		
	}

	 //程序运行
	void run() throws IOException
	{
		//实现方法
		showMenu();
	}
}

public class StudentSystem
{
	public static void main(String[] args) throws IOException
	{
		//程序运行
		StudentArrayTool g = new StudentArrayTool();
		g.stdArrayInit();
		g.run();

	}
}

 

 

 

分享到:
评论

相关推荐

    JAVA语言基础练习题.pdf

    JAVA语言基础练习题 本资源涵盖了JAVA语言的基础知识点,包括JAVA语言基础、JAVA语言程序设计基础等。下面是对每个知识点的详细解释: 一、JAVA语言基础 1. 并行机制:JAVA语言的并行机制是通过多线程实现的。 2....

    16、Java语言基础练习题及答案13页.rar

    文件名:16、Java语言基础练习题及答案13页.rar文件类型:word格式使用方式:直接解压,无密码

    java基础练习题(基础)精选

    Java基础练习题由本人整理并上传,非常适合于初学者加强巩固自己的知识,编程学好的唯一途径就是多练习。

    《java语言基础》练习题.doc

    Java语言基础知识点总结 Java语言基础知识点总结主要包括Java的基本概念、Java语言的特点、Java程序设计的基本结构、Java的数据类型、变量、运算符、控制流语句、数组、方法、面向对象编程、异常处理等。 一、Java...

    java基础练习题 (目前到集合内含三个小综合案例)

    总的来说,这份资料涵盖了从Java语言基础到集合框架的重要知识点,并提供了实战练习,对于Java初学者来说是非常宝贵的资源。通过反复练习和案例分析,你可以逐步提高编程技能,为深入学习Java高级特性和框架打下坚实...

    java语言程序设计基础篇第十版第十三章练习标准答案.pdf

    本资源提供了 Java 语言程序设计基础篇第十三章的练习标准答案,包括三个练习题的解决方案。这些练习题涵盖了 Java 语言的多个方面,例如面向对象编程、泛型、集合框架等。 知识点一:Java 面向对象编程 在第一个...

    Java基础练习代码

    总之,"Java基础练习代码"旨在通过实际的编程练习,帮助初学者掌握Java语言的基础知识和编程技巧。通过反复实践,不仅可以巩固理论概念,还能提升问题解决能力,为后续的高级Java学习打下坚实的基础。无论是菜鸟还是...

    Java语言程序设计-基础篇(原书第8版)

    《Java语言程序设计:基础篇(原书第8版)》以示例讲解解决问题的技巧,提供大量的程序清单和相应的提示,每章配有大量复习题和编程练习题,帮助读者掌握编程技术,并应用所学的技术解决实际应用程序开发中遇到的问题。...

    《JAVA语言程序设计》期末考试试题及答案_java期末考试_java_

    本资料《JAVA语言程序设计》期末考试试题及答案提供了全面的学习和复习指南,帮助学生理解和掌握Java编程的核心概念。 Java期末考试通常涵盖以下几个核心知识点: 1. **Java基础知识**:包括Java的历史、特点、...

    java语言程序设计 基础篇原书第10版part1

    本书是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每章配...

    Java语言程序设计(基础篇)习题答案

    这份资料可能包含一系列与Java编程相关的练习题及其解答,涵盖变量、数据类型、控制结构、函数、类和对象等基础知识。 1. **变量和数据类型**:Java提供了多种数据类型,包括基本类型(如int、double、boolean)和...

    Java语言程序设计 基础篇 第10版 梁勇 答案

    1. **Java语言基础**:Java是一种面向对象的编程语言,其特点包括跨平台性、安全性、高效性和稳定性。Java程序的编写基于类和对象,通过封装、继承和多态等面向对象特性实现代码复用和模块化。 2. **Java语法**:...

    JAVA语言程序设计基础篇编程题答案

    在JAVA语言程序设计基础篇中,编程题是学习过程中至关重要的一环。这些题目旨在帮助初学者巩固基础知识,理解和掌握JAVA编程的基本概念、语法结构以及常用数据类型和控制结构。本资料集包含了对这些基础编程题目的...

    java语言程序设计(基础篇)原书第十版 习题答案(部分)

    java语言程序设计(基础篇)原书第十版 课后习题答案,自己一个行一行写的代码,不是标准答案,但每个答案都测试过。 从第9章到第13章。 包含的题目有: 第九章:9.1-9.5 9.7-9.9 9.13 第十章:10.1 10.4-10.7 第十...

    Java基础练习40题

    "Java基础练习40题"是一个很好的资源,可以帮助初学者巩固和深化对Java的理解。这份练习涵盖了从基础语法到面向对象编程的各种概念,通过40个不同难度的题目,全面检验学习者在Java编程上的技能。 首先,100-109....

    (官方)Java语言程序设计(原书第8版)基础篇和进阶篇复习题和编程题答案

    3. **Even Numbered Exercises**:书中的偶数编号练习题通常涵盖更复杂或更具挑战性的概念,例如封装、反射、枚举类型和泛型。这些答案提供了如何运用这些技术的实际示例,有助于你深化理解并提升编程技巧。 4. **...

    Java语言程序设计试题

    "程序设计基础练习题2.txt"和"程序设计基础练习题3.txt"可能涵盖Java语言的基础知识,如变量、运算符、控制结构(if-else、switch、循环)、数组、方法等。这些基础是构建复杂程序的基础,需要扎实掌握。 "java经典...

    Java语言程序设计第10版(基础篇)复习题答案

    《Java语言程序设计第10版(基础篇)》是一本深入浅出的Java编程教材,旨在帮助初学者掌握这门强大的面向对象编程语言。复习题答案提供了对每一章节核心概念的检验和巩固,帮助读者确认对每个主题的理解是否到位。...

Global site tag (gtag.js) - Google Analytics