1.DoWhile
package cn.itcast.day03.DoWhile;
/*
do...while语句
基本格式:
do {
循环体语句;
}while(条件判断语句);
完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
1:执行初始化语句
2:执行循环体语句
3:执行条件控制语句
4:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
5:回到2继续
*/
public class DoWhile01 {
public static void main(String[] args) {
//需求:在控制台输出5次"HelloWorld"
int i=1;
do{
System.out.println("HelloWorld");
i++;
}while(i<=5);
}
}
2.For
package cn.itcast.day03.For;
public class for01输出数据 {
/*
输出数据
需求:
在控制台输出1-5和5-1
*/
public static void main(String[] args) {
for(int i=1;i<=5;i++){
System.out.println(i);
}
System.out.println("--------------");
for (int i=5;i>=1;i--){
System.out.println(i);
}
}
}
package cn.itcast.day03.For;
public class for02求和 {
/*
求和
需求:
求1-100之间的数据和,并把求和结果在控制台输出
*/
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
sum+=i;
}
System.out.println("1-100的和为:"+sum);
}
}
package cn.itcast.day03.For;
public class for03偶数和 {
/*
求偶数和
需求:
求1-100之间的偶数和,并把求和结果在控制台输出
*/
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=100;i++){
if(i%2==0){
sum+=i;//sum=sum+i
}
}
System.out.println("1-100的偶数和为:"+sum);
}
}
package cn.itcast.day03.For;
public class for04偶数和的平均数 {
/*
1,定义一个sum,求和
2,定义count,用于求出偶数的个数
3,用for循环将1-100的数拿出来
如果是偶数,相加,count++
4,sum/count
*/
public static void main(String[] args) {
int sum=0;
int count=0;
for(int i=1;i<=100;i++){
if(i%2==0){
sum+=i;
count++;
}
}
System.out.println("1-100的偶数和的平均数为:"+sum/count);
}
}
package cn.itcast.day03.For;
/*
水仙花
需求:
在控制台输出所有的"水仙花数"
*/
public class for05水仙花 {
public static void main(String[] args) {
//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
for(int i=100;i<1000;i++){
//在计算之前获取三位数中每个位上的值
int ge=i%10;
int shi =i/10%10;
int bai=i/100%10;
//判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
//输出满足条件的数字就是水仙花数
System.out.println(i);
}
}
}
}
package cn.itcast.day03.For;
/*
统计
需求:
统计"水仙花数"一共有多少个,并在控制台输出个数
*/
public class for06水仙花个数求和 {
public static void main(String[] args) {
//定义变量count,用于保存“水仙花数”的数量,初始值为0
int count =0;
//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束
for(int i=100; i<1000;i++){
//在计算之前获取三位数中每个位上的值
int ge=i%10;
int shi=i/10%10;
int bai=i/100%10;
//在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1
if (ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
count++;
}
}
//打印输出最终结果
System.out.println("水仙花数:"+count);
}
}
3.Random
package cn.itcast.day03.Random;
import java.util.Random;
public class Random01 {
public static void main(String[] args) {
Random rd=new Random();
//nextInt(int 10)-->指定范围内一个随机数
int result=rd.nextInt(10)+1;
System.out.println(result);
/*
需求:
一:1-100之间的随机数:
nextInt(100)+1-->(0-99)+1-->(1-100)
二:100-999之间的随机数
nextInt(900)+100-->(0-899)+100-->(100-999)
*/
}
}
package cn.itcast.day03.Random;
import java.util.Random;
import java.util.Scanner;
public class 猜数字 {
public static void main(String[] args) {
//1.创建Random对象
Random rd=new Random();
//2.调用Random中的nextInt(100)+1方法随机一个数
int rdNumber=rd.nextInt(100)+1;
while(true){
//3.创建Scanner对象
Scanner sc=new Scanner(System.in);
//4.调用scanner中的nextInt()方法猜一个数
System.out.println("请您输入一个数:");
int scNumber=sc.nextInt();
/*5.如果输入的比随机的大,输出"猜大了"
如果输入的比随机的小,输出"猜小了"
否则,”猜对了“
*/
if(scNumber>rdNumber){
System.out.println("猜大了");
}else if(scNumber<rdNumber){
System.out.println("猜小了");
}else{
System.out.println("猜对了");
break;
}
}
}
}
4.Switch
package cn.itcast.day03.Switch;
import java.util.Scanner;
public class Switch01 {
/*
春夏秋冬
需求:
一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于哪个季节,并输出。
春:3、4、5
夏:6、7、8
秋:9、10、11
冬:1、2、12
*/
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请你输入:");
int month=sc.nextInt();
switch(month){
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("有误");
break;
}
}
}
5.While
package cn.itcast.day03.While;
/*
while语句
基本格式:
while(条件判断语句) {
循环体语句;
}
完整格式:
初始化语句;
while(条件判断语句) {
循环体语句;
条件控制语句;
}
执行流程:
1:执行初始化语句
2:执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
3:执行循环体语句
4:执行条件控制语句
5:回到2继续
*/
public class while01 {
public static void main(String[] args) {
//for循环实现
for(int i=1; i<=5; i++) {
System.out.println("HelloWorld");
}
System.out.println("--------");
//while循环实现
int i=1;
while(i<=5){
System.out.println("我爱你");
i++;
}
}
}
package cn.itcast.day03.While;
/*
珠穆朗玛峰
需求:
世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度?
*/
public class while02珠峰 {
public static void main(String[] args) {
//定义一个计数器,初始值为0
int count = 0;
//定义纸张厚度
double paper = 0.1;
//定义珠穆朗玛峰的高度
int zf = 8844430;
//因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
//折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
while(paper <= zf) {
//循环的执行过程中每次纸张折叠,纸张的厚度要加倍
paper *= 2;
//在循环中执行累加,对应折叠了多少次
count++;
}
//打印计数器的值
System.out.println("需要折叠:" + count + "次");
boolean i;
i=paper<=zf;
System.out.println(i);
}
}
6.作业
package cn.itcast.day03.作业;
public class 三角形 {
public static void main(String[] args) {
for (int i = 1; i <=5; i++) {
for (int j =0; j <i ; j++) {
System.out.print("@");
}
System.out.println();
}
}
}
package cn.itcast.day03.作业;
public class 乘法表 {
public static void main(String[] args) {
for (int i = 1; i <=9 ; i++) {
for (int j =1; j <=i ; j++) {
System.out.print(j+"*"+i+"="+j*i+"\t");// \t代表空格
}
System.out.println();
}
}
}
package cn.itcast.day03.作业;
//print不换行
//println换行
public class 正方形 {
public static void main(String[] args) {
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
System.out.print("@");
}
System.out.println( );
}
}
}
package cn.itcast.day03.作业;
public class 输出所有猪年的年份 {
public static void main(String[] args) {
for (int i = 1994; i <=2019 ; i++) {
//如果年份和2019的差值是12的倍数,就是猪年
if((2019-i)%12==0){
System.out.println(i);
}
}
}
}
package cn.itcast.day03.作业;
public class 闰年 {
public static void main(String[] args) {
for (int year = 1949; year <=2100; year++) {
//年份能够被4整除但不能被100整除算是闰年,年份能被400整除也是闰年
if((year%4==0)&&year%100!=0||year%400==0){
System.out.println(year+"是闰年");
}
}
}
}
7.循环嵌套
package cn.itcast.day03.循环嵌套;
/*
循环嵌套
需求:
在控制台输出一天的小时和分钟
分钟和小时的范围:
分钟:0 <= minute < 60
小时:0 <= hour < 24
执行流程:
先走外层for循环,然后走内层for循环,内层for循环就一直循环,直到内层for循环结束,
外层for循环进行第二次循环,直到外层for循环都结束了,整个才结束。
*/
public class 循环嵌套01 {
public static void main(String[] args) {
for(int hour=0;hour<60;hour++){
for(int minute=0;minute<60;minute++){
System.out.println(hour+"时"+minute+"分");
}
}
}
}
8.控制跳转语句
package cn.itcast.day03.控制跳转语句;
/*
continue:用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行
break:用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环
*/
public class continue和break {
public static void main(String[] args) {
for(int i = 1; i<=5; i++) {
if(i%2 == 0) {
//continue;
break;
}
System.out.println(i);
}
}
}