大家好,又见面了,我是你们的朋友全栈君。
Java测试
1.概述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; } }
输出结果:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157037.html原文链接:https://javaforall.cn