1.二维数组
二维数组的创建与初始化(java是支持规则数组和不规则数组的)
例:int[][] array = {{1,2},{2,3}{3,4,5}};
结构如下:
二维数组的遍历:
例子:
@Test
public void test21(){
int[][] array = new int[2][3];
array[0][0] = 1;
array[0][1] = 2;
array[0][2] = 3;
array[1][0] = 4;
array[1][1] = 5;
array[1][2] = 6;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println(array[i][j]);
}
}
}
2.、int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
求出上面数组中0-9分别出现的次数
双重for循环
方法一:该方法便于理解但是判断语句要执行300多次,又卡又慢,循环没有很好的得到利用
//求出下面面数组中0-9分别出现的次数
int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
int[] count = new int[10];
for (int i = 0; i <= 9; i++) {
for (int j = 0; j < scores.length; j++) {
if (i == scores[j]) {
count[i]++;
}
}
}
for (int i = 0; i < 10; i++) {
System.out.println(i+"共出现了"+count[i]+"次");
}
方法二:方便快捷
public void test1_(){
int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
int[] counts = new int[10];
for (int i = 0; i < scores.length; i++) {
counts[scores[i]]++;
}
for (int i = 0; i < 10; i++) {
System.out.println(i+"共出现了"+counts[i]+"次");
}
}
3.int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
要求求出其中的奇数个数和偶数个数。
public void test2(){
//要求求出其中的奇数个数和偶数个数
int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
int odd = 0;
int even = 0;
for (int i = 0; i < scores.length-1; i++) {
if (scores[i] % 2 == 0){
even++;
}else {
odd++;
}
}
System.out.println("其中奇数个数为:"+odd);
System.out.println("其中偶数个数为:"+even);
}
4. 0.6332的数据类型是()
A float B double C Float D Double
5.Java 中 main() 函数的返回值是什么 ?
A 、 String
B 、 int
C 、 char
D 、 void
6.如下哪个字串在Java 中可作为自定义标识符?
A 、 $number
B 、 super
C 、 3number
D 、 #number
7.下面的代码段中,执行之后 i 和 j 的值是什么 ?
int i = 1;
int j;
j = i++;
A 、 1, 1
B 、 1, 2
C 、 2, 1
D 、 2, 2
8.下面哪个赋值语句不是合法的?
A 、 float a = 2.0
B 、 double b = 2.0
C 、 int c = 2
D 、 long d = 2
java中小数默认是double类型,整数的默认类型是int。如果想把小数赋值给float类型,float f = 10.1f;
9.下面哪个是 main() 函数的合法参数 ?
A 、 char args[]
B 、 char args[][]
C 、 String[] args
D 、 String args
10.已知表达式 int[] m = {0, 1, 2, 3, 4, 5, 6 };
下面哪个表达式的值与数组最大下标数相等?
A 、 m.length()
B 、 m.length-1
C 、 m.length()+1
D 、 m.length+1
11.在Java中,属于整数类型变量的是( )
A.single B.double
C.byte D.char
12.下列语句哪一个正确()
A. Java程序经编译后会产生machine code
B. Java程序经编译后会产生byte code(字节码)
C. Java程序经编译后会产生DLL
D.以上都不正确
13.题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
public void test3(){
//一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int[] array = new int[5];
int temp = num;//临时变量用来拆分输入的长整数
int a = 0;
for (int i = 0; i < 5 ; i++) {
a = temp % 10;
array[i] = a;
temp = temp/10;
}
for (int i = 0; i < array.length; i++) {
if ((array[0] == array[4]) && (array[1] == array[3])){
System.out.println(num+"是回文数字");
break;
}else{
System.out.println(num+"不是回文数字");
break;
}
}
}
如果要判断输入的字符串是否是回文的话,那么:
public void test2_(){
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println(str);
char[] array = str.toCharArray();
//初始认为是回文
boolean isHuiWen = true;
for (int i = 0; i < array.length / 2; i++) {
if(array[i] != array[array.length - i - 1]){
isHuiWen = false;
break;
}
}
if(isHuiWen){
System.out.println(str+"是回文");
}else{
System.out.println(str+"不是回文");
}
}
14**.输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。**
public void test4(){
Scanner scanner =new Scanner(System.in);
String str = scanner.nextLine();//nextLine避免遇到空格停止输入
System.out.println(str);
char[]array=str.toCharArray();
int english = 0;
int number = 0;
int blank = 0;
int other = 0;
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
if (array[i] >= 'a' && array[i] <= 'z' || array[i] >= 'A' && array[i] < 'Z'){
english++;
}else if(array[i] >= '0' && array[i]<='9'){
number++;
}else if(array[i] == ' '){
blank++;
}else{
other++;
}
}
System.out.println("其中英文字母有"+english+"个");
System.out.println("其中数字有"+number+"个");
System.out.println("其中空格有"+blank+"个");
System.out.println("其中其他字符有"+other+"个");
}