标签:情况 跳转 ber wan for int 数字 hello 穿透
if(关系表达式){
语句体
}
执行流程:
A:先判断关系表达式的结果是true还是false
B:如果是true,就执行语句体,否则不执行
//案例1:用整数1表示男,键盘录入一个整数,如果是1,就输出"我是男人,我要上男厕所"
class IfDemo1{
public static void main(String[] args){
//键盘录入一个整数,使用Scanner对象
Scanner sc=new Scanner(System.in);
System.out.println("1表示男,输入其他不管");
int num=sc.nextInt();
//对录入的整数num,进行判断是否等于1
if(num==1){
System.out.println("我是男人,我要上男厕所");
}
}
}
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
A:先判断关系表达式的结果是true还是false
B:如果是true,就执行语句体1,否则不执行语句体2
/*
案例2:用整数1表示男,键盘录入一个整数
如果输入1,就输出"我是男人,我要上男厕所";
如果不是1,就输出"我是女人,我要上女厕所"
*/
class IfDemo2{
public static void main(String[] args){
//键盘录入一个整数,使用Scanner对象
Scanner sc=new Scanner(System.in);
System.out.println("1表示男,输入其他不管");
int num=sc.nextInt();
//如果输入的是1
if(num==1){
//如果num等于1
System.out.println("我是男人,我要上男厕所");
}else{
//如果num不等于1
System.out.println("我是女人,我要上女厕所");
}
}
}
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}
...
else{
语句体n+;
}
执行流程:
A:从上往下依次判断关系表达式的结果,是true还是false
B:如果关系表达式的结果是false,就继续判断下一个关系表达式
只要有一个为true,就执行该处的语句体,整个if语句结束。
C:如果都不满足,就执行最后一个else的语句体
/*
案例3:用整数1表示男,整数2表示女人,其他整数表示人妖
键盘录入一个整数,如果输入1,就输出"我是男人,我要上男厕所";
如果输入2,就输出"我是女人,我要上女厕所";
不是1也不是2,就输出"我是人妖,男女厕所通吃"
*/
class IfDemo3{
public static void main(String[] args){
//键盘录入一个整数,使用Scanner对象
Scanner sc=new Scanner(System.in);
System.out.println("1表示男,输入其他不管");
int num=sc.nextInt();
//如果输入的是1
if(num==1){
//如果num等于1
System.out.println("我是男人,我要上男厕所");
}else if(num==2){
//如果num等于2
System.out.println("我是女人,我要上女厕所");
}else{
//如果num不等于1,也不等于2
System.out.println("我是人妖,男女厕所通吃");
}
}
}
//1)键盘录入两个整数,求两个数的最大值
import java.util.Scanner;
public class IfTest1{
public static void main(String[] args){
//键盘录入两个整数
Scanner sc=new Scanner(System.in);
//录入数据
System.out.println("请输入第一个整数:");
int a=sc.nextInt();
System.out.println("请输入第二个整数:");
int b=sc.nextInt();
int max=0;//max用于记录最大值
//比较a和b的大小,如果a比b大,大的值就是a,否则就是b
if(a>b){
max=a;
}else{
max=b;
}
System.out.println("a和b的最大值为:"+max);
}
}
/*
2)键盘录入一个数,判断这个数是否为偶数还是奇数
如:输入8,输出8是偶数
输入7,输出7是奇数
*/
public class IfTest2{
public static void main(String[] args){
//键盘录入两个整数
Scanner sc=new Scanner(System.in);
//录入数据
System.out.println("请输入一个整数:");
int a=sc.nextInt();
if(a%2==0){
//如果a能被2整数,就输出a是偶数
System.out.println(a+"是偶数");
}else{
//如果a不能被2整数,就输出a是奇数
System.out.println(a+"是奇数");
}
}
}
switch专门用于对几个固定的值进行匹配,如星期只有7天,月份只有12个
switch的格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
举例:键盘录入一个月份,输出对应的季节
public class SwitchDemo1{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("键盘录入一个月份:");
int num=sc.nextInt();
//使用switch语句,对num的值进行匹配
switch(num){
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("你输入的月份不对");
break;
}
}
}
switch的注意事项:
1)表达式的数据类型:
byte short int char
JDK1.5之后可以是枚举
JDK1.7之后可以是String
2)case的值只能是常量,不能是变量,也不能重复
3)default可以省略
4)break可以省略,但是会穿透
5)遇到break,switch语句结束
格式:
for(初始化语句;条件判断语句;控制条件语句){
循环语句体;
}
执行流程:
A:执行初始化语句
B:判断条件是否为true
如果条件是true,就继续执行
如果条件为false,就结束for循环
C:执行循环语句体
D:控制条件语句
E:回到B步骤继续循环
举例1:在控制台上输出10个HelloWorld
public class ForDemo1{
public static void main(String[] args){
//整数i,从0变化到9,每次递增1
for(int i=0;i<10;i++){
//每次循环,输出一个"HelloWorld"
System.out.println("HelloWorld");
}
}
}
举例2:在控制台打印输出1~5和5~1之间的所有整数
public class ForDemo2{
public static void main(String[] args){
//打印输出1~5
for(int i=1;i<=5;i++){
System.out.println(i);
}
//打印输出5~1
for(int i=5;i>=1;i--){
System.out.println(i);
}
}
}
练习1: 在控制台打印输出1-10之间所有整数的和
/*
求和思想:
以后遇到任何求和的问题,都按照下面的思路来做
A:定义一个求和变量sum
B:遍历所有需要求和的数据,和sum累加
举例:求1-10之间所有整数的和
*/
public class ForTest2{
public static void main(String[] args){
//A:定义一个求和变量sum
int sum=0;
//B:遍历所有需要求和的数据,和sum累加
for(int i=1;i<=10;i++){
sum+=i;
}
System.out.pritnln("1-10之间的和为:"+sum);
}
}
练习2:在控制台上打印输出1-100之间偶数的和
/*
A:定义一个求和变量sum
B:遍历所有需要求和的数据,和sum累加
*/
public class ForTest3{
public static void main(String[] args){
//A:定义一个求和变量sum
int sum=0;
//B:遍历所有需要求和的数据,和sum累加
//遍历1-100之间所有的数
for(int i=1;i<=100;i++){
//判断i是否是偶数,如果是,就和sum累加
if(i%2==0){
sum+=i;
}
}
System.out.println("1-100之间偶数的和为:"+sum);
System.out.println("------------------");
int sum2=0;
//每次循环让i间隔2
for(int i=0;i<=100;i=i+2){
sum2+=i;
}
System.out.println("1-100之间偶数的和为:"+sum2);
}
}
练习3:打印输出所有的水仙花数,并统计个数
什么是水仙花数:是一个3位数,每一位数字的立方和等于该数本身。
举例:153=1*1*1+5*5*5+3*3*3
/*
统计思想:
所有求个数的问题,都按照下面的思路来做
A:定义一个计数器count
B:如果满足条件count++
*/
public class ForTest4{
public static void main(String[] args){
//定义计数器
int count=0;
for(int i=100;i<=999;i++){
int ge=i%10;
int shi=i/10%10;
int bai=i/100%10;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
System.out.println(i);
//满足条件count累加
count++;
}
}
}
}
格式
初始化语句;
while(条件判断语句){
语句体;
控制条件语句;
}
举例:打印输出10个HelloWorld
int i=1;
while(i<=10){
System.out.println("HelloWorld");
i++;
}
练习1:求1-100之间所有整数的和,用while改写
略
练习2:求1-100之间所有奇数的和,用while改写
int sum=0;
int i=1;
while(i<=100){
if(i%2==1){
sum+=i;
}
i++;
}
System.out.pritnln("---------------");
int sum=0;
int i=1;
while(i<=100){
sum+=i;
i+=2;
}
练习3:求所有水仙花数的个数,用while改写
/*
1)获取所有的三位数100-999
2)获取每一个三位数的个位,十位和百位
3)判断这个三位数是否满足水仙花数的条件,如果满足条件,计数器累加
*/
class Test3{
public static void main(String[] args){
//定义计数器
int count=0;
//初始值是100
int i=100;
while(i<=999){
//获取每一个三位数的个位,十位和百位
int ge=i%10;
int shi=i/10%10;
int bai=i/100%10;
//判断这个三位数是否满足水仙花数的条件,如果满足条件,计数器累加
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
count++;
}
i++;
}
System.out.println("水仙花数的个数为:"+count);
}
}
格式
初始化语句;
do{
语句体;
条件控制语句
}while(条件判断语句);
举例:打印输出10个HelloWorld
int i=1;
do{
System.out.println("HelloWorld");
i++;
}while(i<=10);
do...while循环语句体,至少执行一次
for循环和while,满足条件才执行【实际开发用得较多】
如何选择?
一般情况,你知道循环的次数就是用for
不知道循环次数,就使用while循环
//不能结束的循环,叫做死循环,就下面几种形式
for(;;){
}
while(true){
}
1)只能在switch和循环语句中使用
2)中断(跳出)单层循环
3)在循环嵌套中,break可以标号来跳出指定循环
for(int i=1;i<=10;i++){
if(i==5){
break;//当执行到i=5时,跳出循环(后面的i=6,7,8,9,10都不执行了)
}
System.out.println("HelloWorld");
}
xiaoming:for(int i =1;i<=10;i++){
wangcai:for(int j =1;j<=10;j++){
}
1)只能在循环语句中使用
2)结束本次循环,进入下一次循环
3)在循环嵌套中,continue可以标号来跳出指定当前循环进入下一层循环
for(int i=1;i<10;i++){ if(i%2==0){ continue;//结束本次循环,进入下一次循环 } System.out.println(i);//1 3 }
标签:情况 跳转 ber wan for int 数字 hello 穿透
原文地址:https://www.cnblogs.com/wangjintao-0623/p/9123161.html