java循环语句(个人笔记六)
Lession5 流程语句句
1 while循环
//执行语句
} 特别强调 绝对不要加分号=>while() ;
//例子 int age=1; while循环死循环
while(age<=10){
System.out.println("学习了"+age+"年");
age++;
}
//例子 while循环输出一年365天
int day=1;
while(day<=365)
{
System.out.println("第"+day+"天");
++day;
}
//例子 输入一个数字,如果这个数字是8888,就结束,如果不是,把它打印出来,继续输入
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int num =scan.nextInt(); //从键盘输入一个数字
while(num!= 8888)
{
System.out.println("您输入的数字是"+num);
System.out.println("输入的不对,请再输入");
num=scan.nextInt(); //再输入
}
System.out.println("输入正确,程序结束");
scan.close();
}
}
//例子 死循环 标准死循环
while(true)//这是一个死循环
{
System.out.println("我要杀小日本儿");
}
//对于死循环后面编写的代码,编译将出错,因为它不可能被执行到
System.out.println("我还有机会执行到吗"); //错误 Unreachable code
//例子 跳出死循环
int a=10;
while(true)
{
System.out.println("我要杀小日本儿");
a++;
if(a>100){
break; //从循环中跳出
}
}
System.out.println("我还有机会执行到吗"); //可达
2 do while while(条件表达式) {
循环体
}
//这是do while 循环
do{
循环体
}
while(条件语句);
和 while 循环的区别
do while 会先执行一遍循环体中的内容 (不管三七二十一 )
//例子 输出12个月
int month=0;
do{
month++;
System.out.println("当前是第"+month+"月");
}
while(month<12);
【java循环语句(个人笔记六)】
//例子,输入一个数字,如果这个数字是8888,就结束,如果不是,把它打印出来,继续输入
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int num=0; //变量在使用前,必须初始化The local variable num may not have been initialized
Scanner scan=new Scanner(System.in);
do {
num=scan.nextInt();
System.out.println("你输入的数字是"+num);
}
while(num!=8888);
System.out.println("输入正确,程序结束");
scan.close();
}
}
//例子,随机生成10个数,值在1-9之关, 并把最大的挑出来
1) 随机数生成的方法
//java.lang 包下的类,使用的时候,可以不用导包
//Math.random() 能生成一个随机数 ,是个小数,值在 0(包含)-1(不包含)之间
//double num=Math.random(); //生成一个0-1之间的随机小数
double num=(int)(Math.random()*10); //注意优先级,扩号不能少
System.out.println(num);
2) 本题
public class Test {
public static void main(String[] args) {
int max=0;
int i=0;
do{
int num=-(int) (Math.random()*10);
if(i==0) { //v如果是第一次循环,直接把生成的数赋值给max
max=num;
}
if(max
}
System.out.print(num+"\t");
i++;
}
while(i<10);
System.out.println("最大的数是"+max);
}
}
3 for循环 for(初始化表达式; 条件表达式; 循环后的操作表达式){
//循环体
}
//例一
for(int i=0; i<10; i++){
System.out.println("hello world"+"第"+(i+1)+"遍");
}
//1 执行初始化表达式,只执行一次
//2 执行条件表达式
//3 如果条件成立,执行循环体,条件不成立,循环结束
//4 执行完循环体,执行循环后的执行语句
//例二
int i=0;
for(System.out.println("哈哈,我就这么初始化不行咋地?"); i<3; System.out.println("这就是我循环完要做的事")){
System.out.println("这是循环体");
}
编译报错,第二个表达式,必须是条件表达式(能返回true或false) 才行//System.out.println("这就是我家的条件表达式"); 出错
//例三 本例可以编译通过
int i=0;
for(System.out.println("哈哈,我就这么初始化不行咋地?"); i<3; System.out.println("这就是我循环完要做的事")){
i++;
System.out.println("这是循环体");
}
结果:
哈哈,我就这么初始化不行咋地?
这是循环体
这就是我循环完要做的事
这是循环体
这就是我循环完要做的事
这是循环体
这就是我循环完要做的事
//例四用for 写的死循环
for(; ; ){
//操作使条件表达式永远成立
}
//例五 输出 0-99
int i;
for(i=0; i<100; i++) { //如果这里写成 int i=0,则和上面的定义重复出,编译将出现错误: Duplicate local variable 重复的局部变量
System.out.println(i);
}
System.out.println("现在i的值是"+i); //这个i是局部变量,在for循环中定义的i=>100
//例六 求1+2+3+...100 的合
int s=0;
for(int i=1; i<=100; i++){
s=s+i;
}
System.out.println("合是"+s);
//例七 求0-10000之间所有能被888整除的数,还有它们的个数
int count = 0;
for (int i = 0; i < 10000; i++) {
if (i % 888 == 0) {
System.out.println(i);
count++;
}
}
System.out.print("能被888整除的数一共有" + count + "个");
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机