Java学习第7天笔记
程序的顺序结构
Java程序在没有流程控制语句时,代码是自上而下逐行执行的。
//顺序结构
public class SequenceDemo
{
public static void main(String[] args)
{
System.out.println("爱我中华");
System.out.println("A");
System.out.println("B");
System.out.println("C");
System.out.println("D");
System.out.println("E");
System.out.println("F");
}
}
选择结构(if 和switch)
if 语句使用boolean表达式或boolean值作为选择条件,有三种结构形式:
1、if(boolean表达式){条件执行体}
//if第一种格式
class IfDemo
{
public static void main(String[] args)
{
/*
代码格式:
if(boolean表达式){
//TODO 当boolean表达式的结果为true,就会执行条件执行体
}
*/
//判断15>10
if(15 > 10){
System.out.println("15 > 10");
}
System.out.println("ending......");
}
}
2、if(boolean表达式){条件执行体A}else {条件执行体B}
//if第二种格式
class IfDemo2
{
public static void main(String[] args)
{
/*
//代码格式
if(boolean表达式){
条件执行体A //TODO 当boolean表达式的结果为true时执行
}else {
条件执行体B //TODO 当boolean表达式的结果为false时执行
}
*/
boolean isMan = false;
if(isMan){
System.out.println("进入男厕");
}else{
System.out.println("进入女厕");
}
System.out.println("ending......");
}
}
3、if(boolean表达式A){条件执行体A}else if(boolean表达式B){条件执行体B}else {条件执行体C}
//if第三种格式
class IfDemo3
{
public static void main(String[] args)
{
/*
//代码格式
if(boolean表达式A){
条件执行体A //TODO 当boolean表达式A的结果为true时执行
}else if(boolean表达式B){
条件执行体B //TODO 当boolean表达式B的结果为true时执行
}else{
条件执行体C //TODO 当boolean表达式B的结果为false时执行
}
*/
int weekday = 0;
if(weekday == 1){
System.out.println("今天是周一!");
}else if(weekday == 2){
System.out.println("今天是周二!");
}else if(weekday == 3){
System.out.println("今天是周三!");
}else if(weekday == 4){
System.out.println("今天是周四!");
}else if(weekday == 5){
System.out.println("今天是周五!");
}else if(weekday == 6){
System.out.println("今天是周六!");
}else if(weekday == 7){
System.out.println("今天是周七!");
}else{
System.out.println("请输入1~7的数字!");
}
}
}
判断成绩级别练习
//成绩分级
class IfDemo4
{
public static void main(String[] args)
{
int score = 80;
if(score<= 0 || score>= 100 ){//分数必须在0~100之间
System.out.println("输入错误!");
}else if(score<= 100 && score>= 90 ){
System.out.println("优!");
}else if(score<= 89 && score>= 70 ){
System.out.println("良!");
}else if(score<= 69 && score>= 60 ){
System.out.println("中!");
}else{
System.out.println("多多努力!");
}
System.out.println("ending......");
}
}
switch条件语句
class SwitchDemo
{
public static void main(String[] args)
{
/*
语法格式:
switch (表达式){
case目标值1:
执行语句1
break;
case目标值2:
执行语句2
break;
case目标值3:
执行语句3
break;
.
.
.
case目标值n:
执行语句n
break;
default:
执行语句n+1
break;
*/
int weekday = 6;
switch(weekday){
case 1:
System.out.println("今天是周一!");
break;
case 2:
System.out.println("今天是周二!");
break;
case 3:
System.out.println("今天是周三!");
break;
case 4:
System.out.println("今天是周四!");
break;
case 5:
System.out.println("今天是周五!");
break;
case 6:
System.out.println("今天是周六!");
break;
case 7:
System.out.println("今天是周日!");
break;
default:
System.out.println("输入错误!");
break;
}
System.out.println("ending......");
}
}
switch语句使用注意:
switch语句适用于多个整型值进行匹配判断,从而实现条件的分支控制。
和if不同的是:if后面是根据boolkean表达式判断的,而switch只是相当于“表达式==数值”的boolean表达式判断。
switch语句中的表达式只能是byte、short、int、char类型的值,传入其他类型的值程序会报错。 支持的引用类型是以上四个类型的包装类Btye、Short、Integer、Character以及Java5开始支持的枚举和Java7开始支持的String类。
//switch支持char类型
class SwitchDemo2
{
public static void main(String[] args)
{
char ch = 'A';
switch(ch){
case 'A':System.out.println("A");break;
case 'B':System.out.println("B");break;
case 'C':System.out.println("C");break;
}
System.out.println("ending......");
}
}
case只是switch语句选择一个执行代码的入口, 一旦进入某个入口之后,后面的case实际上已经失去了判断的意义,即代码进入switch执行时会把入口case之后的case统统忽略,会一直往下执行,直到遇到break或者return(穿透)。所以会发现case之后没有{}来表示代码块。
default表示所有的case值都不正确,一般放在最后,也不需要使用break语句。
//判断工作日休息日
class SwitchDemo3
{
public static void main(String[] args)
{
int weekday = 5;
switch(weekday){
case 1:
case 2:
case 3:
case 4:
case 5:System.out.println("今天时工作日!");break;
case 6:
case 7:System.out.println("今天时休息日!");break;
default:System.out.println("输入不正确");
}
System.out.println("ending......!");
}
}
if 和switch的选择
if 和switch都属于选择语句,功能是相似的。
if: 判断条件是boolean类型的
switch:判断条件是 整数表达式 == int类型的值。
switch只适合对整数的值做判断,如果是其他区类型的判断,只能使用if语句。