JAVA萌新学习day4
程序员文章站
2022-07-14 20:03:37
...
JAVA萌新学习day4
一.while循环的基本使用
public class WhileDemo
{
public static void main(String[] args)
{
System.out.println("While循环基本使用");
//打印1-100自然数的和
/*
1.循环的初始条件,即定义循环变量,并赋初值.
2.循环的结束条件.
3.循环体的实现,在大括号中写现实的逻辑代码.
4.循环体需要有触发循环结束的条件,即循环变量改变的条件.
5.while循环执行过程,先计算条件表达式的值,如果为真,执行循环体,然后
再次计算条件表达式的值,如果为真,再次执行循环体,否则结束.
6.如果向提前结束循环,使用break语句.
*/
//定义变量i,赋值为1,从自然数开始累加
int i = 1;
//定义变量sum,赋值为0,用来记录最后的结果
int sum = 0;
//循环开始,检查条件是否为真
while(i <= 100)
{
//将当前的数加到最后的结果sum中
sum = sum + i;
//修改循环变量的值,即触发循环条件的改变,避免死循环
i++;
}
System.out.println("1-100自然数的和是:" + sum);
int j = 1;
int sum2 = 0;
while(j < 100)
{
if(j%2 != 0)
{
sum2 += j;
}
j++;
}
System.out.println("1-100自然数的奇数和是:" + sum2);
int k = 1;
int sum3 = 0;
while(k <= 100)
{
if(k%2 != 0)
{
//跳过本次循环,执行下一次
continue;
}
else
{
sum3 += j;
}
sum3 += j;
}
}
}
二.do while的基本使用
public class DoWhileDemo
{
public static void main(String[] args)
{
System.out.println("DoWhile循环基本使用");
/*
语法格式:do
{循环体代码}
while
(条件表达式);
1.执行流程:先执行do关键字后面打括号中的代码然后检查while
后面的条件表达式的值.
2.与while循环相比,dowhile至少会执行一次.
*/
//打印1-100以内同时能被3和5整除的数
int i = 1;
//如何输出类似效果:15+30+45+60+75+90=315
int sum = 0;
String info = "";
boolean state = true;//第一次
do
{
//同时被3和5整除的数
if(i % 3 == 0 && i % 5 == 0)
{
sum += i;
//state = false;
if(state)
{
info = info + i;
state = false;
}
else
{
info = info + "+" + i;
}
System.out.println("同时被3和5整除的数是:" + i);
}
i ++;//触发循环结束的条件变化
//state = false;
}
while(i < 100);
System.out.print(info + "=" + sum);
}
}
三.双重while循环的使用
public class DoubleWhileDemo
{
public static void main(String[] args)
{
System.out.println("双重while循环的使用");
int i = 0;
while(i < 10)
{
int j = 0;
while(j < 10)
{
//System.out.print((i * 10 + j) + " ");
System.out.printf("%-4d" , i * 10 + j);
j ++;
}
//打印换行符
System.out.println();
i ++;
}
}
}
我们可以做一个小小的乘法表
public class TableDemo
{
public static void main(String[] args)
{
System.out.println("做一个小小的乘法表");
int i = 9;
while(i >= 1)
{
int j = 9;
while(j >= 10-i)
{
System.out.print((10 - j) + "*" + i + "=" + ((10 - j) * i) + " " );
j--;
}
i--;
System.out.println();
}
}
}
四.for循环基本使用
public class ForDemo
{
public static void main(String[] args)
{
System.out.println("for循环基本使用");
/*
for(表达式1 ; 表达式2 ; 表达式3)
{
循环体代码
}
表达式1:为循环的初始值(初始条件)
表达式2:为循环结束的条件
表达式3:为改变循环的条件
1.执行过程:先执行表达式1,后检查表达式2,如果表达式2的值为真,则执行循环体
,接着执行表达式3,再次检查表打死2,如果为真,继续执行循环体,如果为假,则结
束循环.
*/
//输出1-100内能被3整除的数的个数,和能同时被3和5整除的个数
int a3 = 0;
int a35 = 0;
for(int i = 0 ; i < 1000 ; i ++ )
{
System.out.print(i + " ");
if((i + 1) % 10 == 0)
{
System.out.println();
}
if(i % 3 == 0)
{
a3 ++;
}
if(i % 3 == 0 && i % 5 == 0)
{
a35 ++;
}
}
System.out.println("能被3整除的个数有:" + a3 + "个");
System.out.println("能被3整除且能被5整除的个数有:" + a35 + "个");
}
}
五.双重for循环的使用
public class DoubleForDemo
{
public static void main(String[] args)
{
System.out.println("双重for循环的使用");
/*
while,dowhile和for循环对比
当确定循环次数时,一般用for
当无法确定循环次数时,一般用while
只要使用循环,就一定要避免发生死循环
contiune关键字是跳过本次循环
break关键字是结束当前循环
*/
//循环变量名一般用i和j命名
for(int i = 0 ; i < 10 ; i ++)
{
for(int j = 0 ; j < 10 ; j ++)
{
System.out.print((i*10 + j) + " ");
}
System.out.println();
}
}
}
下面让我们来做几道小小的作业题
1.找出水仙花数有哪些
public class HomeWorkDemo
{
public static void main(String[] args)
{
System.out.println("找出水仙花数有哪些");
for( int narcissus = 100 ; narcissus <= 999 ; narcissus ++ )
{
int a = narcissus / 100;
int b = narcissus / 10 % 10;
int c = narcissus % 10;
if((a*a*a + b*b*b + c*c*c) == narcissus)
{
System.out.println("水仙花有:" + narcissus);
}
}
System.out.println();
}
}
当然,这里我们找的是三位数内的水仙花数哦~
2.找出所有质数
public class HomeWorkDemo2
{
public static void main(String[] args)
{
System.out.println("找出所有质数");
for(int i = 2 ; i < 100 ; i ++ )
{
boolean a = true;
for(int j = 2 ; j < i ; j ++)
{
if(i % j == 0)
{
a = false;
break;
}
}
//在此位置,如何知晓内层循环进入过if语句???
//因为如果内层循环进入过if语句,说明当前的数不是质数
//如果内层循环没有进入过if语句,说明当前的数是质数
if(a)
{
System.out.println(i);
}
}
}
}
肯定是100以内的质数啦,如果你愿意,还可以找出更多。
3.计算1-20的所有整数的阶乘
public class HomeWorkDemo3
{
public static void main(String[] args)
{
System.out.println("计算1-20的阶乘");
int k = 1;
for( int i = 1 ; i <= 20; i ++)
{
for( int j = 1 ; j <= i ; j++)
{
if(j == i)
{
k *= j;
break;
}
}
System.out.println( i + "!=" + k);
}
}
}
上一篇: oracle主题——用户
下一篇: linux批量创建用户,并设置密码