本周我们主要学习Java的流程控制语句,主要是分支语句和循环语句。语句是Java的最小执行单位,语句间以;作为分隔符,语句分为简单语句以及复合语句,简单语句即一条单语句,而复合语句是一对花括号{ }括起来的语句组,也称为块,块后没有分号。话不多说,上知识!
一、分支语句
1.1、if语句
if语句是单重选择语句,最多有两个分支,其常见形式有三种,分别如下:
形式一:
if (逻辑表达式){
//逻辑表达式为true时要执行的语句;
}
形式二:
if(逻辑表达式){
//逻辑表达式为true时要执行的语句;
}
else{
//逻辑表达式为false时要执行的语句;
}
形式三(if语句的嵌套):
if(逻辑表达式1){
//逻辑表达式1为true时要执行的语句;
}
else if(逻辑表达式2){
//逻辑表达式1为false,逻辑表达式2为true时要执行的语句;
}
...
else{
//前面逻辑表达式全为false时要执行的语句;
}
1.2、switch语句
switch语句与嵌套的if语句是类似的,格式上更加简捷,语法格式如下:
switch(表达式){
case c1:
语句组1;
break;
case c2:
语句组2;
break;
...
case ck:
语句组k;
break;
default:(可省)
语句组;
break;
}
1.3、break与continue语句
break的语义是跳过本块中余下的所有语句,转到块尾,执行其后的语句;
Continue是立即结束当次循环而执行下一次循环,仍然继续执行本块。
二、循环语句
Java语言提供三种循环语句:for语句、while语句和do语句。
2.1、for循环:
for(初始化语句;逻辑表达式;迭代语句)
语句;
2.2、while循环(先判断再执行):
while(逻辑表达式)
语句;
2.3、do循环(先执行再判断):
do
语句1;
while(逻辑表达式)
三、简单的输入输出
程序运行期间交互式地读入用户的输入,并将计算结果返回给用户;这里我们介绍java提供的用于输入输出的几个基本类。
3.1、Scanner类
Scanner类属于java.util包,用来方便读入不同类型的输入值,比如从键盘输入,从文件输入等,要调用Scanner类的方法,必须先创建一个对象,Java中的对象使用new运算符来创建。如下(上周我们实战中也有用到,你们注意到啦么?)
Scanner scan = new Scanner(System.in)
System.in对象代表标准输入流,默认指键盘。Scanner对象用空白(空格键)作为输入的分隔元素,这些空白也被称为分隔符。
3.2、NumberFormat类和DecimalFormat类
NumberFormat类和DecimalFormat类都属于Javad 标准类库,使用这两个类主要是使显示或打印的信息比较美观。NumberFormat类提供对数值进行格式化操作的一般功能,不能使用new实例化,而DecimalFormat类则需要使用new实例化对象。由于这两个类用到不是很多,所以在这里我就不再赘述。
四、实战演示
1、
2、
3、
4、
5、
6、
源码:
1、
package first;
import java.util.Scanner;
public class fenzhi1 {
public static void main(String[] args){
System.out.println("请输入你的体重(kg):");
Scanner input = new Scanner(System.in);
int weight = input.nextInt(); // 接收键盘输入体重
System.out.println("请输入你的身高(cm):");
double high = input.nextDouble();
high = high/10;
double BMI=weight/(high*high)*100; //计算体重质量指数
if (BMI <= 18.4) {
System.out.println("偏瘦哦,多吃点~");
}
else if (18.4<BMI && BMI <= 23.9) {
System.out.println("标准身材,继续保持~");
}
else if (24.0<=BMI && BMI <= 27.9) {
System.out.println("稍微超标啦,加强锻炼~");
}
else {
System.out.println("不能再胖啦!管住嘴,迈开腿,标准身材等着你~");
}
}
}
2、
package first;
import java.util.Calendar;//导入日历类
public class fenzhi2 {
public static void main(String[] args) {
String weekDate = "";
Calendar calendar = Calendar.getInstance(); // 获取当前时间
int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; // 获取星期的第几日
switch (week) {
case 0:
weekDate = "星期日";
break;
case 1:
weekDate = "星期一";
break;
case 2:
weekDate = "星期二";
break;
case 3:
weekDate = "星期三";
break;
case 4:
weekDate = "星期四";
break;
case 5:
weekDate = "星期五";
break;
case 6:
weekDate = "星期六";
break;
}
System.out.println("今天是" + weekDate);
}
}
3、
package first;
public class break1 {
public static void main(String[] args) {
// 外循环,循环4次
for (int i = 1; i < 5; i++) {
System.out.print("第" + (i) + "次循环:");
// 内循环,设计为循环9次
for (int j = 1; j < 5; j++) {
// 判断j是否大于3,如果是,则终止循环
if (j == 3) {
break; //结束当前语句块,即内循环的for语句块结束
}
System.out.print("内循环的第" + (j) + "次循环\t");//\t代表空一个tab键
}
System.out.println();//\n代表换行
}
}
}
4、
package first;
public class continue1 {
public static void main(String[] args) {
// 外循环,循环4次
for (int i = 1; i < 5; i++) {
System.out.print("第" + (i) + "次循环:");
// 内循环,设计为循环9次
for (int j = 1; j < 5; j++) {
// 判断j是否大于3,如果是,则终止循环
if (j == 3) {
continue; //结束当前循环,继续下一次循环
}
System.out.print("内循环的第" + (j) + "次循环\t");//\t代表空一个tab键
}
System.out.println();//\n代表换行
}
}
}
5、
package first;
public class while1 {
public static void main(String[] args) {
int i = 1;
int n = 1;
while(i > 5) {
n=n+i;
}
System.out.println("结果为:"+n);
}
}
6、
package first;
public class while2 {
public static void main(String[] args) {
int i = 1;
int n = 1;
do{
n=n+i;
}while(i > 5);
System.out.println("结果为:"+n);
}
}
小编有话说
《少年的你》大家看了吗?校园霸凌其实是一个很普遍的现象,小到给别人取带有歧视性的绰号,大到彻底击垮别人的自尊,其实我们有时候可能都没意识到自己一个无意之举会对别人造成伤害,但伤疤就那样留下,会永远存在一个烙印。雪崩的时候,没有一片雪花是无辜的;或许你也无意做那一片雪花,但是当这种霸陵发生在自己身边甚至自己身上的时候,我们该如何帮别人或帮自己呢?当然,这个世界始终充满阳光,在保证自己安全的前提下,千万不要做一个旁观者!但是首先得让自己强大起来,才能更好地守护别人。