Java学习笔记(四)循环控制
来源:互联网 发布:怎么查看淘宝店铺扣分 编辑:程序博客网 时间:2024/05/22 15:15
4.1 for循环
For(初始化;条件;但不动作;)
{}
1,第一个是初始化,可以定义一个变量并赋值。
2,循环维持条件,与while一样进入循环先检测是否满足。
3,步进,每轮循环必须执行的表达式。while和for总是可以替换的
1,如果有明确的次数用for
2,必须执行一次用 do while
3,其他情况用while
tips:Int 取值范围 -2^31…… 2^31-1
几种循环的使用情况
如果有固定的次数,使用for
必须执行一次用do while
其他情况用while
4.2 循环控制
- 素数
import java.util.Scanner;public class Sushu { private static Scanner in; public static void main(String[] args) { in = new Scanner(System.in); int n = in.nextInt(); int isprme = 1; for(int i =2;i<n;i++ ) { if(n%i==0) { isprme = 0; break; } } if(isprme==1) { System.out.println(n+"是素数"); } else { System.out.println(n+"不是素数"); } }}
tips:
1,break可以用于3种循环,break的位置很重要,要注意。
2,Continue 可以跳过这轮循环,继续下一轮。
3,break和continue只能跳出它所在的那层循环
4,循环的前面可以有一行放一个 标号:
然后,break或continue 标号 可以作于与标号的那层循环
4.3 多重循环
- 数硬币
import java.util.Scanner;public class YB { private static int n; public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); n = in.nextInt(); out: for(int one = 0; one<n; one++) { for(int five = 0;five<n;five++) { for(int ten = 0;ten<n;ten++) { if(one+five*5+ten*10==n) { System.out.println(one+"张一元"+five+"张五元"+ten+"张十元"); break out; } } } { } } }}
tips:如果要让break跳出更上层的循环,最好在要跳出的循环加上标号
名字 :
4.4 逻辑类型
- .布尔类型 boolean
1,关系运算的结果只能是逻辑值,true或false。
这个值可以保存在一个对应的逻辑类型的变量中,这样的变量类型是boolean
2,布尔(boolean)是为了纪念Geprge boole对逻辑运算的贡献。
1 !A 如果ture就是false 否则想反
2 && a&&b 如果 ab都是 ture结果为ture,否则false
3,|| a||b ,如果ab有一个为ture,结果为ture,否则为false
4.5 循环计算
- 求和 f(n)=1+1/2+1/3+……+1/n;
import java.util.Scanner;public class Fn { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n =in.nextInt(); double sum =0.0; for(int i=1;i<=n;i++) { sum = sum +1.0/i;//用一个浮点数和整数做运算,会自动换算成浮点数 } System.out.printf("%.2f",sum); //printf("%.2f",)输出小数点后2位 }}
tips:
1,printf(“%.2f”,)输出小数点后2位
2,用一个浮点数和整数做运算,会自动换算成浮点数
- 最大公约数
import java.util.Scanner;public class gcd { private static Scanner in; public static void main(String[] args) { in = new Scanner(System.in); int a= in.nextInt(); int b= in.nextInt(); while(b!=0) { int r = a%b; a = b; b = r; } System.out.println(a); }}
作业
- 素数和
题目内容:
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
现在,给定两个整数n和m,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入格式:
两个整数,第一个表示n,第二个表示m。
输出格式:
一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。
输入样例:
2 4
输出样例:
5
import java.util.Scanner;public class Prime { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n,m; n = in.nextInt(); m = in.nextInt(); int sum =0; int[] numbers = new int[m+1]; for(int i =2;i<=m;i++) { for(int j = 2;i*j<=m;j++) { numbers[i*j] = 1; } } for(;n<=m;n++) { if(numbers[n]==0) { sum = sum +n; } } System.out.println(sum); }}
- 念整数
题目内容:
你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:
yi er san si
注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
fu er san si yi
输入格式:
一个整数,范围是[-100000,100000]。
输出格式:
表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。
输入样例:
-30
输出样例:
fu san ling
import java.util.Scanner;public class Shusu { private static Scanner in; public static void main(String[] args) { in = new Scanner(System.in); int number = in.nextInt(); int sum = 0; if(number<0) { System.out.print("负"); number = -number; } for(int a;number>0;) { a = number%10; number = number/10; sum = sum*10+a; }// System.out.println(sum); for(int b;sum>0;) { b= sum%10; switch(b) { case 0 :System.out.print("零"); break; case 1 :System.out.print("壹"); break; case 2 :System.out.print("贰"); break; case 3 :System.out.print("叁"); break; case 4 :System.out.print("肆"); break; case 5 :System.out.print("伍"); break; case 6 :System.out.print("陆"); break; case 7 :System.out.print("柒"); break; case 8 :System.out.print("捌"); break; case 9 :System.out.print("玖"); break; } sum = sum/10; }}}
- Java学习笔记(四)循环控制
- java学习笔记(七)流程控制之循环语句
- JAVA学习笔记(四) - 循环语句
- Java学习笔记之流程控制,数组(四)
- 四、java流程控制(三)——循环控制
- Shell 学习笔记四(循环语句)
- java笔记(四)之循环练习
- Linux 学习笔记(四)进程控制
- PHP学习笔记(四):流程控制
- scala学习笔记(四)流程控制
- Java SE学习笔记:运算符、流程控制语句、循环
- shell学习笔记四 循环
- 疯狂Java之学习笔记(8)-------------运算符和循环结构(流程控制)
- Java之学习笔记(8)-------------运算符和循环结构(流程控制)
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- Java核心技术学习笔记之三——Java中的控制流程for循环while循环
- 四.流程控制-学习笔记
- Java学习笔记(四)
- SQL实用小语句(SQL Server)
- 朴素贝叶斯实现
- 小玩意:时间显示
- 多线程
- 关于软件测试中的强连通图、MCDC覆盖以及testbed知识点汇总介绍
- Java学习笔记(四)循环控制
- 二级指针和二维数组的比较
- bitmap file res\xxx.png is not in 3.00 format 的处理方法
- TortoiseGit上传项目到github
- Ruby on Rails服务器文件上传
- 数据结构与算法分析(c++版) #2 初涉线性表
- linux下共享内存mmap和DMA(直接访问内存)的使用 2014-08-13 09:31:40 blog.chinaunix.net/uid-7374279-id-4413316.html
- Altera硬IP开发PCIe 之二 Arria V Hard IP for PCI Express用户指南
- CocoaPods是什么?