1.while循环:(先判断再执行)
public class demo1 {
public static void main(String[] args) {
int i=1;//定义一个变量
while(i<=10){ //使用变量进行判断,只要满足条件,执行模块代码
System.out.println("第"+i+"次写:好好学习天天向上");
i++;//改变变量以改变条件的结果,达到推出循环的目的
}
}
}
不要忘记i++,用来修饰变量的值,避免死循环
2.do while 循环:(先执行在判断)
public class demo3_1 {
public static void main(String[] args) {
//张浩先做测试题
//老师给出判断,如果不通过,则循环以上的过程
Scanner sc = new Scanner(System.in);
boolean needTest=false;
do {
System.out.println("张浩开始考试!");
System.out.println("请老师给出结果:(true为不通过,false为通过)");
needTest=sc.nextBoolean();
}while(needTest==true);
}
}
do while 以;号结尾,分号非常重要,不能省略
不要忘记i++,用来修饰变量的值,避免死循环
3.for循环:
public class demo1_1 {
public static void main(String[] args) {
for (int i = 0; i <10 ; i++) {
System.out.println("第"+(i+1)+"次:好好学习,天天向上");
}
}
}
4.练习:
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description 1020个西瓜,第一天卖出总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,
* 问几天后卖完
*/
public class test1 {
public static void main(String[] args) {
int num=1020;
int day=0;
do {
num=num/2-2;
day++;
}while(num>0);
System.out.println("经过"+day+"天,瓜卖完了");
}
}
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子的一半吃了,
* 又多吃一个,以后每天都吃掉前一天剩下的一半零一个。到第十天剩下一个桃子。求第一天摘了多少个桃子
*/
public class test2 {
public static void main(String[] args) {
int num=1;
int day=10;
do {
num=(num+1)*2;
day--;
}while(day>1);
System.out.println("第一天共摘:"+num);
}
}
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。
* 已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,
* 那么,一对兔子一年内(12个月)能繁殖成多少对? 分析:兔子的规律为数列,1,1,2,3,5,8,13,21
*/
public class test3 {
public static void main(String[] args) {
int a=1;
int b=1;
int sum=0;
for (int i = 3; i <=12 ; i++) {
sum=a+b;
a=b;
b=sum;
}
System.out.println(sum);
}
}
import java.util.Scanner;
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description任意输入一个整数(小于10位),输出它一共有多少位。
*/
public class test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("任意输入一个整数(小于10位):");
int num=sc.nextInt();
int count=0;
if (num==0){
count=1;
}else {
while (num!= 0) {
num /= 10;
count++;
}
}
System.out.println("您输入的数字为:"+count+"位");
}
}
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description计算1000以内所有不能被7整除的整数之和
*/
public class test5 {
public static void main(String[] args) {
int sum=0;
for (int i = 0; i <1000 ; i++) {
if (i%7!=0){
sum+=i;
}
}
System.out.println(sum);
}
}
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是
*/
public class test6 {
public static void main(String[] args) {
double cash=10000;
for (int i = 0; i < 5; i++) {
cash=cash*1.003;
}
System.out.println("5年后获得的本金:"+cash);
}
}
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description计算 1+2-3+4-5+6-7....+100的结果//注意审题
*/
public class test7 {
public static void main(String[] args) {
int sum1=-1;
int sum2=0;
for (int i = 3; i <100 ; i+=2) {
sum1+=i;
}
for (int j = 0; j <=100 ; j+=2) {
sum2+=j;
}
System.out.println(sum2-sum1);
}
}
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)
*/
public class text8 {
public static void main(String[] args) {
double heigh=0.08;
int count=0;
while(heigh<8848130){
heigh=heigh*2;
count++;
}
System.out.println("对折:"+count);
}
}
import java.util.Scanner;
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 5*4*3*2*1
*/
public class test9 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num=sc.nextInt();
/*int jie=num;
for (int i = 0; i < num; i++) {
jie*=(num-1);
num--;
}
System.out.println("阶乘为:"+jie);*/
int jie=num;
System.out.println("阶乘为:");
for (int i = 0; i <num ; i++) {
if(jie>1) {
System.out.print(jie + "*");
jie--;
}else{
System.out.print("1");
}
}
}
}
import java.util.Scanner;
/**
* @Author :Ersan
* @Date 2020/7/9
* @Description你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数
*/
public class test10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
int count1=0;
int count2=0;
do {
System.out.print("请输入一个正整数:");
num=sc.nextInt();
if (num%2==0){
count1++;
}else{
count2++;
}
}while(num!=-1);
System.out.println("偶数个数:"+count1+"奇数个数"+(count2-1));
}
}
答案可以自己run下