大家好,又见面了,我是你们的朋友全栈君。
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;
}
}
输出结果:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157037.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...