逻辑运算符的优先级高于关系运算符
所以:1<=s<=2不行
流程控制语句
控制语句分类
**顺序结构**
顺序结构就是从加载main函数开始,从上到下依次执行;
判断和选择结构(if, switch)
**循环结构(for, while, do…while)**
判断结构–if语句
//格式一
if (关系表达式) {
语句体;
}
//格式二
if (关系表达式) {
语句体1;
} else {
语句体2;
}
//格式三:
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
- 首先计算关系表达式的值,为true就执行语句体,
值为false就不执行语句体。 - 然后继续执行后面的语句内容。
注意
1.如果大括号中的语句体只有一条,那么大括号可以省略不写
2.如果大括号省略了,那么if只能控制距离他最近的那一条语句。
Switch语句
//格式
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
注意
-
表达式内的值的类型一定要与case 后数据的类型一致!
-
而且,只有表达式内的值与case 后的值相同,才可以执行后面的语句,否则只能执行default语句;
-
default 语句可有可无;
-
default语句不管在什么位置,都是所有case语句都不匹配后才执行它;
-
break;语句可以没有,如果没有,就会继续向下执行,也叫case击穿。例子如下:
判断次数极少用if,稍微多一点,10个左右吧用case.再多的话就要用到循环啦!!
循环语句
while(条件){
语句体;
}
do{
语句体;
}while(条件);
for( ; ; ){
语句体;
}
只知道循环条件就用while!
必须执行一次的循环用do{…}while();
for循环格式:
for (初始化语句;条件判断语句;条件控制语句) {
循环体语句;
}
for(; ; ){}最重要,其余的都可以没有哦
一定要注意条件中=号的使用
/*
循环练习-统计次数
需求:
? 键盘录入两个数字,表示一个范围。
? 统计这个范围中。
? 既能被3整除,又能被5整除数字有多少个?
*/
import java.util.Scanner;
public class ForDemo03{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据1:");
int a = sc.nextInt();
System.out.println("请输入数据2:");
int b = sc.nextInt();
int count = 0;
//25 35
if(a>=b){
for(;b<=a;b++){
if(b%3==0 && b%5==0){
count++;
}
}
System.out.println("请输出这个范围中既能被3整除,又能被5整数的数字有"+ count +"个");
}else{
for(;a<=b;a++){
if(a%3==0 && a%5==0){
count++;
}
}
//System.out.println("请输出这个范围中既能被3整除,又能被5整数的数字有"+ count + "个");
}
System.out.println("请输出这个范围中既能被3整除,又能被5整数的数字有"+count+"个");
}
}
大家可以试一试:
>else{
for(;a<=b;a++){
if(a%3==0 && a%5==0){
count++;
}
}
试试将上述代码块中的a<=b换成a<b,会有什么不同,这道题我改了1个小时哈哈哈
无限循环
概念:
又叫死循环。循环一直停不下来。
for格式:
for(;;){
System.out.println("循环执行一直在打印内容");
}
解释:
- 初始化语句可以空着不写,表示循环之前不定义任何的控制变量。
- 条件判断语句可以空着不写,如果不写,默认表示true,循环一直进行。
- 条件控制语句可以空着不写,表示每次循环体执行完毕后,控制变量不做任何变化。
- ==无限循环下面不能再写其他代码了,因为永远执行不到。==哈哈哈
条件控制语句
- break 用在判断语句和循环语句中,表示结束判断或者循环;
- continue 用于循环语句中,跳过本次循环,继续执行下次循环。
Random
Random跟Scanner一样,也是Java提前写好的类了。
使用步骤:
- 导包
import java.util.Random;
- 创建对象
Random r = new Random ();
- 生成随机数
int number = r.nextInt(随机数的范围);
上面这个格式里面,只有number是变量名,可以变,其他的都不允许变。
随机数范围的特点:从0开始,不包含指定值。比如:参数为10,生成的范围[0,10)
代码案例:
`//1.导包
import java.util.Random;
public class RandomDemo1 {
public static void main(String[] args) {
//2.创建对象
Random r = new Random();
//3.生成随机数
int number = r.nextInt(100);//包左不包右,包头不包尾
//0 ~ 99
System.out.println(number);
}
}
刷题小总结:
求平方根
需求:
键盘录入一个大于等于2的整数 x ,计算并返回 x 的 平方根 。结果只保留整数部分 ,小数部分将被舍去 。
注意:求平方根循环的范围不要是 i<=a/2;
我当时就想更难一些,打印出来范围,所以自己改动了些,结果类似于3或者7这类的质数就没办法判断了!
有兴趣的小伙伴尝试下,如果有方法请告诉我呦,(比心~~)我两个小时没试出来(捂脸哭)