Java基础测试

Java测试

 1.概述Java中标示符是什么?

 

一、不能以数字开头,由字母、下划线、美元符号组成。

二、不能把java关键字保留字作为标识符。

三、标识符没有长度限制。

四、标识符对大小写敏感。

 

 2.Java中运算符有哪些?

 

java中的运算符 可以分为以下几种类型

1.算术运算符      (+,-,*,/,%)

2.比较(关系)算符  (>,<,<=,<=,==,!=)

3.逻辑运算符      (||,&&,!)

4.赋值运算符      (=)

5.三元(三目)运算符

 

3.Java中基本程序结构有哪几种?分别描述写出语法。

 

顺序结构:程序至上而下的执行

分支结构:if…else,switch…case

1.单选

语法:if(表达式){

//code;

      }

2.双选

语法:if(表达式){

//code1;

  }else{

//code2;

  }

3.多选

语法:if(表达式1){

//code1;

  }[else if(表达式2){

//code2;

  }else if(表达式3){

//code3;

  }….]

  else{

  //code;

  }

switch语句语法

表达式 支持除long之外的整形

   jdk1.5 支持枚举

   jdk1.7 支持String

switch(表达式){

case 常量A:

//code1;

break;

case 常量B;

//code2;

break;

default:

//code n;

break;

}

switch语句进行判断 其实就是在这里进行 表达式==常量

 

4.描述方法?方法的特点,方法的语法。

 

方法是执行一段代码的集合

 

特点:减少代码冗余,使程序结构清晰,减少重复操作等

 

语法:

修饰符 返回值类型 方法名([参数1,参数2,…]){

//方法体;

[return 返回值;]

}

 

 5.什么是方法的重载?

 

两同一不同

两同:同类中,方法名相同;

一不同:方法参数列表不同:

1.参数个数 2.参数类型 3.参数顺序;

 public class Practice{
     //入口方法
     public static void main(String[]args){
         //1.百钱百鸡
         checken();
         //2.素数
         primeNumber(100,200);
         //3.打印图形
         graphical(4);
         multiplicationTable();
         //4.年龄
         int age=getAge(5);
         System.out.println(“第五个人”+age+”岁”);
         //5.杨辉三角
         printYang(10);
         //6.排序         
         int[]num={12,34,98,3,7,11};
         System.out.println(“原始数组”);
         print(num);
         //冒泡排序
         System.out.println(“冒泡排序”);
         bubbleSort(num);
         //选择排序
         System.out.println(“选择排序”);
         selectSort(num);
         System.out.println(“插入排序”);
         insertSort(num);
         //7.猴子桃子
         System.out.println(“一共有”+peach()+”个桃子”);
     }
     /* 
         1.编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡
         一钱三只,现有百钱欲买百鸡,共有多少种买法? 
         money:5*n1+3*n2+1/3*n3=100
         n:n1+n2+n3=100
     */
     public static void checken(){
         //外层循环买公鸡
         for(int n1=0;n1<20;n1++){
             //内层循环买母鸡
             for(int n2=0;n2<33;n2++){
                 //判断
                 if(15*n1+9*n2+(100-n1-n2)==300){
                     System.out.println(“买法:”+n1+”\t”+n2+”\t”+(100-n1-n2));
                 }
             }
         }
     }
     /**
         2.判断100-200之间有多少个素数,并输出所有素数。 
     */
     public static void primeNumber(int low,int hig){
         for(int i=low;i<=hig;i++){
             for(int j=2;j<=i;j++){
                 if(i%j==0){
                     if(i!=j){
                         break;
                     }else{
                         System.out.print(i+”\t”);
                     }
                 }
             }
         }
         System.out.println();
     }
     /* 
         3.输出以下图形
            *                1*1=1
           ***               1*2=2  2*2=4
          *****              1*3=3 2*3=6  3*3=9
         *******            …. 
     */
     public static void graphical(int n){
         //外层循环控制行数
         for(int row=0;row<n;row++){
             //内层循环控制列数
             //列数=空格数+星星数
             for(int col=0;col<n-row-1+row*2+1;col++){
                 if(col<n-row-1){
                     System.out.print(” “);
                 }else{
                     System.out.print(“*”);
                 }
             }
             System.out.println();
         }
     }
     public static void multiplicationTable(){
         int product=1;
         for(int row=1;row<=9;row++){
             for(int col=1;col<=row;col++){
                 product=col*row;
                 System.out.print(col+”*”+row+”=”+product+”\t”);
             }
             System.out.println();
         }
     }
     /** 
         4.有5个人坐在一起,
         问第五个人多少岁?他说比第4个人大2岁。
         问第4个人岁数,他说比第3个人   大2岁。
         问第三个人,又说比第2人大两岁。
         问第2个人,说比第一个人大两岁。
         最后问第一个人,他说是10岁。
         请问第五个人多大?(用递归方法计算) 
     */
     public static int getAge(int n){
         if(n==1)
             return 10;
         else
             return getAge(n-1)+2;
     }
     /**
        5.打印输出杨辉三角 
     */
     public static void printYang(int n){
         int num[][]=new int[n][];
         for(int row=0;row<num.length;row++){
             num[row]=new int[row+1];
             for(int col=0;col<=row;col++){
                 if(col==0||col==row){
                     num[row][col]=1;
                     System.out.print(num[row][col]+”\t”);
                 }else{
                     num[row][col]=num[row-1][col]+num[row-1][col-1];
                     System.out.print(num[row][col]+”\t”);
                 }
             }
             System.out.println();
         }
     }
     /* 
        6.分别写出 冒泡  插入  选择排序 
     */
     //冒泡排序
     public static void bubbleSort(int[]num){
         //外层循环控制比较轮数
         for(int i=0;i<num.length-1;i++){
             //内层循环控制每轮的比较次数
             for(int j=0;j<num.length-1-i;j++){
                 if(num[j]>num[j+1]){
                     //交互
                     swap(num,j,j+1);
                 }
             }
         }
         print(num);
     }
     //选择排序
     public static void selectSort(int[]num){
         for(int i=0;i<num.length-1;i++){
             int p=i;
             for(int j=0;j<num.length-1-i;j++){
                 if(num[j]>num[j+1]){
                     p=j;
                 }
             }
             if(p!=i){
                 swap(num,p,i);
             }
         }
         print(num);
     }
     //插入排序
     public static void insertSort(int[]num){
         for(int i=0;i<num.length-1;i++){
             for(int j=i+1;j>0;j–){
                 if(num[j]<num[j-i]){
                     swap(num,j,j-1);
                 }else{
                     break;
                 }
             }
         }
         print(num);
     }
     //数据交换
     public static void swap(int[]num,int a,int b){
         int tmp=num[a];
         num[a]=num[b];
         num[b]=tmp;
     }
     //打印数组
     public static void print(int[]num){
         for(int tmp:num){
             System.out.print(tmp+”\t”);
         }
         System.out.println();
     }
     /**
         7.海滩上有一堆桃子,五只猴子来分。
         第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
         第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,
         第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 
         猴子    剩余                        拿走的
         1        n                            (n-1)/5
         2        n-(n-1)/5-1                    (n-(n-1)/5-1)/5
         3        n-(n-1)/5-(n-(n-1)/5)/5

     */
     public static int peach(){
         int n=0,m=1;
         int i=0;
         while(true){             
             m=n;
             for(i=0;i<5;i++){
                 if((m-1)%5==0){
                     m=(m-1)/5*4;
                 }else{
                     break;
                 }
             }
             if(i==5&&m>0){
                 break;
             }
             n++;
         }
         return n;
     } 
 }

输出结果:

《Java基础测试》

 

点赞