值得点赞收藏的java基础试题和详细解释

最近是不是因新接触java而新生好奇?
那java基础的小测试是否让你烦恼呢?看过来在校老师多年经验出的题让你轻轻松松及格过关。
试题
一、选择题(10题,每题3分,共30分)
1、Java定义的版本中不包括:( )
A. J2EE B. J2HE C. J2ME D. J2SE
2、 下列均为Java关键字的一组是 ( )
A. boolean byte long true
B. Long public class return
C. private abstract final new
D. package void this false
3、下列标识符合法的是:( )
A. 123A
B. new
C. Byte
D. -abc
4、 下列运算符不属于算术运算符的是 ( )
A. +
B. -
C. *
D. =
5、 下列的哪个赋值语句是正确的?( )
A. char a=65536;
B. int a=12.0;
C. float a=12.0;
D. int a=(int)12.0;
6、 下列的哪个赋值语句是不正确的?( )
A. byte a=-128;
B. double d=5.3E12;
C. float f=1.1f;
D. byte c=0xff;
7、在JAVA编程中,Java编译器会将Java程序转换为( )
A. 可执行代码
B. 字节码
C. 机器码
D. 以上选项都不正确
8、在JAVA中,使用switch语句时,如希望设置默认值,则需要使用( )关键字。
A. case
B. do
C. default
D. else
9、对数组的定义及初始化不正确的方法是:( )
A. int array[];
B. int array[8];
C. int[] array=new int[8];
D. int array[]=new int[8];
10、源文件和编译后的文件扩展名分别为( )
A. .class 和 .java
B. .java 和 .class
C. .class 和 .class
D. .java 和 .java
二、填空题(10题,每题3分,共30分)
1、要编译一个文件名为Test的Java源程序,需在命令控制台窗口输入编译命令:
2、通常类名可由字母、数字、下划线以及美元符号组成,但类名的第一个字符不能是

3、当一个方法中有多个参数时,参数之间是用
____ 隔开。
4、Java的数据类型可以分为两大类:____和引用数据类型。
5、Java定义了8个基本数据类型:byte、
、int、long、float、double、char、boolean。
6、int类型的数据占用存储空间是 ______位。
7、在Java中,两个连续等号(==)是比较运算符,那么一个等号是__________运算符。
8、Java中有3种跳转语句:break语句、continue语句和______________语句。
9、数组是一组类型_____________的变量的集合,其下标是从0开始算的。
10、比较两个字符串的值是否相同使用 _________比较。
三、编程题(4小题,共40分)
1、使用while循环打印出"九九乘法表"。(10分)

2、通过编写代码将给定的一组数组 [12,454,-123,98,90,0,67,34,-22,100]按照从小到大的顺序排序,并打印到控制台。要求使用数组。(10分)

3、通过编写代码计算出 1到16的阶乘的和。(10分)

4、通过编写代码在控制台输出 “杨辉三角”,如图所示。(10分)
在这里插入图片描述

答案和解释
1.Java分为三个体系:
詹姆斯 · 高斯林 ,软件专家,Java 编程语言的共同创始人之一,一般公认他为 “Java 之父”。
Java 分为三个体系:
· JavaSE(J2SE)(Java2 Platform Standard Edition,java 平台标准版)
· JavaEE(J2EE) (Java 2 Platform Enterprise Edition,java 平台企业版)
· JavaME(J2ME) (Java 2 Platform Micro Edition,java 平台微型版)。

2.Java关键字(大小写敏感,关键字大写后就不是关键字了)
48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
——————————————————
在Java中true false null不是关键字
保留字(以后可能作为关键字):goto、const

3.标识符:
所有标识符以字母,美元符号,下划线开始(不能以数字开始)
关键字不能作为标识符
Java大小写敏感所以大写后的关键字时合法的关键字(不推荐使用)

4.运算符的使用:
1、算术运算符 +、-、*、/、%、++、–
2、关系(比较)运算符 >、>=、<、<=、==、!=
3、逻辑运算符 &&、&、||、|、!、^
4. 赋值运算符 = += -= *= /= %=
5.位运算赋值运算符 &=、 |=、 ^=、 <<= 、>>=

5.赋值
赋值的值不可超过类型的值的范围:
char a=65536; 错:char 的范围是 \u0000~\uffff 即0~65535;
int a=12.0; 错:int是整数类型 ,后面不可以带小数。
float f=12.0; 错: 在Java中浮点类型默认的是double所以 定义float时 需要在值后面添加单位f。
byte c=0xff; 错:ff超出范围

7.在Java中,Java编译器会将Java程序转化为字节码。

8.在swich语句中,如果需要设置默认值,则需要使用关键字:default.

9.对定义数组正确的有:
1.申明: dataType[] arrName;//推荐 dataType arrName[];//不推荐
2.初始化:静态初始化:arrName=new dataType[]{value0,value1,…,valueN}
当声明和初始化一起时:dataType[] arrName=new dataType[length];
int array[];声明
int[] array=new int[8]; 申明和初始化一起
int array[]=new int[8];声明和初始化一起

