>[success] # while -- 循环
* 循环条件成立进入循环体,循环条件不成了就跳出循环
~~~
while(条件表达式) {
循环体;
}
~~~
>[danger] ##### 计算累加
~~~
public class SumTest {
public static void main(String[] args) {
int i = 1;
int sum = 0;
while (i <= 100) {
sum += i;
i++;
}
System.out.print(sum);
}
}
~~~
>[danger] ##### 输入数取反
* `123`为例子 先获取个位即`123 % 10` 得到`3` 将 `十位2 变成个位` 即 `123 / 10` 两个int 相除得到是 int 类型 得到了 `12` 在继续上一步 `12 % 10` 得到 `2`,依次 类推直到 `1 / 10` 两个 int 类型 相除 得到 `0` 即每一位都进行了相除循环结束
~~~
import java.util.Scanner;
class WhileReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
while (n > 0) {
int i = n % 10; // 取余数 获取当前个位数
System.out.print(i);
n = n / 10; // 取整数 获取剔除最后一位
}
}
}
~~~
* 循环并记录 ,每循环一次相对扩大10倍
~~~
import java.util.Scanner;
class WhileReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int res = 0;
while (n > 0) {
res = res * 10 + n % 10; // 3 32 321
n /= 10; // 12 1 0
}
System.out.println(n + "逆序后的结果是:" + res);
}
}
~~~
>[danger] ##### 求余数案例
~~~
public class Test {
public static void main(String[] args) {
/*
* 需求:给定两个整数,被除数和除数(都是正数,且不超过int的范围) 。
* 将两数相除,要求不使用乘法、除法和 % 运算符。
* 得到商和余数。
*
* 分析:
* 被除数 / 除数 = 商 ... 余数
*
* int a = 100;
* int b = 10;
*
* 100 - 10 = 90
* 90 - 10 = 80
* 80 - 10 = 70
* 70 - 10 = 60
* ...
* 10 - 10 = 0 (余数)
*
*/
// 1.定义变量记录被除数
int dividend = 100;
// 2.定义变量记录除数
int divisor = 37;
// 3.定义一个变量用来统计相减了多少次
int count = 0;
// 3.循环 while
// 在循环中,不断的用被除数 - 除数
// 只要被除数 是大于等于除数的,那么就一直循环
while (dividend >= divisor) {
dividend = dividend - divisor;
// 只要减一次,那么统计变量就自增一次
count++;
}
// 当循环结束之后dividend变量记录的就是余数
System.out.println("余数为:" + dividend);
// 当循环结束之后,count记录的值就是商
System.out.println("商为:" + count);
}
}
~~~
>[danger] ##### 回文数
~~~
public class Test {
public static void main(String[] args) {
/*需求:给你一个整数 x 。
如果 x 是一个回文整数,打印 true ,否则,返回 false 。
解释:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。*/
//分析:
//1.定义变量记录整数
int x = 12345;
//把x做一个临时存储,用来最后进行判断
int temp = x;
//2.定义变量记录最终的结果(反过来的数字)
int result = 0;
//3.利用循环从右往左获取x中的数字并拼接到result当中
//while
while(x != 0){
//获取到x最右边的数字
int ge = x % 10;
//获取一次数字之后,那么就要把当前最右边的数字给去掉
x = x / 10;
//拼接到result当中
result = result * 10 + ge;
}
System.out.println(result == temp);
}
}
~~~
>[info] ## while 和 for 不同点
* while循环更适合于明确循环条件但不明确循环次数的场合中。
* or循环更适合于明确循环次数或范围的场合中。
* while(true) 等价于 for(;;) 都表示无限循环
- windows -- 环境变量
- Vscode -- 编写java
- 初始java
- java -- 关键字
- 编写第一个java程序
- java -- 注释
- 计算机存储 -- 进制
- java -- 类型
- java -- 变量
- 数字类型
- 布尔类型
- 字符类型
- 类型转换
- 双等比较是什么
- java -- 运算符
- 算数运算符
- 字符串拼接
- 关系/比较运算符
- 自增减运算符
- 逻辑运算符
- 三目运算
- 赋值运算符
- 移位运算符
- 位运算符
- 运算符优先级
- java -- 流程控制语句
- if /else if /if -- 判断
- switch case分支结构
- for -- 循环
- 用双重for循环
- while -- 循环
- do while -- 循环
- 案例练习
- java -- 数组
- 数组的存储
- 数组的增删改查
- 数组的特点
- 数组案例
- 二维数组
- 数组的工具方法
- java -- 方法
- java -- 方法的重载
- java -- 方法的调用流程
- java -- 类方法传参注意事项
- java -- 方法练习案例
- 对比 return break continue
- for each循环
- java -- 基础练习
- java -- 面向对象
- java -- 创建类和对象
- java -- 访问控制符
- java -- 类成员方法
- java -- 构造方法
- java -- this
- java -- 封装
- java -- 对象内存图
- java -- 创建对象案例
- java -- static
- java -- 继承
- super -- 关键字
- java -- 构造块和静态代码块
- java -- 重写
- java -- final
- java -- 多态
- java -- 抽象类
- java -- 接口
- 引用类型数据转换
- 综合案例
- java -- 内部类
- java -- 回调模式
- java -- 枚举类型
- java -- switch 使用枚举
- java -- 枚举方法使用
- java -- 枚举类实现接口
- java -- javaBean
- java -- package 包
- java -- import
- java -- 递归练习
- java -- 设计模式
- 单例模式
- java -- 注解
- java -- 元注解
- Java -- 核心类库
- java -- 处理字符串
- Java -- String
- String -- 常用方法
- String -- 正则
- Java -- StringBuilder 和 StringBuffer
- 知识点
- Java -- StringJoiner 字符串拼接
- 练习题
- 字符串的总结
- Java -- 包装类
- Integer
- Double
- Boolean
- Character
- java -- 集合类
- java -- util.Collection
- Iterator接口
- java -- util.List
- java -- ArrayList
- java -- util.Queue
- java -- util.Set
- java -- util.Map
- java -- util.Collections
- Java -- Math
- Java -- java.lang
- Java -- Object
- Java -- 获取当前时间戳
- Java -- 异常
- Java -- java.util
- java -- Date
- java -- Calender
- Java -- java.text
- Java -- SimpleDateFormat
- Java -- java.time
- Java -- java.io
- java -- io.File
- java -- 泛型
- IDEA -- 用法