这篇是Java语法基础习题,你能做出来吗?
自己做一遍,把选择题打在评论区上,后期我也会出答案
正确率 | 说明 |
---|---|
小于80% | 不好,多回头复习 |
80-90 | 中等往后学 |
大于90 | 好往后学 |
1.在控制台显示消息的语句正确的是( )
A .System.out.println(“我爱Java”);
B. system.out.println(“我爱Java”);
C. System.out.println(‘我爱Java’);
D. System.out.prinln(“我爱Java”);
2.在控制台运行一个 Java 程序 Demo. class ,使用的命令正确的是( )
A .java Demo.class
B. javac Demo.class
C. java Demo
D. javac Demo
3.Java 源代码文件编译后生成的字节码文件,其扩展名是( )
A .txt
B .class
C .java
D .doc
简述Java语言的特点(至少三点)。
简述跨平台原理
Java程序执行的步骤以及工作原理
为什么需要配置path环境变量?
在命令行输出你的名字,班级,年龄
public class HelloWorld{
public static void main(String[] args){
System.out.println("boge,Java2023,18")
}
}
卸载,安装JDK操作三遍
在自己电脑上配置环境变量操作两遍
背诵英文单词
a. public 公共的
b. public class 公共类
c. static 静态的
d. void 无返回值
e. main /主要的, 重要的
f. System.out.print() ;向控制台输出打印说 语句
A.u2 | B.$test |
---|---|
C.this_is_ok | D.int |
答案:
A)char ch=65 | B)char ch=’\65’ |
---|---|
C)char ch=’\u0041’ | D)char ch=’A’ |
E) char ch=”A” |
答案:
A)goto | B)main |
---|---|
C)short | D)void |
答案:
A)char = ‘a’; char b=1; char c=08; | B)int a=’a’; |
---|---|
C)long a=’\u00FF’; | D)char a=’\u0FFA’; |
E) char d=”d” |
答案:
A)char = ‘abc’; | B)long 01 = 0xfff; |
---|---|
C)float f = 0.23; | D)double d = 0.7E-3; |
答案:
A)-128 ~ +127 | B)-32768 ~ +32767 |
---|---|
C)-2147483648 ~ +2417483647 | D)-3.40282347E38 ~ +3.40282347E38 |
答案:
A)8 | B)16 |
---|---|
C)32 | D)64 |
答案:
A)’\n’ | B)’\f’ |
---|---|
C)’n’ | D)’\dd’ |
答案:
A)8 | B)16 |
---|---|
C)32 | D)64 |
答案:
1、Java中,基本数据类型有哪些?
2、请写出java中基本数据类型所对应的字节数?
3、java的标识符由什么组成?能不能是中文?
4、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
5、下列程序能否编译通过,如果不可以说出原因,如果可以说出结果
1. float f = 25;
System.out.println(f);
2. byte b = 225;
System.out.println(b);
3. double d = 3.5f;
System.out.println(d);
4. float f = (float)4.5;
System.out.println(f);
5. int i = (int)2.5;
System.out.println(i);
6. byte b = (byte)130;
System.out.println(b);
7. short s =32768;
System.out.println(s);
8. byte b = 97;
char ch = (char)b;
System.out.println(ch);
9. char ch = '1';
byte b = (byte)ch;
System.out.println(b);
10. int i = 25;
double d = 6.5;
int i = i + d;
System.out.println(i);
11. byte b = 97;
char ch = b + 1;
System.out.println(ch);
12. byte b= 63.5 * 2;
System.out.println(b);
13. boolean bool = false;
int i = (int)bool;
System.out.println(i);
14. String str = "2" - 1;
System.out.println(str);
15. System.out.println(22 + 2 + "2" + 2 );
16. byte b= 10;
short s= 20;
int i = b+ s;
System.out.println(i);
17. int b1 = 10;
int b2 = 20;
byte b3 = b1 + b2;
System.out.println(b3);
18. byte b = 65;
short s = 1;
char ch = b + s;
System.out.println(ch);
1.某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分
2.交换两个数的位置(int a = 2,b=3 ——> a = 3, b=2) 使用两种方式
int a = 2,b=3;
int c = a ;
a = b;
b = c;
// 异或的方式
a = a ^ b;
b = a ^ b;
a = a ^ b;
3.定义5个数字计算平均值和总和
4.根据天数(46)计算周数和剩余的天数
5.定义一个四位会员号:计算四位会员号的各位之和(个位,十位,百位,千位上数字求和)
6.计算
int x = 2;
int y = 3;
int res3 = (x++)*2+(--y)%3+(--x)/4+(++y)*3;
int res4 = (--x)/3-(y++)*2+(x++)%2-(y--)%3;
请推断res3,res4,x,y此时的值。
int x = 3;
int res = (x++)%(++x);
请推断res,x此时的值。
int a = 2;
int b = 3;
int res1 = ((a++)+(++b))*2+(--a)%(b++)-(++a)*3+(--b)/(--a);
请推断res1,a,b此时的值。
7.int x = 4 , y = 2 , z = 3;求表达式y-=z++*–x的值是多少?表达式运行之后,x,y,z的值分别是多少?
8.请计算:
a=3,b=4;
(1):(a++)/3+(–b)*2-(a–)%6+(b++)*3-(b–)
(2):(++b)*2-(a–)%4+(a++)*5-(–b)/2+(–a)
(3):(a–)*6+(b++)/3-(–a)*2-(–b)*2+(++a)
9.请计算
1.int n = 5;n = ++n + ++ n;求n=?
2.int n = 3;n = ++n + n ++;求n=?
1.以下代码的执行结果是( )。(选择一项)
boolean m = false;
if(m = false){
System.out.println("false");
}else{
System.out.println("true");
}
A. false
B. true
C. 编译错误
D. 无结果
2.分析如下 Java 代码,编译运行的输出结果是( )。(选择一项)
public static void main(String[ ] args) {
boolean a=true;
boolean b=false;
if (!(a&&b)) {
System.out.print("!(a&&b)");
}else if (!(a||b)) {
System.out.println("!(a||b)");
}else {
System.out.println("ab");
}
}
A !(a&&b) B. !(a||b) C. ab D. !(a||b)ab
3.下列选项中关于变量 x 的定义,( )可使以下 switch 语句编译通过。(选择二项)
switch(x) {
case 100 :
System.out.println("One hundred");
break;
case 200 :
System.out.println("Two hundred");
break;
case 300 :
System.out.println( "Three hundred");
break;
default :
System.out.println( "default");
}
A.double x = 100;
B.char x = 100;
C.String x = “100”;
D.int x = 100;
4.阅读下列文件定入的 Java 代码,其执行结果是( )。(选择一项)
publicclass Test {
publicstatic void main(String[] args) {
char ch = 'c';
switch (ch) {
case 'a':
System.out.print("a");
break;
case 'b':
System.out.print("ab");
case 'c':
System.out.print("c");
default:
System.out.print("d");
}
}
A a
B. b
C. c
D. cd
5.以下 Java 程序编译运行后的输出结果是( )。(选择一项)
public class Test {
public static void main(String[] args) {
int i = 0, sum = 0;
while (i <= 10) {
sum += i;
i++;
if (i % 2 == 0)
continue;
}
System.out.println(sum);
}
}
A.0 B.55 C. 50 D.36
6.以下四个选项中和下面代码功能相同的是( )。(选择一项)
int i = 1;
int sum = 0;
while (i <= 100) {
if (i % 2 == 0)
sum = sum + i;
i++;
}
A for (int x =1; x<=100;x++){ sum=sum+x;}
B. for (int x =0; x<=100;x+=2){ sum=sum+x;}
C. for (int x =1; x<=100;x+=2){ sum=sum+x;}
D. 上述全对
7.以下 do-while 循环代码的执行结果是( )。(选择一项)
int a=0; int c=0;
do{
--c;
a=a-1;
}while(a>0);
System.out.println(a+" "+c);
A. -1 -1
B. 死循环
C. -1 -2
D. -1 0
8.while 循环和 do-while 循环的区别是( )。(选择一项)
A. 没有区别,这两个结构在任何情况下效果一样
B. while 循环比 do-while 循环执行效率高
C. while 循环是先循环后判断,所以循环体至少被执行一次
D. do-while 循环是先循环后判断,所以循环体至少被执行一次
9.在 Java 中有如下代码,则编译运行该类的输出结果是( )。(选择一项)
public static void main(String[ ] args) {
for(int i=0;i<10;i++){
if (i%2!=0) return;
System.out.print(i);
}
}
A.13578 B. 02468 C.0123456789 D.0
10.下面程序执行的结果是在屏幕上打印 ( )行
for(int i=1;i<=10;i++){
if (i<5) continue;
System.out.println("Java基础班");
}
A.5 B.6 C.7 D.8
输入一个数,判断是奇数还是偶数
根据成绩输出对应的等级,使用 if 多分支和 switch 语句分别实现。
a) A 级 [90,100]
b) B 级 [80,90)
c) C 级 [70,80)
d) D 级 [60,70)
e) E 级 [0,60)
根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cDOAB0Om-1670224175514)(img\image-20221006211709829.png)]
判断一个数是否是素数。
从键盘输入一个班5个学生的分数,求和并输出。
从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
根据考试成绩输出对应的礼物,90 分以上爸爸给买电脑,80 分以上爸爸给买手机,
60 分以上爸爸请吃一顿大餐,60 分以下爸爸给买学习资料。
要求:该题使用多重 if 完成
请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是 S,则继续判断第二个字母,如果第二个字母是 a,则输出“星期六”。星期的英文单词如下表所示。
星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 | 星期日 |
---|---|---|---|---|---|---|
Monday | Tuesday | Wednesday | Thursday | Fridy | Saturday | Sunday |
输入一批整数,使用循环求出最大值与最小值,输入 0 时结束。
给 20 块钱买可乐,每瓶可乐 3 块钱,喝完之后退瓶子可以换回 1 块钱,问最多可以喝到多少瓶可乐。
从键盘输入某个十进制小数,转换成对应的二进制小数并输出。(查询十进制小数转换成二进制小数的算法,使用循环来实现。最多保留小数位后 7 位数字即可)
1.编写一个计算器,实现加减乘除,调用测试通过
2.编写一个方法实现求圆的面积,参数为半径
3.写一个方法实现数字倒置(3456?6543)并返回这个数字
4.编写判断回文数字的方法,并调用测试
5.求两个数的最大公约数(用递归实现)
1.已知如下数组
Int[] arr = {44,77,88,99,100,22};
完成如下操作:
A. 循环输出数列的值并按照如下格式输出。arr[44,77,88,99,100,22]
B . 求数列中所有数值的和
C . 求出最小值。
D. 将数组倒置并输出
E. 查找(要求使用二分法查找和基本查找)
F. 数组排序 要求使用至少两种排序算法
2.现有一个数组,要求对数组进行倒置并且按照如下格式输出
Int[] arr = {11,22,33,44,55,66,77}
输出结果77-66-55-44-33-22-11
3.现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ;
4.现在给出两个数组
数组A:1,7,9,11,13,15,17,19
数组B:2,4,6,8,10
编写一个方法实现将两个数组合并成一个新的数组c,并且按照升序排序
5.定义一个数组来存储12个学生的成绩{72,89,65,58,87,91,53,82,71,93,76,68},统计各成绩等级(90分以上为‘A’,8089分为‘B’,7079分为‘C’,60~69分为‘D’,60分以下为E)学生人数,并将其放入到数组count中,其中:count[0]存E级的人数,count[1]存D级的人数,……,count[4]存A级的人数。
6.编写顺序查找的方法
public static int[] ordinalSearch(int data[],int key)
,要求该方法返回一个数组(如果key存在,数组中各元素的值分别为关键字key在原数组data中的各下标;如果key不存在,则返回一个长度为1的数组,数组元素为-1)。
基本过程思路:
(1)先扫描数组data,统计数组中key的个数n.
(2)如果n为0,直接返回一个数组元素为-1的数组;否则的话定义一个数组int index[]=new int[n],再扫描数组data,把数组中值为key的各个元素的下标保存到数组index中,最后返回数组index.