Day07
顺序结构
自上而下
选择结构
if单选则结构:
语法:
if (布尔表达式){
//如果布尔包大师为true将执行的语句
}
package com.struct;
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();//接收数据
//equals 判断字符串是否相等
if (s.equals("Hello"));{
System.out.println(s);
}
System.out.println("END");
scanner.close();
}
}
if双选择结构:
语法:
if(布尔表达式){
//如果布尔表达式为True,
}else{
//如果布尔表达式为False
}
package com.struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//判断成绩是否及格
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int score=scanner.nextInt();
if (score>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
}
if多选择结构
语法:
if(布尔表达式1){
//如果表达式1为真的执行的代码
}else if(布尔表达式2){
//如果表达式2为真 的执行代码
}else if(布尔表达式3){
//如果表达式3为真的结果
}
package com.struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入 成绩 ");
int score=scanner.nextInt();
if (score==100){
System.out.println("满分");
}else if (score<100 && score>=90){
System.out.println("优秀 ");
}else if (score<90 && score>=60){
System.out.println("及格");
}else if (score<60 && score>=0){
System.out.println("不及格");
} else {
System.out.println("成绩不合法");
}
scanner.close();
}
}
嵌套的if结构. 可以使用嵌套的 if。。。else语句,也就是 说你可以在另一个if或者else if语句中使用 if或者else if语句,可以向 if语句 一样嵌套else if。。。else 语法 :
if(布尔表达式1){
//如果布尔表达式的值为true执行代码
if(布尔表达式 2){
//如果表达式2的值为true执行代码
}
}
switch多选择结构
语法:
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;
//你可以有任意 数量的case
default://可选
//语句
}
switch语句中的变量类型可以是 : 1.byte,short,int,char 2.从JavaSE7开始,switch支持字符串String类型 3.同时case标签必须为字符串常量或者字面量
注意点: 注意case穿透现象(每一句后面得加break;) 反编译 : java---class(字节码文件)---反编译(很多软件,再次用IDEA)
package com.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case穿透 //switch 匹配一个基础的值
char grade='C';
switch (grade){
case'A':
System.out.println("优秀");
break;//可选
case'B':
System.out.println("良好");
break;//可选
case'C':
System.out.println("再接再厉 ");
break;//可选
case'D':
System.out.println("不及格");
break;//可选
default:
System.out.println("未知量");
}
}
}
思考:输入“冯继炎”,运行结果弹出来“大帅比”
package com.struct;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据");
String name=scanner.next();
switch (name){
case"大大":
System.out.println("大大沙比");
break;
case"冯继炎":
System.out.println("冯继炎就是无敌大帅比");
break;
default:
System.out.println("呵呵哒");
}
}
}
IDEA的反编译
操作:找到项目输出的class文件夹,然后点击模块中的打开文件夹,复制class文件到模块中,即可打开
打开 之后可以发现:
再次对应即是: JDK7的新特性,表达式结果可以是字符串 字符的本质 还是数字(hashCode) 看源码:
循环结构
while循序
语法:
while(布尔表达式){
//循环内容
}
注意:
-
只要布尔表达式为true,循环就会一直执行下去
-
我们大多数是会让循环停止下来,我们需要一个让表达式失效的当时来结束循环
-
少部分 情况需要 循环 一直执行 ,比如服务器的请求响应监听等
-
循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免死循环
-
思考 1+2+3+。。。。+100?
package com.struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输出1到100所有的整数
int i=0;
while(i<100){
i++;
System.out.println(i);
}
}
}
package com.struct;
//1+100的算法
public class WhileDemo02 {
public static void main(String[] args) {
int i=0;
int sum=0;
while (i<100){
i++;
sum=sum+i;
}
System.out.println(sum);
}
}
java运行的环境问题????
do while循环 : 对于while语句而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次 do...while循环和while循环想死,不同的是,do....while循环至少会执行一次 语法:
da{
//代码语句
}while(布尔表达式);
while与do-while的区别: while先判断后执行,do-while先执行后判断 do-while至少会执行一次,这是他们的主要区别
如下:
package com.struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
i++;
sum=sum+i;
}while (i<100);
System.out.println(sum);
while (i<0){
System.out.println(i);
i++;
}
System.out.println("========");
do {
i++;
}while (i<0);
System.out.println(i);
}
}
浙公网安备 33010602011771号