Java语法基础之for语句练习
发布时间:2023-11-07 03:06:17
控制语句——for练习
语句的嵌套应用
累加求和,计数器
循环嵌套
一、语句的嵌套应用
语句嵌套形式。其实就是语句中还有语句。形式多种多样,没有固定的格式和套路。
1、打印偶数
for(int x=1;x<=10;x++)
{ if(x%2==1)
continue;
System.out.prinln(“x=”+x);
}
二、累加求和,计数器
1、获取1~10的和,并打印。
思路://1,定义变量用于存储不断变化的和。
int sum = 0;
//2,定义变量,记录住不断变化的被加的数。
int x = 1;
//3,定义循环,重复加法的过程。
用while来体现
while(x<=10)
{
sum = sum + x;
x++;
}
System.out.println("sum="+sum);
循环注意:
一定要明确哪些语句需要参与循环,哪些不需要
class ForTest2
{
public static void main(String[] args)
{
//用for来体现。
int sum = 0;
for(int x=0; x<=10; x++)
{
sum += x;
}
System.out.println("for sum = "+sum);
}
}
小例子的小小总结:其实这就是累加思想。
原理:通过变量记录住每次变化的结果。
通过循环的形式,进行累加动作。
2、1~100之间 7的倍数的个数。并打印。
思路:
1,先对1~100进行循环(遍历)通过循环的形式。
2,在遍历的过程中,定义条件。只对7的倍数进行操作。
3,因为7的倍数不确定,只要符合条件,就通过一个变量来记录住这个变化的次数。
步骤:
1,定义循环语句,选择for语句。
2,在循环中定义判断。只要是7的倍数即可。使用if语句。条件:7的倍数 x%7==0;
3,定义变量,该变量随着7的倍数的出现而自增。
class ForTest3
{
public static void main(String[] args)
{
int count = 0;
for(int x=1; x<=100; x++)
{
if(x%7==0)
//System.out.println("x="+x);
count++;
}
System.out.println("count="+count);
}
}
小小示例的总结:
这就是计数器思想。通过一个变量记录住数据的状态变化。也许通过循环完成。
三、循环嵌套。
1,打印一个长方形。
class ForForDemo
{
public static void main(String[] args)
{
/*
****
****
****
*/
for(int x=0; x<3; x++)//
{
for(int y=0; y<4; y++)
{
System.out.print("*");
}
System.out.println();//只有一个功能就是换行。
}
System.out.println("-------------------");
}
}
****
****
****
对于打印长方形总结:外循环控制的行数。内循环控制的是每一行的列数。也就是一行中元素的个数。
2,打印一个直角三角形,脚尖朝下。
class ForForDemo
{
public static void main(String[] args)
{
/*
*****
****
***
**
*
发现图形有很多行,每一个行有很多列。
要使用嵌套循环。原理:形象说法:大圈套小圈。
*/
//int z = 5;
for (int x=0; x<5 ;x++ )//x<5:因为外循环控制行数。一共5行。
{
for (int y=x; y<5 ;y++)
{
System.out.print("*");
}
System.out.println();
//z++;
}
}
}
通过该示例小小总结:发现图形有很多行,每一个行有很多列。
要使用嵌套循环。原理:形象说法:大圈套小圈。
3,打印正三角、杨辉三角、九九乘法表
/*
*
**
***
****
*****
1
12
123
1234
12345
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
class ForForTest
{
public static void main(String[] args)
{
/*
*
**
***
****
*****
*/
for (int x=0; x<5 ;x++ )
{
for (int y=0 ; y<=x ; y++ )
{
System.out.print("*");
}
System.out.println();
}
System.out.println("----------------------");
/*
1
12
123
1234
12345
*/
for (int x=1; x<=5; x++)
{
for (int y=1; y<=x;y++ )
{
System.out.print(y);
}
System.out.println();
}
System.out.println("----------------------");
/*
九九乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
for (int x=1; x<=9 ; x++)
{
for (int y=1; y<=x; y++)
{
System.out.print(y+"*"+x+"="+y*x+"\t");
}
System.out.println();
}
}
}
通过正三角、杨辉三角、九九乘法表得出一些不是规律的规律:
所谓不是规律的规律:
尖朝上,可以改变条件。让条件随着外循环变化。
尖朝下,可以初始化值,让初始化随着外循环变化。
4,打印菱形(◇)或称为金字塔
/*
----*
---* *
--* * *
-* * * *
* * * * *
* * * * *
-* * * *
--* * *
---* *
----*
*/
class ForForTest2
{
public static void main(String[] args)
{
for (int x=0; x<5 ;x++ )
{
for(int y=x+1; y<5 ; y++)
{
System.out.print(" ");
}
for(int z=0; z<=x ; z++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
5、练习:3000米长的绳子,每天减一半。问多少天这个绳子会小于5米?不考虑小数。
class ForTest4
{
public static void main(String[] args)
{
int day = 0;
for(int x=3000; x>=5; x/=2)
{
day++;
}
System.out.println("day="+day);
}
}
通过上述练习,晓得了在遇到问题时,首先要明确问题是什么,其次自己是否有思路,然后将思路转换成java能识别的步骤,最后再通过java语言实现即可。


猜你喜欢
- Android 判断SIM卡属于哪个移动运营商第一种方法:获取手机的IMSI码,并判断是中国移动\中国联通\中国电信TelephonyMan
- C#调用MFC 窗口 DLLMFC DLL创建一个窗口类,加public和AFX_EXT_CLASSMFC DLL属性注意MFC的使用:在共
- 什么是序列化: 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储到磁盘(持久化)
- 最近要搞一个项目,需要上传相册和拍照的图片,不负所望,终于完成了! 不过需要说明一下,其实网上很多教程拍照的图片,都是缩略图不是
- 本文实例讲述了Android检查手机网络状态及网络类型的方法。分享给大家供大家参考。具体分析如下://judge network statu
- 1、概念向下转型就是父类对象转成子类对象。我们把一个父类引用 Animal类型的引用 给了一个 Bird类型 的引用,这就是向下转型2、格式
- 1.循环遍历private void GetControls(Control fatherControl){ Co
- 本文实例为大家分享了Android登录邮箱自动补全功能的实现方法,供大家参考,具体内容如下效果:实现原理:1、继承重写简单控件AutoCom
- 使用@Autowired注解有错误提示使用Spring boot +mybatis框架时,在service实现类中使用Mapper类,给Ma
- 本文告诉大家如何使用相同权限调用cmd并且传入命令。如果想要用相同的权限运行一个程序,可以使用 ProcessStartInfo 的方法&n
- 本文实例讲述了Java模拟计算机的整数乘积计算功能。分享给大家供大家参考,具体如下:计算机计算整数乘积的原理:实现代码:package ma
- web.xml中servlet> <servlet-name>SpringMVC</servlet-name>
- 问题(1)条件锁是什么?(2)条件锁适用于什么场景?(3)条件锁的await()是在其它线程signal()的时候唤醒的吗?简介条件锁,是指
- 作为工厂方法模式的孪生兄弟,相信大家对工厂方法模式和抽象工厂模式傻傻分不清楚吧。那么,就让我来拯救大家吧!抽象工厂模式定义:所谓抽象工厂模式
- 第一步:后端简单建个SpringBoot项目,提供一个 helloWorld接口;版本选用 2.2.6.RELEASEpackage com
- 本文实例讲述了C#图像处理之边缘检测(Sobel)的方法。分享给大家供大家参考。具体如下://定义sobel算子函数private stat
- 缘由首先说明一下为什么会有这篇文章。前段时间,插件化以及热修复的技术很热,Nuwa热修复的工具NuwaGradle,携程动态加载技术Dyna
- 1、ThreadLocal知识体系本文还是不能免俗,在回答这个问题之前需要先和大家介绍一下ThreadLocal的知识,使大家对Thread
- 一.使用场景一次请求需要往数据库插入多条数据时,可以节省大量时间,mysql操作在连接和断开时的开销超过本次操作总开销的40%。二.实现方法
- 进度条样式在项目中经常可以见到,下面小编给大家分享Android三种方式实现ProgressBar自定义圆形进度条。Android进度条有4