Java学习Day03(跟随黑马程序员网课学习)

本文详细介绍了逻辑运算符和关系运算符的优先级,以及顺序、判断(if)、选择(switch)、循环(while,do...while,for)等基本流程控制语句的用法。以实例演示如何统计满足特定条件的数字数量,还讨论了无限循环的概念和随机数生成。最后提到了求平方根的编程练习挑战。
摘要由CSDN通过智能技术生成

逻辑运算符的优先级高于关系运算符

所以: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提前写好的类了。

使用步骤:

  1. 导包
import java.util.Random;
  1. 创建对象
Random r = new Random ();
  1. 生成随机数
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这类的质数就没办法判断了!
有兴趣的小伙伴尝试下,如果有方法请告诉我呦,(比心~~)我两个小时没试出来(捂脸哭)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alice要11点睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值