1.基本数据类型有哪些?
基本数据类型有8个:整数:byte、int、long、short。 浮点型:float、double。 布尔型boolean。 字符型:char
2.下列代码的输出是什么?为什么?
java
public static void main(String[] args) {
byte a = 127;
byte b = (byte)(a+1);
System.out.println(b);
}
输出为-128,因为byte类型的范围是-128到127,当byte b = (byte)(a+1);时,a为127;加1之后为128,但是不在范围内,所以返回-128。
3.写出每一个整型最多能表示多少个字节
Byte(8dit,1字节) short(16bit,2字节) int(32bit,4字节) long(64bit,8字节)
4.下列代码输出的是什么类型
java
char a = 'b';
char b = 'c';
Sysout.out.print( a + b);
输出为int类型
5.随意定义一个变量i = 3287;获取该数字中各个位上的数字,最终输出:个位是7, 十位是8,百位是2, 千位是3
java
public class Test {
public static void main(String[] args) {
int i =3287;
int gewei = i % 10;
int shiwei = (i/10) % 10;
int baiwei = (i/10/10) %10;
int qianwei = (i/10/10/10) %10;
System.out.print("个位:" +gewei+ ",十位:" +shiwei+ ",百位:"+baiwei+",千位:"+qianwei);
}
}
6.下列代码的输出结果是什么?
java
public static void main(String[] args) {
int a = 5;
int n = a++;
int b = ++n;
System.out.println(b);
}.
输出为6
7.下列代码的输出结果是什么?
java
public static void main(String[] args) {
int a = 4;
int b = 5;
System.out.println(a<b?a:b);
}
输出为4
8.下列代码的输出结果是什么?
java
public static void main(String[] args) {
int a = -4;
int b = 5;
System.out.println(a & b); //两个操作数,同为1则为1,其余全是0
}
java
public static void main(String[] args) {
int a = -4;
int b = 5;
System.out.println(a | b); //同为0则是0,其余全是1
}
java
public static void main(String[] args) {
int a = -4;
int b = 5;
System.out.println(a ^ b); //相同为0,不同为1
}
java
public static void main(String[] args) {
int a = -4;
System.out.println(a << 2);
}
java
public static void main(String[] args) {
int a = -4;
System.out.println(a >> 2);
}
输出为4、输出为-3、输出为-7、输出为-16、输出为-1
9.下列代码片叙述正确的是
java
public static void main(String[] args) {
byte b1 = 1,b2=2,b3,b6;
final byte b4 = 4,b5 = 6;
b6 = b4 + b5;//因为b4,b5被final修饰了,不会自动转化为int类型。
b3 = b1+b2;//因为在进行相加时会将byte转化为int类型,但是b3还是byte类型所以会报错
System.out.println(b3+b6);
}
A:输出结果为:13
B:语句b6 = b4 + b5;编译出错
C:语句b3 = b1+b2;编译出错
D:运行期间抛出异常
C
10.写出几个String类当中的方法,并说明其含义(至少5个)
Length()返回字符串中的长度、equals()判断字符串的值是否相等、x.substring()截取字符串中的内容、x.indexOf()判断是不是字符串的子串、replace替换字符串中的内容
11.下面程序的运行结果是_____,为什么
java
String str1 = "hello";
String str2 = "he" + new String("llo");
System.out.println(str1 == str2);
运行为fales,其中str2是拼接操作创造的新对象,和str1不一样
12.当编译并运行下面程序时会出现什么结果( )
java
public class MyAr{
public static void main(String args[]){
int[] i = new int[5];
System.out.println(i[5]);
}
}
会出现异常;因为i的索引为0-4;里面没有索引为5的
13.已知有数组定义:int MyArray[] = {10,20,30,40,50,60,70,80,90,100},则以下程序段:
执行后s的值是_____________
java
int s = 0 ;
for ( int i = 0 ; i < MyArray.length ; i + + )
if ( i % 2 == 1 )
s =s+ MyArray[i] ;
System.out.println(s);
值为300
14.有如下程序段: 运行时候是否报错,如果有错误如何修改
java
// String unset="";
String unset=null;
if(unset.length()>0 && unset!=null){
System.out.println("Hello Pido! ");
}
运行时会报错误、应该先判断unset!=null,因为String unset=null;长度为0了,前面的unset.length()>0已经错了,所以不会去判断后面的。
15.有以下程序段: 这里输出的是_______
java
public static void main(String[] args) {
int i = 0;
for(;i<100;i++){
if(i==10){
break; // 结束循环
}
}
System.out.println("i="+i);
}
输出为i=10
16.如下Java程序片段 运行后,该程序段的输出结果是________
java
String a = "abcdefg";
String b = "abcdefg";
System.out.println(a==b);
输出为true
17.如下Java程序片段 运行后,该程序段的输出结果是________
java
String a = "abcdefg";
String b = "abc" + "defg";
System.out.println(a==b);
输出为true
18.分析以下需求,并用代码实现:
(1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
(2)涨工资的条件如下: [10-15) +5000 [5-10) +2500 [3~5) +1000 [1~3) +500 [0~1) +200
(3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"

19、分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组 提示思路:先查找最大值和最小值出现的索引。

20.下列代码输出是什么?
java
class Person{
private int id;
private String name;
public Person(int id,String name) {
this.id = id;
this.name = name;
}
}
public class StudentClass {
public static void main(String[] args) {
Person a = new Person(23, "a");
Person b = new Person(22,"b");
swap(a, b);
System.out.println(a == a);
System.out.println(b == b);
}
private static void swap(Person a, Person b) {
Person temp = a;
a = b;
b = temp;
}
}
true、true