语句:使用分号分割的代码称作为一个语句。
//赋值语句 int a = 3; //输出语句 System.out.println(a);
- 没有写任何代码,只是一个分号的时候,也是一条语句,称作空语句。
- 顺序语句就是按照从上到下的顺序执行的语句。
判断(if...else)
示例:判断一个整数是奇数还是偶数。
public class Demo0008 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int next = scanner.nextInt(); if(next%2==0) { System.out.println("你输入的是偶数"); }else { System.out.println("您输入的是奇数"); } scanner.close(); } }
选择判断(switch)
示例:根据指定的月份,打印该月份所属的季节。
public class Demo0009 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入指定的月份(1-12):"); int next = scanner.nextInt(); switch(next) { 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; case 12: case 1: case 2: System.out.println("冬天"); break; default: System.out.println("请输入正确的月份"); break; } scanner.close(); } }
switch语句特点:
1,switch语句选择的类型只有四种:byte,short,int ,char,jdk 7中对switch 进行了增强 还可以判断字符串。5.0 增加了对枚举的判断。
2,case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。
3,switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号。
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
5,switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。
if和switch语句的选择
- 如果判断的具体数值不多,而且是byte,short,int,char四种类型,两种都可以,建议使用switch,因为效率高。
- 对区间判断,对结果为boolean判断,使用if。
- 如果对具体数值进行判断,并且数值不多,就用switch来完成,效率高。
循环语句
while循环
示例:随机生成一个1-100的整数,程序提示用户输入一个数,不停猜测,直到猜对为止,最后输出猜测的数字和猜测的次数,没有猜中提示用户输入的是大了还是小了。
public class Demo0010 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int randomNum = (int)((Math.random()*100))+1; int guessCount = 0; int guessNum = -1;while(guessNum!=randomNum) { System.out.println("请输入1-100之间的整数:"); guessNum = scanner.nextInt(); guessCount++; if(guessNum>randomNum) { System.out.println("大了"); }else if(guessNum<randomNum) { System.out.println("小了"); }else { System.out.println("中了,数字为:"+guessNum+"猜测的次数:"+guessCount); } } scanner.close(); } }
do while语句
示例:改写猜数字游戏。
public class Demo0011 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int randomNum = (int)((Math.random()*100))+1; int guessCount = 0; int guessNum = -1; System.out.println(randomNum); do { System.out.println("请输入1-100之间的整数:"); guessNum = scanner.nextInt(); guessCount ++; if(guessNum>randomNum) { System.out.println("大了"); }else if(guessNum<randomNum) { System.out.println("小了"); }else { System.out.println("中了,数字为:"+guessNum+"猜测的次数:"+guessCount); } }while(guessNum!=randomNum); scanner.close(); } }
for循环
示例:打印99乘法表。
public class Demo0012 { public static void main(String[] args) { for(int i =1; i< 10; i++) { for(int j = 1; j<=i; j++) { System.out.print(i+"*"+j+"="+i*j+"\t"); } System.out.println(); } } }
break和continue关键字
break关键字用于终止最近的封闭循环或它所在的switch语句、
不要在break语句后面编写其他语句,因为永远也不会执行,编译会报错。
public class Demo0013 { public static void main(String[] args) { for(int i=0;i<2;i++) { System.out.println(i); break;//终止内循环 } System.out.println("执行循环外"); } }
--------输出结果--------
0
执行循环外
continue关键字作用是终止本次循环,执行下一次循环。
public class Demo0013 { public static void main(String[] args) { for(int i=0;i<5;i++) { if(i%2==0) { continue;//结束本次循环 } System.out.println(i); } System.out.println("执行循环外"); } } --------输出结果--------- 1 3 执行循环外