分类
1、选择语句
2、循环语句
3、转移语句
我们先来了解三种结构
顺序结构
按照自上而下的顺序执行,直到程序结束,中间无判断和跳转
分支结构(if-else语句、switch语句)
if语句是二选一,switch语句是多选一,这同C是一样的规则
switch语句可包含一个default,一般在最后一个分支,不需break,只在没有case语句值和变量语句值相同时执行
import java.time.Month;
import java.util.Scanner;
public class SD {
public static void main(String[] args) {
System.out.println("请输入年份:");
Scanner inYear =new Scanner(System.in);
int year =inYear.nextInt(); //输入年
System.out.println("请输入月份:");
Scanner inMonth =new Scanner(System.in);
int month =inMonth.nextInt(); //输入月
int numDays =0;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:numDays=31;
break;
case 4:
case 6:
case 9:
case 11:numDays=30;
break;
case 2:
if(((year%4==0)&&!(year%100==0))||(year%400==0)){
numDays=29;
}
else{
numDays=28;
}
break;
}
System.out.println(year+"年"+month+"月"+"有"+numDays+"天");
}
}
循环结构(for语句、while语句、do-while语句)
1、for语句
三部分组成:初始化、条件、迭代方式
for(initialization;condition;iteration){
statement;
}
import java.util.Scanner;
public class G {
static final int FGVALUE=20; //定义仙女草的价格
static final int GSVALUE=16; //定义银河梭的价格
static final int FGLIFE=30; //定义仙女草的生命力
static final int GSLIFE=20; //定义银河梭的生命力
public static void main(String[] args) {
int goldcoin=100; //定义金币数量
int fg_num=0,gs_num=0; //定义仙女草和银河梭的数量
int max_life=0; //定义最大生命力
System.out.println("请输入金币的数量为:");
Scanner in =new Scanner(System.in);
goldcoin=in.nextInt();
for(int fg_loop=0;fg_loop<=(goldcoin/FGVALUE);fg_loop++)
for(int gs_loop=0;gs_loop<=(goldcoin/GSVALUE);gs_loop++)
if( ( (fg_loop*FGVALUE+gs_loop*GSVALUE)<+goldcoin ) && ( (fg_loop*FGLIFE+gs_loop*GSLIFE)>=max_life ) ){
fg_num=fg_loop; //记录仙女草的数量
gs_num=gs_loop; //记录银河梭的数量
max_life=FGLIFE*fg_loop+GSLIFE*gs_loop;
}
System.out.println("购买的宝物最多能增加你"+max_life+"个生命力!");
System.out.println("购买仙女草的数量为"+fg_num);
System.out.println("购买银河所梭的数量"+gs_num);
}
}
2、while语句
条件为布尔类型,当条件为true执行
while (expression){
statement;
}
3、do-while语句
与while语句比较:区别在第一次循环,while先判断再执行,do-while先执行再判断
do{
statement;
}while(expression);
4、计算100以内数的和
for语句
public class Sum1
{
public static void main(String args[])
{
int i=1,s=0;
for(i=0;i<=100;i++)
s+=i;
System.out.println("sum="+s);
}
}
while语句
public class Sum1
{
public static void main(String args[])
{
int i=1,s=0;
while(i<=100)
{ s=s+i;
i=i+1;
}
System.out.println("sum="+s);
}
}
do-while语句
public class Sum1
{
public static void main(String args[])
{
int i=1,s=0;
do{
s=s+i;
i=i+1;
} while(i<=100);
System.out.println("sum="+s);
}
}
与程序转移有关的语句(break、continue、return)
break用在循环内部结束循环
continue只能用在循环内跳过本次循环继续下一次循环
return用在方法中终止当前方法执行,返回调用方法的语句处,并继续执行(return后表达式数据类型必须与方法声明数据类型一致,return后面的代码不会被执行)