欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基础语法练习

程序员文章站 2022-06-17 10:07:17
今天在练习java基础语法时,鄙人在网上找到一些比较的经典的习题。今天分享给大家,希望能给小伙伴们提供一点帮助,大家共同学习进步。九九乘法口诀表public class Test7 { public static void main(String[] args) { for(int i=1;i<=9;i++) {//控制行数 for(int k=1;k<=i;k++) {//控制每行的列数 System.out.print(k+"*"+i+"="+(i*k)+"\t"); } S...

今天在练习java基础语法时,鄙人在网上找到一些比较的经典的习题。今天分享给大家,希望能给小伙伴们提供一点帮助,大家共同学习进步。
九九乘法口诀表

public class Test7 {
 public static void main(String[] args) {
 for(int i=1;i<=9;i++) {//控制行数
 for(int k=1;k<=i;k++) {//控制每行的列数
 System.out.print(k+"*"+i+"="+(i*k)+"\t");
 }
 System.out.println();
 }
 }
}

互换两个数的值(不允许使用中间变量)

分析:这里的核心实际上就是算法问题
重点在于:理解变量的概念

public class Test8 {
 public static void main(String[] args) {
 int k1 = 10, k2 = 100;
 System.out.println("k1=" + k1 + ",k2=" + k2);
 k1=k1+k2;
 k2=k1-k2;
 k1=k1-k2;
 System.out.println("k1=" + k1 + ",k2=" + k2);
 }
}

输出三个数中的最大值和最小值

int k1 = 1, k2 = 2, k3 = 3;
int max;
int min = max = k1;
if (max < k2)max = k2;
if (max < k3)max = k3;
if (min > k2)min = k2;
if (min > k3)min = k3;
System.out.println("min:" + min + ",max:" + max);

输出1-100的奇数(每行输出6个)
分析:奇数+2=奇数,而且1-100之间的最小奇数为1

public class Test8 {
 public static void main(String[] args) {
 int count = 0;
 for (int k = 1; k <= 100; k = k + 2) {
 System.out.print(k + "\t");
 if (++count % 6 == 0)
 System.out.println();
 }
 }
}

菱形
解析:查找规律
空格数为【5-行数】,后续输出的 * 个数为【 2*行数-1 】
上半部分的输出

int k=5;
for(int i=1;i<=k;i++) {
 for(int j=0;j<k-i;j++)
 System.out.print(" ");
 for(int j=0;j<2*i-1;j++)
 System.out.print("*");
 System.out.println();
}

下半部分输出

for(int i=k-1;i>0;i--) {
 for(int j=0;j<k-i;j++)
 System.out.print(" ");
 for(int j=0;j<2*i-1;j++)
 System.out.print("*");
 System.out.println();
}
一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)
public class Test9 {
 public static void main(String[] args) {
 long res = 8;
 int count=0;
 // 不知道循环次数,所以可以使用while或者do/while
 while (true) {
 res *= 2;
 count++;
 if (res > 884813000)
 break;
 }
 System.out.println("共对折了"+count+"次!");
 }
}

打印出所有的水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3
= 153)
解析:int k=153; int baiWei=k/100;//百位数 int geWei=k%10;//个位数 int shiWei=(k-baiWei*100)/10;//十位数 k/10%10

public class Test9 {
 public static void main(String[] args) {
 for (int k = 100; k < 1000; k++) {
 int baiWei = k / 100;// 百位数
 int geWei = k % 10;// 个位数
 int shiWei = (k - baiWei * 100) / 10;// 十位数 k/10%10
 if (k == baiWei * baiWei * baiWei + geWei * geWei * geWei +
shiWei * shiWei * shiWei) {
 System.out.println(k + "是水仙花数!");
 }
 }
 }
}

判断一个数是否质数
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。例如3、7等

public class Test9 {
public static void main(String[] args) {
 int k = 6;
 boolean bb = true;
 for (int i = 2; i < k / 2; i++) {
 if (k % i == 0) {
 bb = false;
 break;
 }
 }
 if (bb)
 System.out.println(k + "是质数");
 else
 System.out.println(k + "不是质数");
 }
}

1-100求和(for while等三种循环写法)
死循环跳出的写法
while(true)----break 一般用于无法提前预知循环次数

public class Test8 {
 public static void main(String[] args) {
 int res = 0;
 int k = 1;
 while (true) {
 res += k++;
 if (k > 100)
 break;
 }
 System.out.println("1+2+3+...+100=" + res);
 }
}

do/while—break; 一般不使用do…while(true) 一般用于至少需要执行一次的场景

public class Test8 {
 public static void main(String[] args) {
 int res = 0;
 int k = 1;
 do {
 res += k++;
 if (k > 100)
 break;
 } while (true);
 System.out.println("1+2+3+...+100=" + res);
 }
}

for循环

public class Test8 {
 public static void main(String[] args) {
 int res = 0;
 int k = 1;
 for(;;) { //三个表达式均为空
 res+=k++;
 if(k>100)
 break;
 }
 System.out.println("1+2+3+...+100=" + res);
 }
}
public class Test8 {
 public static void main(String[] args) {
 int res = 0;
 for (int k = 1;;) {//表达式1不为空,剩余为空
 res += k++;
 if (k > 100)
 break;
 }
 System.out.println("1+2+3+...+100=" + res);
 }
}
public class Test8 {
 public static void main(String[] args) {
 int res = 0;
 for (int k = 1;; k++) {
 if (k > 100)
 break;
 res += k;
 }
 System.out.println("1+2+3+...+100=" + res);
 }
}

以上就是我所整理出来的java基础语法中,一些我认为比较经典的习题。希望有兴趣的小伙伴们在下面认真练习哟!!!

本文地址:https://blog.csdn.net/weixin_53869835/article/details/112210865

相关标签: java 编程语言