30,switch语句中的表达式可以放什么?
可以放byte,short,char,int,JDK1.5以后加入枚举,JDK1.7以后加入字符串(String)
31,switch语句的注意事项是什么?
1、case后边只能是常量,不能是变量,多个case不能出现重复值。
2、default可以省略,但是他记录的是所有非正常情况,一般不省略。
3、最后一个break可以省略,对程序的结果没有影响,其他break如果省略的话,可能发生case穿透的情况。
4、default可以不放在最后,可以放在任意位置,但是一般放在最后。
32、switch语句什么时候结束?
A:遇到break。
B:执行到switch语句的右大括号。
33,if语句和switch语句有什么区别?
if语句主要用于 做范围 的判断。
switch语句主要用于 做固定值 的判断。
能用switch做的都可以用if来做,反之不行。
34,看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x){
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
结果为y=5
35,死循环的表示方式:
for(;;) {}
while(true){}
36,求偶数和
int sum = 0;
for (x = 0;x<=10 ;x+=2 ) {
sum =+ x
37打印100到1000之间的水仙花数和水仙花个数的
水仙花是个位十位百位的三次幂相加等于原数的数
int count = 0;
for (n=100; n<=999;n++ ) {
int ge = n%10; //提取个位数
int shi = n/10%10; //提取十位数
int bai = n/100; //提取百位数
if (n==ge*ge*ge+shi*shi*shi+bai*bai*bai) { //判断是否符合水仙花
System.out.println(n);
count++
}
} System.out.println(count);
38,打印九九乘法表
for (x=1;x<=9;x++) { //控制几行
for (y=1;y<=9;y++) { //控制几列
System.out.print(x+"*"+y+"="+x*y+"\t");
}
System.out.println();
}
39,break,continue和return分别有什么用?
break用于跳出循环和中断switch语句
continue用于中断当前循环开始下一循环
return用于返回方法
40,打印出下图形
*
* *
* * *
* * * *
for (int a = 1;a<5 ;a++ ) { //控制列
for (int b = 1 ;b <5-a ; b++) { //打印空格
System.out.print(" ");
}
for (int c = 1; c<=a; c++) { //打印*加空格
System.out.print("* ");
}System.out.println(); //换行
}
41,定义一个打印nn乘法表的方法
public static void print99(int a ) {
for (x=1;x<=a ;x++ ) {
for (y=1;y<=a ;y++ ) {
System.out.print(x+"*"+y+"="+x*y);
}
System.out.println();
}
}
42,什么是函数重载?并定义一个两个整数和的方法和两个小数和的方法
重载:同一个类中出现方法名相同,参数列表不同的的两个或两个以上方法时,称为重载,重载与返回类型无关
public static int add(int a ,int b) {
return a + b;
}
public static double add(int a ,double b) {
return a + b;
43, public static void main(String [] args){
int num=100;
if(num ++>100);
{
num =200;
}
System.out.println(num);
输出结果?
200
44,数组的概念?有什么特点?
数组是统计多个数据类型的集合
数组的特点:1储存同类型数据2可以储存基本类型和引用类型数据3数组中元素都有编号并从0开始
45一维数组的定义格式?和错误写法的例子
动态初始化:数据类型 [] 数组名 = new 数据类型 [数组长度];
静态初始化:数据类型 [] 数组名 = new 数据类型 {元素};
数据类型 [] 数组名 = {元素}
int[] arr = new int[5]{1,2,3,4,5}; 这种写法是错误的
46,数组操作遇到的两个问题
数组索引越界异常:
单词:ArrayIndexOutOfBoundsException
原因:访问了不存在的索引
解决方案:访问存在的索引或提升索引长度
空指针异常:
单词:NullPointerException
原因:使用不存在的数组
解决方案:使用存在的数组
47数组遍历(依次输出数组中的每一个元素)的方法
public static void print(int arr[]) {
for (int i=0;i<arr.length ;i++ ) { //arr.length是数组的长度值
System.out.println(arr[i]);
}
}
48,数组获取最大值的方法
public static int getMax(int arr[]) {
int max = arr[0];
for (int i=1;i<arr.length ; i++) {
if (max<arr[i]) {
max=arr[i];
}
}
return max;
}
49,数组元素逆序 (就是把元素对调)的方法
public static void reverse(int arr[]) {
for (int i=0;i<arr.length/2 ;i++ ) { //arr.length是数组元素对调次数
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp;
}
}
50,数组元素查找(查找指定元素第一次在数组中出现的索引)的方法
public static int getIdex(int arr[],int a) {
for (int i=0;i<arr.length ;i++ ) {
if (arr[a]==arr[i]) {
return i;
}
}
return -1;
}
60,二维数组定义格式?
规则的矩形: 数据类型 [] [] 数组名 = new 数据类型 [一维数组个数][一位数组中个元素个数];
不规则的矩形:数据类型 [] [] 数组名 = new 数据类型 [一维数组个数] [];
61,二维数组遍历
for (x=0;x<arr.length ;x++ ) {
for (y=0;y<arr[x].length ;y++ ) {
System.out.println(arr[x][y]);
}
}
62,Java只有值传递对吗?
对,Java中只有值传递,引用传递传递的是地址值,地址值也是值 |
|