刷题笔记
刷题程序的基础结构:public class Main{//标准的程序入口}
输入的使用:
1.导入java.util.*;工具包
2.创建一个Scanner扫描器的变量sc
3.读取整数,浮点数,字符串的代码格式
● 读取整数: int n = sc.nextInt();
● 读取浮点数: double d = sc.nextDouble();
● 读取字符串:
● 读取一个单词: String s = sc.next();
● 读取一行完整字符串: String line = sc.nextLine();
**循环语句:**通过设定条件来控制代码重复执行 ●格式: 1.while循环 ●while(条件){代码}条件成立,执行一次代码之后再判断条件,成立继续执行,不成立结束运行 ●int age=5;while(age<18){sout("领牛奶");age++;} 2.for循环 ●for(定义变量;条件;更新变量){代码} ●for(int age=5;age<18;;age++){sout("领牛奶");} 3.do-while循环: ●do{代码}while(条件);//无论条件是否成立,至少会执行一次代码 ●控制词: break:打破,结束循环 continue:继续,跳过本次剩余的代码 继续下次 **循环样例代码**
例题1.统计一下三位数中有多少个全偶数
例题2.统计1200~2028年之间的闰年个数
例题3.判断一个整数是否为质数
例题3开始的错误做法;
● 错误逻辑是: “如果 num 除以 i 有余数(除不尽),就打印‘是质数’”。
● 后果: 比如 i=2 时,199 除以 2 确实除不尽,程序就会立刻打印“是质数”。但实际上我们还没检查完其他的数(比如 3, 5, 7…)。只要有一个数能整除它,它就不是质数。
● 正确逻辑: 我们要找的是“能不能被整除”。如果发现了能整除的数( num % i == 0 ),说明它不是质数,直接结束判断。只有当所有数都试完了都没发现能整除的,它才是质数。
范围错误:循环起点
看第 6 行: for(int i=1; …)
任何整数都能被 1 整除。如果你从 1 开始检查, 199 % 1 == 0 永远成立,这会干扰判断。通常从 2 开始试除。
此题用到了Boolean和break