Java复习三


Java基础知识点

  • 下列哪个声明是错误的?(B)
    A. int i=10;
    B. float f=1.1;//由于java中默认带小数的是double类型,所以将它赋值为比double小的float类型是错误的。
    C. double d=34.4;
    D. byte b=127;
  • 下面程序哪个语句是正确的?(C)
    A. byte a=0,b=3; byte c =a+b;//byte类型的数据不能直接做相加减,java会默认将byte类型数据转换为int类型,所以c为int类型,无法直接赋值为byte。
    B. short s =23; s=s+12;//与上述原因相同
    C. short s=23; s+=12;
    D. float f = 23+23.23;//与上述原因相同
  • 下面数组定义错误的是?(C)
    A. int [] arr ={23,45,65,78,89};
    B. int [] arr=new int[10] ;
    C. int [] arr=new int[4]{3,4,5,6};//数组静态初始化,不直接指定数组的长度,而根据具体初始化内容确定
    D. int [] arr={‘a’, 23 , 45 , 6};
  • 下面程序执行的结果是?(C )
boolean b=true;
if(b=false)
{
	System.out.println("a");
}
else if(b)
{
	System.out.println("b");	
}
else if(!b)
{
	System.out.println("c");  
}
else
{
	System.out.println("d");
}

A. a
B. b
C. c//当执行第一个if语句时,b赋值为false,并且该赋值表达式的返回值也为false,注意赋值运算的表达式返回值为赋给变量的值。
D. d

  • 下面哪些是合法的标志符?(BCD)
    A. 2variabl //变量不能以数字开头,变量命名可以包括数字、字母、下划线和 $ 符号,区分大小写,不能以数字开头。
    B. variable2
    C. what$
    D. 3
  • 下列函数中能和函数int max(int a, int b, double c)构成重载关系的是?( BC )
    A. double max(int a, int b, double c) //方法重载要求参数个数不同,或参数类型不同,与返回值类型无关
    B. void max(int a, double c, int b)
    C. int max(double a, int b)
    D. int max(int x, int y, double z) //参数个数没变,参数类型也没变
  • 下面的说法正确的是?( AC )
    A. byte ,short,char 数据类型可以自动转化为int
    B. float 数据类型可以自动转换为long。//反过来了,long可以自动转换为float。
    C. 在java语言中默认小数为double
    D. byte a=23; byte b=12; a+b的结果为byte类型 //跟上面选择题一样,a+b类型为int。

Java简答题

  • JDK,JRE,JVM是什么,有什么用,它们之间又有什么关系?
    答:JDK是Java开发工具包,包括JRE和开发工具包;JRE是Java运行环境,包括JVM和核心类库,用于运行Java程序;JVM负责把Java程序生成的字节码文件,解释称具体系统平台上的机器指令,让其在各个平台上运行。

  • 函数是什么?它的运行特点是什么?
    答:函数是完成特定功能的代码块,特点是不调用不执行。

  • 请说说什么时候使用变量,什么时候使用if语句,什么时候使用循环语句?
    答:当数据是变化的时候,需要使用变量;如果需要判断,就使用if语句;如果需要重复的多次做某件事情,就使用循环语句。

Java编程题

1. 在main方法中写一段代码,实现在控制台输出九九乘法表。

public class MultiplyTable {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(j+"*"+i+"="+i*j);
				System.out.print("\t");
			}
			System.out.println();
		}
	}
}

2. 请写一个方法printArray,实现遍历整数数组。要求在main中调用。

public class DemoForTest {
	public static void main(String[] args) {
		int[] a = {1,2,3,4};
		printArray(a);
	}
	public static void printArray(int[] a) {
		for(int i=0;i<a.length;i++) {
			System.out.println(a[i]);
		}
	}
}

3. 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。

public class EncryDemo {
	public static void main(String[] args) {
		int info = 123456;
		encrpteInfo(info);
	}
	public static void encrpteInfo(int info) {
		//首先定义存储数字的数组
		int[] arr = new int[8];
		int index = 0;
		//倒叙赋值给数组
		while(info>0) {
			arr[index] = info%10;
			info = info/10;
			index++;
		}
		//每个数字加5
		for(int i=0;i<index;i++) {
			arr[i] += 5;
			arr[i] = arr[i]%10;
		}
		int temp = arr[0];
		arr[0] = arr[index-1];
		arr[index-1] = temp;
		for(int i=0;i<index;i++) {
			System.out.print(arr[i]);
		}
		return ;
	}
}

参考

https://github.com/DuGuQiuBai/Java
如有侵权,请联系作者删除

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值