-
2021-02-25 18:35:44
展开全部
帮你简单的看了下,是你的程序有逻辑问题,导致while死循环62616964757a686964616fe4b893e5b19e31333365666237了,帮你简单的修改下,但是明确说明还有BUG的存在,比如Lower_Limit<2等,这个你再仔细琢磨琢磨吧import java.util.Scanner;
public class isPrime {
private Scanner sysin;
public void run() {
Scanner sysin = new Scanner(System.in);
System.out.println("This program get prime between Lower_Limit and Upper_Limit.");
System.out.println("Enter the Lower_limit : ");
long Lower_Limit = sysin.nextLong();
System.out.println("Enter the Upper_Limit : ");
long Upper_Limit = sysin.nextLong();
while (Lower_Limit >= Upper_Limit) {
System.out.println("Shut Down");
System.exit(0);
}
for (long i = Lower_Limit; i <= Upper_Limit; i++) {
count(i);
}
}
private long count(long i) {
long c = 2;
while (true) {
long x = 0;
x = i % c;
if (c == i - 1) {
System.out.println(i + " is a prime number.");
break;
}
if (x == 0) {
System.out.println(i + " is not a prime number. ");
break;
}
c += 1;
}
return i++;
}
public static void main(String[] args) {
new isPrime().run();
}
}
更多相关内容 -
java for循环体循环一定次数终止程序重新开始循环(不是break,就是点那个正方形的那种终止)
2015-04-05 04:52:23//终止循环体,在保留aid最后一次值的基础上,程序从这个位置重新开始运行。 for(aid=91322;aid;aid++){ q=bili.inputav(aid,page); j1++; System.out.println(aid+"连续扫描"+j1+"次"+"搜索到了"+... -
java如何解决循环引用
2021-03-15 17:59:39Excel 循环引用产生的原因及解决方法 来源:excel 格子社区 我们打开 ...(Garbage Collection Thread) , 来跟踪每一块分配出去的内存空间, Java 虚拟机 当(Java Virtual Machine) 处于空闲循环时, 垃圾收集器线程会...Excel 循环引用产生的原因及解决方法 来源:excel 格子社区 我们打开 ...
(Garbage Collection Thread) , 来跟踪每一块分配出去的内存空间, Java 虚拟机 当(Java Virtual Machine) 处于空闲循环时, 垃圾收集器线程会自动检查每一快分配......
每个分代可以使用不同的垃圾收集器 Java基于分代垃圾收集策略 Java中如何检测垃圾对象的?找到GC Root集合 ? 本地变量和局部变量引用的对象 ? 方法区中类静态属性......
。 4. Java 的引用类型 对垃圾回收器来说判断一个对象是否可和谐的标准就在于该对象是否被某个对象引用了。Java 引用对象的类 型是分为 4 种情况的。 强引用......
21、String 和 StringBuffer 的区别 22、gc 的概念,如果 A 和 B 对象循环引用,是否可以被 GC? 23、Java 中的内存溢出是如何造成的 24、String s = “123......
详细介绍 Java 垃圾回收机制 垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们 曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部......
路漫漫其修远兮,吾将上下而求索 - 百度文库 Java 虚拟机调优原理及技巧一、相关概念基本回收算法 1. 引用计数(Reference Counting) 2. 比较古老的回收算法。原理......
Java 使用有向图的方式进行内存管理,可以消除引用循环的问题,例如有三个 对象,相互引用,只要它们和根进程不可达的,那么 GC 也是可以回收它们的。 这种方式的优点......
原理是此对象有一个引用,即增加一个计数,删除 一个引用则减少一个计数。垃圾回收时,只用收集计数为 0 的对象。此算 法最致命的是无法处理循环引用的问题。 2.......
(Garbage Collection Thread) ,来跟踪每一块分配出去的内存空间, 当 Java 虚拟机(Java Virtual Machine)处于空闲循环时,垃圾收集器 线程会自动检查每一快分配出去......
通使 【 关键词 】aa 垃圾收集; 学 :Jv;教用计数算法 无法 正确 释放循环引用的 内存 块。 f )复制 算法 2J 序设 计 已在 很多院校中被列 为计 算......
对垃圾回收器而言,定位这样存在交互引用的对象 组所需的工作量极大. Java虚拟机采用一种“自适应”的垃圾回收技术.至 于如何处理找到的存活对象,取决于不同的......
缺点: 无法检测出循环引用。如父对象有一个对子对象的引用,子对象反 过来引用父对...
Java 如何获得 ResultSet 的总行数? 取得 ResultSet 行数的方法主要有以下几种: 1. 用 ResultSet 的 getRow 方法来取得总行数 2. 利用循环 ResultSet 元素的......
缺点: 无法检测出循环引用。如父对象有一个对子对象的引用,子对象反过来引用父对象...
缺点: 无法检测出循环引用。如父对象有一个对子对象的引用,子对象反 过来引用父对...
Java虚拟机 垃圾收集算法 01 引用计 数法 02 标记清 除法 03 标记整 理法 04 复制算 法 05 分代算 法 引用计数法 概念 用来表示对象存在一个引用,计数 ......
有几种方法可以解决这一问题,比如说使用特殊的“弱”引用,或者使用一个特殊的算法回 收循环引用。之前提到的 Perl,Python 以及 PHP 等语言,都是使用类似的方法......
->垃圾回收器模型: 引用计数器法(不能解决循环引用), 标记-清除(ma...
比如说一个循环链表,他们循环引用者,引用计数 永远不会为零,但是实际上程序已经不能访问他们了,他们应该被回收。 1.3 所以 Java 实际上是使用基于 GC Roots 的......
-
Java语言-for循环详解
2021-09-27 16:52:01虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。 for循环执行的次数是在执行前就确定的。 语法格式如下:虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。 for循环执行的次数是在执行前就确定的。 语法格式如下:
for(初始化; 布尔表达式; 更新) { //代码语句 }
关于 for 循环有以下几点说明:
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
- 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量。
- 再次检测布尔表达式。循环执行上面的过程。
三种类型
- 简单for循环
- for-each或增强型for循环
- 标记for循环
这里了解一下就可以,慢慢学
注意:for 关键字后面括号中的 3 个条件表达式必须用“;”隔开
实例:
public class Test { public static void main(String args[]) { for(int x = 10; x < 20; x = x+1) { System.out.print("value of x : " + x ); System.out.print("\n"); } } }
运行结果:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
for 循环语句执行的过程为:首先执行条件表达式 1 进行初始化,然后判断条件表达式 2 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行表达式 3,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件表达式 2 的值为 false,才结束循环,其运行流程如图 1 所示。
值得指出的是,for 循环的循环迭代语句并没有与循环体放在一起,因此即使在执行循环体时遇到 continue 语句结束本次循环,循环迭代语句也一样会得到执行。
for 循环和 while、do while 循环不一样:由于 while、do while 循环的循环迭代语句紧跟着循环体,因此如果循环体不能完全执行,如使用 continue 语句来结束本次循环,则循环迭代语句不会被执行。但 for 循环的循环迭代语句并没有与循环体放在一起,因此不管是否使用 continue 语句来结束本次循环,循环迭代语句一样会获得执行。
与前面循环类似的是,如果循环体只有一行语句,那么循环体的大括号可以省略。
例如,同样是计算 5 的阶乘,使用 for 循环的实现代码如下:
public static void main(String[] args) { int result = 1; for (int number = 1; number <= 5; number++) { result *= number; } System.out.print("5 的阶乘结果是:" + result); // 输出"5的阶乘结果是:120" }
上述语句的含义可以理解为,将 number 变量的值从 1 开始,每次递增 1,直到大于 5 时终止循环。在循环过程中,将 number 的值与当前 result 的值进行相乘。
for 语句中初始化、循环条件以及迭代部分都可以为空语句(但分号不能省略),三者均为空的时候,相当于一个无限循环
所以,for循环一般适合循环次数是已知的操作
特点
- 初始化的条件可以使用局部变量和外部变量
- 使用局部变量时,控制执行在 for 结束后会自动释放,提高内存使用效率
- 且变量在 for 循环结束后,不能被访问
- 先判断,再执行
---------------------------------------------------深入扩展-----------------------------------------------
Java 增强 for 循环
Java5 引入了一种主要用于数组的增强型 for 循环。
Java 增强 for 循环语法格式如下:
for(声明语句 : 表达式) { //代码句子 }
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
for循环中的break与continue
break 关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
语法
break 的用法很简单,就是循环结构中的一条语句:
break;
continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
语法
continue 就是循环体中一条简单的语句:
continue;
for循环扩展学习
···················································一般写法···············································
遍历数组的传统方式
/* 建立一个数组 */ int [] integers={1,2,3,4}; /* 开始遍历 */ for (int j=0;j<integers.length;j++){ int i = integers[j]; System.out.println(i); }
遍历Collection对象的传统方式
/* 建立一个Collection */ String[] strings = {"A", "B", "C", "D"}; Collection stringList = java.util.Arrays.asList(strings); /* 开始遍历 */ for (Iterator itr = stringList.iterator(); itr.hasNext();) { Object str = itr.next(); System.out.println(str); }
···················································其他写法···············································
遍历数组的简单方式
/* 建立一个数组 */ int[] integers = {1, 2, 3, 4}; /* 开始遍历 */ for (int i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ }
遍历数组的简单方式的等价代码
/* 建立一个数组 */ int[] integers = {1, 2, 3, 4}; /* 开始遍历 */ for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) { System.out.println(integers[变量名甲]); /* 依次输出“1”、“2”、“3”、“4” */ }
防止在循环体里修改循环变量
禁止重新赋值
int[] integers = {1, 2, 3, 4}; for (final int i : integers) { i = i / 2; /* 编译时出错 */ }
这只是禁止了对循环变量进行重新赋值。给循环变量的属性赋值,或者调用能让循环变量的内容变化的方法,是不被禁止的。
允许修改状态
Random[] randoms = new Random[]{new Random(1),new Random(2), new Random(3)}; for (final Random r : randoms) { r.setSeed(4); /* 将所有Random对象设成使用相同的种子 */ System.out.println(r.nextLong()); /* 种子相同,第一个结果也相同 */ }
提示:部分类容查询了CSDN部分博客教程,许多部分新手不会涉及,了解即可,不必要详细学习!
-
Java do while循环语句用法
2021-02-27 19:06:57循环语句whileJava do while循环语句用法do-while循环,先执行一次,然后在判断,如果条件成立,在循环执行,如果不成立,继续往下执行语法do {statement(s)} while (expression);布尔表达式在循环体的后面,所以...首页 > 基础教程 > 循环条件语句 > 循环语句while
Java do while循环语句用法
do-while循环,先执行一次,然后在判断,如果条件成立,在循环执行,如果不成立,继续往下执行
语法
do {
statement(s)
} while (expression);
布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
与while区别
while循环语句只有循环条件满足时,才执行循环体;不满足,则跳过循环体!do while 循环语句至少执行一次循环,实例如下:
public class Test{
public static void main(String[] args){
int i = 1;
do{
System.out.println(i);
i++;
}
while(i<30); //do-while循环,先执行一次,然后在判断,如果条件成立,在循环执行,如果不成立,继续往下执行
}
}
总结
do...while循环特点是先执行一次,执行完一次后再判断条件,满足条件了再执行,不满足条件就结束,换句话说,do...while和while的区别是,while先判断后执行,而do...while至少要执行一次。
do...while适合至少执行一次且循环次数不固定的时候,当循环次数固定的时候推荐使用for循环。
实例
public class Test {
public static void main(String[] args) {
int x = 10;
do {
System.out.print("value of x : " + x);
x++;
System.out.print("\n");
} while (x < 20);
}
}
以上实例编译运行结果如下:
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
语法示例
publicclassWhileDemo {
publicstaticvoidtest(){
inti=0;
intj=0;
intcount=0;
intcount01=0;
while(i<3){
count++;
i++;
}
do{
count01++;
j++;
} while(j<3);
System.out.println(count);
System.out.println("==============");
System.out.println(count01);
}
publicstaticvoidtest01(){
inti=0;
intj=0;
intcount=0;
intcount01=0;
while(i==3){
count++;
i++;
}
do{
count01++;
j++;
} while(j==3);
System.out.println(count);
System.out.println("==============");
System.out.println(count01);
}
publicstaticvoidmain(String[] args) {
WhileDemo.test();
WhileDemo.test01();
}
}
运行结果为:
3
==============
3
0
==============
1
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。
-
java while循环_Java while循环
2020-07-14 03:04:52java while循环Java while loop is used to execute a block of statements continuously till the given condition is true. Earlier we looked into java for loop. Java while循环用于连续执行语句块,直到给定... -
Java中增强for循环总结
2021-02-26 10:19:361 增强for循环增强for循环是for的一种新用法!用来循环遍历数组和集合。1.1 增强for的语法for(元素类型 e : 数组或集合对象) {}例如:int[] arr = {1,2,3};for(int i : arr) {System.out.println(i);}增强for的... -
java如何终止多层循环
2021-02-12 09:38:42展开全部众所周知,在Java中,如32313133353236313431303231363533e58685e5aeb931333335313762果想跳出for循环,一般情况下有两种方法:break和continue。break是跳出当前for循环,如下面代码所示:... -
JAVA怎么实现循环输入
2021-02-12 23:53:52展开全部JAVA实现循环输入的方法(拿学生成绩举例):1、e69da5e6ba9062616964757a686964616f31333365643662Java语言从键盘输入一个整型:importjava.util.Scanner;publicclassTest{publicstaticvoidmain(Stringargs[]... -
Java 双重 for 循环
2020-11-19 19:24:20在for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。 实例: 1.钟表时间: public static void main(String[] args) { for (int i = 1; i <= 12 ; i++) { System.out.println... -
java如何跳出for循环?
2021-03-10 09:20:07不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。 break不仅可以结束其所在的循环,还可结束其外层循环。此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。... -
java中for循环的6种写法
2021-02-27 11:55:49packageForLoop;importjava.util.ArrayList;importjava.util.Iterator;.../*** java中for循环的6种写法**@authorPanda.Pan** @创建时间:2014-2-28 上午09:39:13*/public classForLoop {public static voidmain(... -
java for循环及其优化
2021-03-16 11:37:30for循环1.首先知道,for循环的3个表达式的意思:表达式1: 一般为赋值表达式,给控制变量赋初值;表达式2: 关系表达式或逻辑表达式,循环控制条件;表达式3: 一般为赋值表达式,给控制变量增量或减量。3个表达式都... -
Java 结束循环
2019-04-28 08:10:17开发工具与关键技术:Myeclipse 10,Java 作者:刘俊杰 撰写时间:2019年04月24日 Break控制循环 在任何循环语句的主体部分,均可用break控制循环的流程。break用于强制退出循环,不执行循环中剩余的语句。(break... -
java怎么实现循环输入一个数?
2021-03-09 22:17:10本篇文章中我将和大家讲讲java如何实现循环输入。想要实现循环输入,我们需要调用Scanner类。下面介绍一下Scanner类!Scanner是一个基于正则表达式的文本扫描器,我们可以通过 Scanner 类来获取用户的输入。Scanner... -
Java优化for循环嵌套的高效率方法
2021-02-28 19:16:31前几天有人问过我一个问题,就是两个嵌套for循环执行效率的问题,问有什么好的办法替换。当时我想了想,实在想不起来,哎,惭愧!!! 请教了答案,恍然大悟。比如:两个list中分别装有相同的对象数据。 list1中有3... -
Java跳出多层循环
2019-01-23 20:03:09在Java中,可以使用标签很方便的跳出多层循环 public static void main(String[] args){ label: for (int i = 0; i &lt; 10; i++) { for (int j = 0; j &lt; 10; j++) { System.out.println(&... -
Java8 替换for循环的方法,Java8简洁的for循环
2019-07-29 16:11:47Java 8 开始,我们有多个强大的新方法可以帮助我们简化复杂的迭代。在本文中,您将了解如何使用 InStream 方法、range、iterate 和 limit 来迭代范围和跳过范围中的值。还将了解新的 takeWhile 和 dropWhile 方法。 ... -
Java for循环语句
2021-03-05 14:18:271、Java for 循环当确切地知道要遍历代码块的次数时,使用for循环更方便而不是while循环:语法for (statement 1; statement 2; statement 3) {// 要执行的代码块}statement 1在执行代码块之前执行(一次)。statement ... -
Java中结束循环的方法
2020-05-14 11:35:08Java中结束循环的方法 **1、**使用break结束本层循环 使用 break 标签; 语句,结束外层循环 public static void main(String[] args){ int i,j; outer: //外层循环的标签 for(i=0;i<3;i++) { for(j=... -
Java循环的三种方式
2021-08-06 15:14:08while循环先判断循环条件,如果条件成立,则执行循环体,循环完成后再判断一次循环条件,若成立,则继续执行循环体,直到循环条件不成立。 例如: int i = 1; while (i < 5) { ... -
java for无限循环
2020-09-15 13:40:51for无限循环的几个情况 ①判断条件为true,会无限循环 ②省略了判断条件,会无限循环 ---------------------------------------------------------------------------------------------------------------------... -
java跳出for循环的方法
2021-03-05 23:15:03java跳出for循环的方法发布时间:2020-06-26 15:56:42来源:亿速云阅读:193作者:Leah这篇文章将为大家详细讲解有关java跳出for循环的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章... -
java跳出循环的几种方式
2021-08-27 09:20:44java跳出循环的几种方式 1、break break:直接结束一个循环,跳出循环体。break以后的循环体中的语句不会继续执行,循环体外面的会执行 2、continue continue:中止本次循环,继续下次循环。continue以后的循环体中... -
java中常见跳出循环的方式总结
2021-12-30 08:54:13跳出循环方式: 1.break、continue、return 2.循环标记 -
while 循环java_Java做while循环
2020-07-14 01:54:52while 循环javaJava do-while loop is used to execute a block of statements continuously until the given condition is true. The do-while loop in Java is similar to while loop except that the condition ... -
java for循环_Java for循环
2020-07-14 03:24:52java for循环Java for loop is used to iterate over a range of values. We can use for loop to iterate over an array, a list, java set etc. Java for循环用于迭代一系列值。 我们可以使用for循环遍历数组, ... -
Java While循环 do-while循环用法
2021-03-10 03:57:04它的基本用法是:while (条件表达式) {循环语句}// 继续执行后续代码while循环在每次循环开始前,先会判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while... -
java中使用循环来实现猜数字小游戏
2021-12-18 14:35:54java实现猜数字小游戏 -
JAVA增强for循环
2020-12-09 22:31:09增强for循环 为什么需要增强for循环呢? 简化数组和集合的遍历。 想要使用增强for循环必须先要了解它的格式 增强for循环的格式 for(数据类型 变量名 : 数组或者集合对象){ //循环体,变量即元素 } 下边我们通过...