1.顺序结构
:就是按照代码的顺序从上往下执行
(1)键盘输入数据
①创建对象(不要忘记导包java.util.Scanner) Scanner sc = new Scanner(System.in);
②接收数据 int a = sc.nextInt(); String name = sc.nextLine();
Scanner:他是一个引用类型,接受键盘输入数据的
- 引用类型 名称=new 引用类型();
*例1:
package com.hpe.java;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
/**
* Scanner:他是一个引用类型,接受键盘输入数据的
* 引用类型 名称=new 引用类型();
*/
Scanner sc=new Scanner(System.in);
System.out.println("请输入姓名:");
//接受变量值:定义一个变量
String name=sc.next();
System.out.println("请输入年龄:");
int age=sc.nextInt();
System.out.println("请输入金额:");
double money=sc.nextDouble();
System.out.println("我叫:"+name+",我今年:"+age+"岁,我有:"+money+"元");
}
}
运行结果:
2.条件结构
(1) if
:就是如果的意思,就是根据条件表达式进行判断,如果条件成立,就执行,如果不成立,就跳过。
语法:if (判断条件) { 代码块; }
执行:
1.首先判断条件是否成立,true或false
2.如果是true,执行if里面的代码块
3.如果是false,就跳过。
例如:
//如果你成年了,可以去网吧
Scanner sc=new Scanner(System.in);
System.out.println("请输入年龄:");
int age=sc.nextInt();
//判断用户输入的年龄是否大于等于18
if(age>=18){
System.out.println("可以去网吧");
}
(2)if-else
if ( 条件判断 ) { 代码块1; } else { 代码块2; }
if(age>=18){
System.out.println("成年了,可以进网吧");
}else{
System.out.println("你是小学生,不可以进网吧");
}
(3)三元运算符
<test> ? <resultIfTrue>: <resultIfFalse>
<test>可得到一个布尔值
运算符的结果根据这个值来确定是<resultIfTrue>
,还是<resultIfFalse>
string resultString = (myInteger < 100) ? "小于100": "大于或等于 100";
例:
String result=(age >= 18) ? "成年了,可以进网吧":"你是小学生,不可以进网吧";
System.out.println(result);
(4)switch
:当判断条件为多种状态时,我们使用if-else-if来解决,但这不仅会使代码的编写非常繁琐,还会影响到代码的可读性
- switch语句能够有效的避免这种情况所带来的冗长代码
- switch语句:
• switch (表达式)
{
case 常量1:
代码块1;
break;
case 常量2:
代码块2;
break;
…
default :
代码块n;
break;
}
- (
***
注意)在这里我们需要注意的是,虽然break语句不是必须的,但在执行过程中,如没有遇到break
,将继续执行
下一case后的代码块,直至break或整个switch语句结束。
if和switch的区别
- switch 适合用在条件是固定值(常量),不能进行逻辑判断,根据用户输入的值直接去找相应的case,效率高,case里面需要加入break。
- if适合逻辑判断(区域),每一步判断都会执行
*小例子:
//if 和Switch
Scanner sc=new Scanner(System.in);
System.out.println("请输入学生成绩:");
int score=sc.nextInt();
if(score<0 || score>100){
System.out.println("成绩应该在0-100之间");
System.exit(0);
}
switch (score/10) {
case 10:
case 9:
System.out.println("等级A");
break;
case 8:
case 7:
System.out.println("等级B");
break;
case 6:
System.out.println("等级C");
break;
default:
System.out.println("等级D");
break;
}