第4天 流程控制
知识点一:
语句结构
1,顺序语句:按照一定的顺序自上而下执行的语句:
示例代码:
class ShunXuDemo
{
public static void main(String[] args)
{
System.out.println("第一句");
System.out.println("第二句");
System.out.println("第三句");
System.out.println("第四句");
}
}
2,分支语句:
if语句结构
if(布尔表达式){
要执行的语句
}
if(布尔表达式){
如果表达式为true,执行该语句
}else{
如果表达式为false,执行该语句
}
示例代码:
public class FenzhiDemo {
/**
*
*/
public static void main(String[] args) {
/*//判断一个数是否能同时被3和5整除
int a = 144;
if(a%3==0 && a%5==0){
System.out.println("能同时被3和5整除");
}else{
System.out.println("不能同时能被3和5整除");
}*/
//判断一个数是否能被3或5整除
int a = 125;
if(a%3==0 || a%5==0){
System.out.println("能被3或5整除");
}else{
System.out.println("不能被3或5整除");
}
}
}
switch语句
语法结构:
switch(变量){
case: 值1
System.out.println("语句序列1");
break;
case: 值2
System.out.println("语句序列2");
break;
case: 值3
System.out.println("语句序列3");
break;
case: 值4
System.out.println("语句序列4");
break;
default:
System.out.println("语句序列5");
}
beark表示此switch执行终止,
default表示在找不到变量值的时候就执行default的语句
switch语句判定语句的变量必须是:byte,short,char,int,
JDK6.0增加了支持枚举类型的兼容,JDK6.0增加了支持字符串类型的兼容
示例代码:
package ch03;
public class SwitchDmeo {
/**
*判断一年中的月份
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 4;
switch(i ){
case 1 :
System.out.println("1月");
break;
case 2 :
System.out.println("2月");
break;
case 3 :
System.out.println("3月");
break;
case 4 :
System.out.println("4月");
break;
case 5 :
System.out.println("5月");
break;
case 6 :
System.out.println("6月");
break;
case 7 :
System.out.println("7月");
break;
default:
System.out.println("输入错误");
}
}
}
3,循环语句:
while循环
语法格式:
while(条件表达式){
执行条件表达式为true的的语句
}
do...while循环
语法格式:
do(条件表达式)
执行语句
{
}while(条件表达式);
while与do...while的区别:
while循环条件表达式为true时才执行
do...while循环无论条件表达式是否成立,语句至少执行一次
知识点二:break与continue语句的用法与区别
1,都用于循环语句中,
2,break语句作用是跳出循环体,而continue语句用于提前结束本轮循环;
遇到的问题及解决方案:
问题一:
class Demo{
public static void main(String[] args){
//判断一个数字是水仙花数
//1.三位数
//2. 1*1*1+5*5*5+3*3*3 = 153
int num = 100;
//判断是不是三位数
//判断是否满足规则
if( num <=999 && num >=100){
//个位
int a = num % 10;
//十位
int b = num / 10 % 10;
//百位
int c = num / 100 ;
if( a*a*a+b*b*b+c*c*c == num){
System.out.println(num+"是水仙花数");
}
}
}
解决方案:
知识点一:
语句结构
1,顺序语句:按照一定的顺序自上而下执行的语句:
示例代码:
class ShunXuDemo
{
public static void main(String[] args)
{
System.out.println("第一句");
System.out.println("第二句");
System.out.println("第三句");
System.out.println("第四句");
}
}
2,分支语句:
if语句结构
if(布尔表达式){
要执行的语句
}
if(布尔表达式){
如果表达式为true,执行该语句
}else{
如果表达式为false,执行该语句
}
示例代码:
public class FenzhiDemo {
/**
*
*/
public static void main(String[] args) {
/*//判断一个数是否能同时被3和5整除
int a = 144;
if(a%3==0 && a%5==0){
System.out.println("能同时被3和5整除");
}else{
System.out.println("不能同时能被3和5整除");
}*/
//判断一个数是否能被3或5整除
int a = 125;
if(a%3==0 || a%5==0){
System.out.println("能被3或5整除");
}else{
System.out.println("不能被3或5整除");
}
}
}
switch语句
语法结构:
switch(变量){
case: 值1
System.out.println("语句序列1");
break;
case: 值2
System.out.println("语句序列2");
break;
case: 值3
System.out.println("语句序列3");
break;
case: 值4
System.out.println("语句序列4");
break;
default:
System.out.println("语句序列5");
}
beark表示此switch执行终止,
default表示在找不到变量值的时候就执行default的语句
switch语句判定语句的变量必须是:byte,short,char,int,
JDK6.0增加了支持枚举类型的兼容,JDK6.0增加了支持字符串类型的兼容
示例代码:
package ch03;
public class SwitchDmeo {
/**
*判断一年中的月份
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 4;
switch(i ){
case 1 :
System.out.println("1月");
break;
case 2 :
System.out.println("2月");
break;
case 3 :
System.out.println("3月");
break;
case 4 :
System.out.println("4月");
break;
case 5 :
System.out.println("5月");
break;
case 6 :
System.out.println("6月");
break;
case 7 :
System.out.println("7月");
break;
default:
System.out.println("输入错误");
}
}
}
3,循环语句:
while循环
语法格式:
while(条件表达式){
执行条件表达式为true的的语句
}
do...while循环
语法格式:
do(条件表达式)
执行语句
{
}while(条件表达式);
while与do...while的区别:
while循环条件表达式为true时才执行
do...while循环无论条件表达式是否成立,语句至少执行一次
知识点二:break与continue语句的用法与区别
1,都用于循环语句中,
2,break语句作用是跳出循环体,而continue语句用于提前结束本轮循环;
遇到的问题及解决方案:
问题一:
class Demo{
public static void main(String[] args){
//判断一个数字是水仙花数
//1.三位数
//2. 1*1*1+5*5*5+3*3*3 = 153
int num = 100;
//判断是不是三位数
//判断是否满足规则
if( num <=999 && num >=100){
//个位
int a = num % 10;
//十位
int b = num / 10 % 10;
//百位
int c = num / 100 ;
if( a*a*a+b*b*b+c*c*c == num){
System.out.println(num+"是水仙花数");
}
}
}
}
不明白此三句表示的内容:
int a = num % 10; int b = num / 10 % 10; int c = num / 100 ;
解决方案: