顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。
Java有两种分支结构:
1、if语句
2、switch语句
if语句
一个if语句包含一个布尔表达式和一条或多条语句。
语法
If语句的用语法如下:
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}如果布尔表达式的值为true,则执行if语句中的代码块。否则执行If语句块后面的代码。
public class Test {
public static void main(String args[]){
int x = 10;
if( x < 20 ){
System.out.print("这是 if 语句");
}
}
}以上代码编译运行结果如下:
这是 if 语句
if...else语句
if语句后面可以跟else语句,当if语句的布尔表达式值为false时,else语句块会被执行。
语法
if…else的用法如下:
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}实例
public class Test {
public static void main(String args[]){
int x = 30;
if( x < 20 ){
System.out.print("这是 if 语句");
}else{
System.out.print("这是 else 语句");
}
}
}以上代码编译运行结果如下:
这是 else 语句
if...else if...else语句
if语句后面可以跟elseif…else语句,这种语句可以检测到多种可能的情况。
使用if,else if,else语句的时候,需要注意下面几点:
1、if语句至多有1个else语句,else语句在所有的elseif语句之后。
2、If语句可以有若干个elseif语句,它们必须在else语句之前。
3、一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行。
语法
if...else语法格式如下:
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}实例
public class Test {
public static void main(String args[]){
int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{
System.out.print("This is else statement");
}
}
}以上代码编译运行结果如下:
Value of X is 30
嵌套的if…else语句
使用嵌套的if-else语句是合法的。也就是说你可以在另一个if或者elseif语句中使用if或者elseif语句。
语法
嵌套的if…else语法格式如下:
if(布尔表达式 1){
////如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
////如果布尔表达式 2的值为true执行代码
}
}你可以像 if 语句一样嵌套 else if...else。
实例
public class Test {
public static void main(String args[]){
int x = 30;
int y = 10;
if( x == 30 ){
if( y == 10 ){
System.out.print("X = 30 and Y = 10");
}
}
}
}以上代码编译运行结果如下:
X = 30 and Y = 10
Java开关语句-switch
在条件判断语句(if语句)过多时,可以使用开关语句来编写。开关语句的基本结构是:
switch(整数){
case 整数值 1: 语句; break;
case 整数值 2: 语句; break;
case 整数值 3: 语句; break;
……………………..
default: 语句;
}当“整数”的值等于“整数值1”、“整数值2”、“整数值3”......中的一个时,执行相应的语句,执行完成跳出开关语句;若没有相当的数值,则执行default后边的语句,执行完成跳出开关语句。
注:break语句用于跳出开关语句。
示例:输出当前月份。
public class control17{
public static void main(String[] args){
int i=8;
switch(i){
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;
case 8: System.out.println("是八月份");break;
case 9: System.out.println("是九月份");break;
case 10: System.out.println("是十月份");break;
case 11: System.out.println("是十一月份");break;
case 12:System.out.println("是十二月份");break;
default: System.out.println("fault");
}
}
}运行结果:
是八月份
以下是同学在学习java代码时,对java switch开关语句和if语句的练习,把源代码分享出来给大家,希望能够给初学者一个参考学习哦。
程序清单:
import java.util.Scanner;
public class 练习题1 {
public static void main(String[] args) {
System.out.println("请输入一个年份,求该年份是否为闰年,闰年能被4整除但不能被100整除,或者能被400整除");
int a = new Scanner(System.in).nextInt();
if (a <= 0) {
System.out.println("你输入的年份有误,程序退出");
System.exit(0);
} else if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
System.out.println("你输入的年份为闰年");
} else {
System.out.println("你输入的年份不是闰年");
}
System.out.println("输入一个不超过五位的正整数,求出它是几位数并按逆序输出来");
int b = new Scanner(System.in).nextInt();
if (b < 0 || b > 100000) {
System.out.println("你的输入没达到要求,程序退出");
System.exit(0);
} else if (b >= 0 && b < 10) {
System.out.println(" 你输入的是一个一位数" + b);
} else if (b >= 10 && b < 100) {
System.out.println("你输入的是一个两位数,并且他的逆序是" + b % 10 + b % 100 / 10);
} else if (b >= 100 && b < 1000) {
System.out.println("你输入的是一个三位数,并且他的逆序是" + b % 10 + b % 100 / 10 + b
% 1000 / 100);
} else if (b >= 1000 && b < 10000) {
System.out.println("你输入的是一个四位数,并且他的逆序是" + b % 10 + b % 100 / 10 + b
% 1000 / 100 + b % 10000 / 1000);
} else if (b >= 10000 && b < 100000) {
System.out.println("你输入的是一个五位数,并且他的逆序是" + b % 10 + b % 100 / 10 + b
% 1000 / 100 + b % 10000 / 1000 + b % 100000 / 10000);
}
System.out.println("输入一个数,判断它是否能被3、5、7整除,注意考虑同时整除的情况");
double c = new Scanner(System.in).nextDouble();
if (c % 3 == 0 && c % 5 == 0 && c % 7 == 0) {
System.out.println("这个数能被3、5、7、同时整除");
} else if (c % 3 == 0 && c % 5 == 0) {
System.out.println("这个数能被3和5同时整除");
} else if (c % 3 == 0) {
System.out.println("这个数只能被3整除");
} else if (c % 5 == 0) {
System.out.println("这个数只能被5整除");
} else if (c % 7 == 0) {
System.out.println("这个数只能被7整除");
} else if (c % 3 == 0 && c % 7 == 0) {
System.out.println("这个数能同时被3和7整除");
} else if (c % 5 == 0 && c % 7 == 0) {
System.out.println("这个数能同时被5和7整除");
} else {
System.out.println("这个数不能被3、5、7整除");
}
System.out.println("从键盘输入两个数和一个运算符,输出运算结果用if和switch分别写出");
double d = new Scanner(System.in).nextDouble();
double e = new Scanner(System.in).nextDouble();
char f = new Scanner(System.in).nextLine().charAt(0);
if (f != '+' || f != '-' || f != '*' || f != '/') {
System.out.println("没有这个运算式");
if (f == '+') {
}
System.out.println("你的输出结果为" + (d + e));
}
if (f == '-') {
System.out.println("你的输出结果为" + (d - e));
}
if (f == '*') {
System.out.println("你的输出结果为" + d * e);
}
if (f == '/') {
System.out.println("你的输出结果为" + d / e);
}
System.out.println("用switch写出来则为");
System.out.println("请输入两个数字和一个运算符1.+ 2.- 3.* 4./");
double h = new Scanner(System.in).nextDouble();
double i = new Scanner(System.in).nextDouble();
char g = new Scanner(System.in).nextLine().charAt(0);
switch (g) {
case '+':
System.out.println("你输入运算式结果为" + h + i);
break;
case '-':
System.out.println("你输入运算式结果为" + (h - i));
break;
case '*':
System.out.println("你输入运算式结果为" + h * i);
break;
case '/':
System.out.println("你输入运算式结果为" + h / i);
break;
default:
System.out.println("没有这个运算式");
}
System.out.println("请输入一个月份并输出它的天数");
int t = new Scanner(System.in).nextInt();
if (t <= 0 || t > 12) {
System.out.println("你的输入有误。程序退出");
System.exit(0);
}
if (t == 1) {
System.out.println("你输入的是一月份,一月有31天");
}
if (t == 2) {
System.out.println("你输入的是二月份,闰年的话二月是29天,不是闰年则为28天");
}
if (t == 3) {
System.out.println("你输入的是三月,三月是31天");
}
if (t == 4) {
System.out.println("你输入的是四月,四月有30天");
}
if (t == 5) {
System.out.println("你输入的是五月份,五月有31天");
}
if (t == 6) {
System.out.println("你输入的是六月份,六月有30天");
}
if (t == 7) {
System.out.println("你输入的是七月份,七月有31天");
}
if (t == 8) {
System.out.println("你输入的是八月份,八月有31天");
}
if (t == 9) {
System.out.println("你输入的是九月份,九月有30天");
}
if (t == 10) {
System.out.println("你输入的是十月份,十月有31天");
}
if (t == 11) {
System.out.println("你输入的是十一月份,十一月有31天");
}
if (t == 12) {
System.out.println("你输入的是十二月份,十二月有30天");
}
System.out.println("用switch写出来");
int o = new Scanner(System.in).nextInt();
switch (o) {
case 1:
System.out.println("你输入的是一月份,一月有31天");
break;
case 2:
System.out.println("你输入的是二月份,闰年的话二月是29天,不是闰年则为28天");
break;
case 3:
System.out.println("你输入的是三月,三月是31天");
break;
case 4:
System.out.println("你输入的是四月,四月有30天");
break;
case 5:
System.out.println("你输入的是五月份,五月有31天");
break;
case 6:
System.out.println("你输入的是六月份,六月有30天");
break;
case 7:
System.out.println("你输入的是七月份,七月有31天");
break;
case 8:
System.out.println("你输入的是八月份,八月有31天");
break;
case 9:
System.out.println("你输入的是九月份,九月有30天");
break;
case 10:
System.out.println("你输入的是十月份,十月有31天");
break;
case 11:
System.out.println("你输入的是十一月份,十一月有31天");
break;
case 12:
System.out.println("你输入的是十二月份,十二月有30天");
break;
default:
System.out.println("你的输入有误,程序退出");
System.exit(0);
}
}
}
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

记得java中经常有if else elseif 还有 开关语句 for循环等,多年没搞java了
关于java中switch使用的一些说明switch(表达式){case 常量表达式1:语句1;....case 常量表达式2:语句2;default:语句;}default就是如果没有符合的case就执行它,default并不是必须的.case后的语句可以不用大括号.switch
java中的开关语句还是有作用的,可以多多学习。
看源代码一直是我的弱项,看一会就会头晕眼花。
java初学者表示暂时还看不懂这么复杂的代码。