Java笔记_3
- 一、判断与循环
- 1.1、顺序结构
- 1.2、分支结构
-
- 1.3、循环结构
- 1.3.1、for循环
- 1.3.2、while循环
- 1.3.3、do...while循环
- 1.4、回文数的判断
- 1.5、求商和余数
- 二、循环高级
- 2.1、无限循环
- 2.2、循环的跳转控制语句
- 2.3、逢七过
- 2.4、求平方根
- 2.5、求质数
- 2.6、猜数字小游戏
一、判断与循环
1.1、顺序结构
顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行
1.2、分支结构
1.2.1、if语句
格式一:
if (){
};
if
的注意点:
- 大括号的开头可以另起一行书写,但是建议写在第一行的末尾
- 在语句体中,如果只有一句代码,大括号可以省略不写
- 如果对一个布尔类型的变量进行判断,不要用
==
号
格式二:
if (){
}else{
};
- 执行流程:
- 首先计算关系表达式的值
- 如果关系表达式的值为true就执行语句体1
- 如果关系表达式的值为false就执行语句体2
- 继续执行后面的其他语句
格式三:
if (){
}else if{
}else if{
}else{
}
;
1.2.2、switch语句
switch(表达式){
case值1:
语句体1;
break;
case值2:
语句体2;
break;
default:
语句体n+1;
break;
}
- 执行流程:
- 首先计算表达式的值。
- 依次和case后面的值进行比较如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
- 如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束整个switch语句。
格式说明
- 表达式:(将要匹配的值)取值为byte、short、int、char。JDK5以后可以是枚举,JDK7以后可以是String。
- case:后面跟的是要和表达式进行比较的值(被匹配的值)。
- break:表示中断,结束的意思,用来结束switch语句。
- default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
- case后面的值只能是字面量,不能是变量
- case给出的值不允许重复
default的位置和省略
- 位置: defaule不一定是写在最下面的,我们可以写在任意位置。只不过习惯会写在最下面.
- 省略: defaule可以省略,语法不会有问题,但是不建议省略。
case穿透
执行流程:
- 首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配。
- 如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句。
- 如果没有发现break,那么程序会继续执行下一个case的语句体,一直遇到break或者右大括号为止。
switch新特性
JDK12以后才有的新特性
case后面跟上的{}
可以替换成->
1.3、循环结构
1.3.1、for循环
格式:
for (int i = 1 ;i <= 10 ;i++ ){
system.out.println( "Helloworld" );
}
执行流程:
- 执行初始化语句
- 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,执行循环体语句 - 执行条件控制语句
- 回到2继续执行条件判断语句
1.3.2、while循环
格式:
初始化语句;
whi1e(条件判断语句){
循环体语句;
条件控制语句;
}
for和while的对比
相同点:
for和 while的区别:
- for循环中,控制循环的变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到
- while循环中,控制循环的变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量
还可以继续使用
1.3.3、do…while循环
格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);
1.4、回文数的判断
package huiwen;
import java.util.Scanner;
public class huiwenshu {
public static void main(String[] args) {
System.out.println("请输入x的值:");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int temp = x;
int num = 0;
while (x!=0){
int ge = x%10;
x = x/10;
num = num*10 +ge;
}
System.out.println(num);
System.out.println(num ==temp);
}
}
1.5、求商和余数
package huiwen;
import java.util.Scanner;
public class huiwenshu {
public static void main(String[] args) {
int dividend = 100;
int divisor = 10;
int count = 0;
while (dividend >=divisor){
dividend = dividend - divisor;
count++;
}
System.out.println("商为:"+count);
System.out.println("余数为:"+dividend);
}
}
二、循环高级
2.1、无限循环
循环一直停不下来。
for(;;){
System.out.println("学习");
}
while(true){
System.out.println("学习");
}
do {
System.out.println("学习");
} while(true);
2.2、循环的跳转控制语句
使用 continue
可以使跳过本次循环,继续执行下次循环
使用 break
可以使结束循环
2.3、逢七过
- 朋友聚会的时候可能会玩一个游戏:逢7过
- 游戏规则:从任意一个数字开始报数,当你要报的数字是包含7或者是7的倍数时都要说过:过
- 需求:使用程序在控制台打印出1-100之间的满足逢七必过规则的数据
for (int i = 0;i<=100;i++){
if(i%10==7||10%10==7||i%7==0){
System.out.println("过");
continue;
}
System.out.println(i);
}
2.4、求平方根
- 需求:键盘录入一个大于等于2的整数x,计算并返回×的平方根结果只保留整数部分小数部分将被舍去。
Scanner sc = new Scanner(System.in);
System.out.println(”请输入一个整数");
int number = sc.nextInt();
for (int i = 1; i <= number; i++) {
if(i * i == number){
system.out.println(i +"就是" +number +"的平方根");
break;
}else if(i * i > number){
system.out.println((i - 1) +"就是"+number + "平方根的整数部分");
break;
2.5、求质数
- 需求:键盘录入一个正整数x,判断该整数是否为一个质数。
scanner sc = new Scanner(system.in) ;
system.out.println("请输入一个正整数");
int number = sc.nextInt();
boolean flag = true;
for (int i = 2; i < number; i++) {
if(number % i == o){
flag = false;
break;
}
}
if(flag){
system.out.println(number +"是一个质数");
}else{
system.out.println(number +"不是一个质数");
}
2.6、猜数字小游戏
- 需求:程序自动生成一个1-100之间的随机数字,使用程序实现猜出这个数字是多少?
- Java帮我们写好一个类叫Random,这个类就可以生成一个随机数。
![在这里插入图片描述](https://img-blog.csdnimg.cn/313d97b5ab664c8b937e1709595d0ede.png)
import java.util.Random;
import java.util.Scanner;
public class LoopTest7 {
public static void main(string[] args) {
int number = r.nextInt( bound: 100)+ 1;
Scanner sc = new scanner(System.in);while(true){
System.out.println("请输入你要猜的数字");
int guessNumber = sc.nextInt( );
/ /3 .判断两个数字给出不同的提示
if(guessNumber > number){
System.out.println("大了");
}else if(guessNumber < number){
System.out.println("小了");
}else{
System.out.println("猜中了");
break;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)