1 Scanner 接受用户输入的数据:共三部
在package下:
import java.util.Scanner;
在mainh中:
Scannery scan =new Scanner(System.in);
在第2步之下:
System.out.println("请输入年龄:")
int age = scan.nextlnt();
Sytem.out.println("请输入商品价格")
double price=scan.nextDouble();
2 分支结构:
if....else if 结构: 多条路
语法:
if(boolean-1){
语句块1
}else if(boolean-2){
语句块
}else if(boolean-3){
语句块3
}else{
语句块4
}
执行过程:
判断boolean-1,若true则执行语句块1 结束
若为false则
在判断Boolean-2,若为true则执行语句块2(结束)
若为false则:
在判断Boolean-3 若为true则执行语句块3(结束),
若为false
执行语句块4(结束)
说明:
语句块1/2/3/4 只能执行其中之一-----多选1
ublic class ScoreLevel {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入成绩:");
double score = scan.nextDouble();
//带数(-25,888,95,85,65,45)
if(score<0 || score>100){
System.out.println("成绩不合法");
}else if(score>=90){ //合法
System.out.println("A-优秀");
}else if(score>=80){
System.out.println("B-良好");
}else if(score>=60){
System.out.println("C-中等");
}else{
System.out.println("D-不及格");
}
}
}
>switch...case结构: 多条路
优点 : 效率高 结构清晰
缺点: 只能对整数判断相等(整数类型 byte,short int char,String,枚举类型)(面试题)
break: 跳出switch
3 循环 :反复多次执行一段相同或者相似的代码
循环三要素 :
循环变量的初始化
循环条件(以循环变量为基础)
循环变量的改变(向着循环的结束遍)
|| 循环变量: 在整个循环过程中所反复改变的那个数
>while结构: 先判断后执性,有可能一西都不执行
语法:
while(boolaan){
语句块--------反复执行的代码
}
执行过程:
判断Boolean的值, 若为true则执行语句块,
再判断boolean的值,若为true则再执行语句块
再判断boolean的值,若为true则再执行语句块
如此反复 直到Boolean的值为false时, while循环结束
//1)输出5次"行动是成功的阶梯":
int times = 0; //1)循环变量的初始化
while(times<5){ //2)循环的条件
System.out.println("行动是成功的阶梯");
times++; //3)循环变量的改变
}
System.out.println("继续执行...");
/*
执行过程:----带数
times=0
true 输出 times=1
true 输出 times=2
true 输出 times=3
true 输出 times=4
true 输出 times=5
false while循环结束
输出继续执行...
*/
//2)输出9的乘法表:
int num = 1; //3*9=27
while(num<=9){
System.out.println(num+"*9="+num*9);
num++; //num+=2;
}
System.out.println("继续执行...");
>do......while结构:先执行后判断 至少执行一次
====要素1与要素3相同是,首选do...while
语法 :
do{
语句块
}while(boolean);
执行过程;
先执行语句块, 在判断boolean的值,
若为true则
再执行语句块,在判断Boolean的值,
若为true则
在执行语句块,在判断Boolean的值,
若为true则
再执行语句块,如此反复 直到
Boolean的值为false 则do...while结束
-
-
public class Guessing {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = (int)(Math.random()*1000+1); //1到1000之内的随机数
System.out.println(num); //作弊
//假设num=250
//300(大),200(小),250(对)
int guess;
do{
System.out.println("猜吧!");
guess = scan.nextInt(); //1+3
if(guess>num){
System.out.println("太大了");
}else if(guess<num){
System.out.println("太小了");
}else{
System.out.println("恭喜你猜对了");
}
}while(guess!=num); //2
}
}
-
补充:
1 变量的作用域/范围:
从变量的声明开始,到包含它最近的大括号结束
2 生成随机数:
3 任何复杂的程序逻辑都可以通过三种结构来实现:
顺序结构: 从上往下逐行执行, 每句必走
分支结构: 有条件执行毛语句一次,并非每句必走
循环结构: 有条件的执行毛语句多次 并非每句必走