10.原文件拓展名:.class 编译后的拓展名:.java

12.类名的组成:采用大驼峰命名法,可有字母数字下划线以及美元符号组成,但类名的第一个符号不能是数字。

13.当一个方法里有多个参数时,参数有 , 进行隔开。

14.Java 的类型可以分为 基本数据类型 (值类型), 引用类型。

15.Java定义了八个基本数据类型:int , short , byte , float , double , long , char , boolean ,

16.int类型占据的储存空间是32位。
byte:8位。 short:16位。long:64位。 float:32位。 double:64位。 char: 16位。

17.Java中的运算符:
1、算术运算符 +、-、*、/、%、++、–
2、关系(比较)运算符 >、>=、<、<=、==、!=
3、逻辑运算符 &&、&、||、|、!、^
4. 赋值运算符 = += -= *= /= %=
5.位运算赋值运算符 &=、 |=、 ^=、 <<= 、>>=

18。Java中的跳转语句:break、continue、return

  • break: 结束循环
  • continue: 结束当前这一次循环,进入下一次循环
  • return:结束方法。方法结束了,方法中的循环自然也结束。

19.数组是一组类型相同的集合,其下标是从0开始算的。

20.比较两个字符串的值是否相同:
== 在基本数据类型(不包括字符串)的时候就是比较值是否相同,在引用类型(String)时是比较地址
equals 用于判断引用类型(在Java中,String属于引用类型)的值是否相同(比较两个字符串的值是否相同)

21.使用while打印九九乘法表:
//使用while打印九九乘法表
int i=1;
int j=1;
while(i<10){//行数
j=1;
while(j<=i){
System.out.print(a+" * “+b+” = “+(a*b)+”\t");
b++;
}
System.out.println();
a++;
}

22.为数组排序:12,454,-123,98,90,0,67,34,-22,100

public static void main(String[] args) {
int[] array=new int[]{12,454,-123,98,90,0,67,34,-22,100};
//冒泡排序 从小到大
int intTemp=0;//用于交换两个元素时临时存放
//外层循环
for (int i=0;i<array.length;i++){
//每轮排序后 最大的已经移动到最后,参与排序的数量-1
for(int j=1;j<array.length-1;j++){
//如果 前面比后面大 交换两个元素
if(array[j-1]>array[j]){
intTemp=array[j-1];//该数字存放到临时位置
array[j-1]=array[j];//交换位置往后面排
array[j]=intTemp;//从临时位置提取出来 存放于前面
}
}
}
//排序号输出
for (int j : array) {
System.out.print(j + “,”);
}
}

23.打印出16的阶乘
int maxValue=16;
long sum = 0;
long factorial = 1;
for (int i = 1; i <= maxValue; i++) {
factorial *= i;
sum += factorial;
}
System.out.println(“[1,” + maxValue + “]阶乘的和=\t” + sum);

Java实现点赞功能的示例: 1. 创建一个点赞表,包含用户ID和被点赞的ID。 ``` CREATE TABLE `like_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL COMMENT '用户ID', `liked_id` int(11) NOT NULL COMMENT '被点赞的ID', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_user_id` (`user_id`), KEY `idx_liked_id` (`liked_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='点赞表'; ``` 2. 创建点赞服务,提供点赞和取消点赞的接口。 ``` @Service public class LikeService { private final LikeMapper likeMapper; @Autowired public LikeService(LikeMapper likeMapper) { this.likeMapper = likeMapper; } /** * 点赞 * * @param userId 用户ID * @param likedId 被点赞的ID */ public void like(int userId, int likedId) { Like like = new Like(); like.setUserId(userId); like.setLikedId(likedId); likeMapper.insert(like); } /** * 取消点赞 * * @param userId 用户ID * @param likedId 被点赞的ID */ public void unlike(int userId, int likedId) { LikeExample example = new LikeExample(); example.createCriteria() .andUserIdEqualTo(userId) .andLikedIdEqualTo(likedId); likeMapper.deleteByExample(example); } } ``` 3. 创建点赞控制器,处理点赞和取消点赞的请求。 ``` @RestController @RequestMapping("/like") public class LikeController { private final LikeService likeService; @Autowired public LikeController(LikeService likeService) { this.likeService = likeService; } /** * 点赞 * * @param userId 用户ID * @param likedId 被点赞的ID * @return */ @PostMapping("/like") public ResultVO like(@RequestParam("userId") int userId, @RequestParam("likedId") int likedId) { likeService.like(userId, likedId); return ResultVO.success(); } /** * 取消点赞 * * @param userId 用户ID * @param likedId 被点赞的ID * @return */ @PostMapping("/unlike") public ResultVO unlike(@RequestParam("userId") int userId, @RequestParam("likedId") int likedId) { likeService.unlike(userId, likedId); return ResultVO.success(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值