目录
1、Java三大流程逻辑结构
顺序结构 | 选择结构 | 循环结构 |
是一种线性、有序的结构 | 是根据条件成立与否选择程序执行的路径 | 是在一定条件下反复执行一个或几个语句 |
![]() | ![]() | ![]() |
2、Java常用流程图图例
元素 | 名称 | 定义 |
| 开始或结束 | 表示流程的开始或结束 |
| 流程 | 表示具体的步骤或操作 |
| 判定 | 表示判断条件或分支 |
![]() | 连接符 | 表示流程间的接口 |
![]() | 流程线 | 表示流程进行方向 |
3、if选择结构的四种形式与作用
(1)基本if选择结构
作用:可以处理单分支的if选择结构;
if(//条件,例:money>=1000(结果必须是布尔值-做比较)){
//代码块,例:System.out.println("欢迎你的到来!");
}
(2)if-else选择结构
作用:可以处理两个分支的if选择结构;
if(//条件,例:money>=1000){
//代码块1,例:System.out.println("欢迎你的到来!");
}else{
//代码块2,例:System.out.println("预算不足,下次再来!");
}
(3)多重if选择结构
作用:可以处理多个分支的if选择结构;
注:如果多重if选择结构中所有的条件之间只是简单的互斥,不存在连续区间的关系,则条件没有顺序要求;
if(//条件1){
//代码块1
}else if(//条件2){
//代码块2
}else .....(.....){
//可以有多个代码块
}else{
//最后一个可以省略if
}
(4)嵌套if选择结构
作用:可以处理某分支中嵌套if结构的if选择结构;
if(//条件1){
if(//条件2){
//代码块1
}else{
//代码块2
}
}else{
//代码块3
}
4、三元运算符
(1)定义:是一种由三个操作数组成的运算符,通常用于在条件为真和为假之间进行选择;
(2)特点:
①简洁性
使用三元运算符可以在一个语句中完成相同的操作,而不需要编写额外的if-else代码块或switch-case语句;这使得代码更加简洁易读;
②方便性
通过使用三元运算符,可以更方便地处理只有两种可能结果的操作,比如在赋值操作中使用;
③速度
相对于if-else语句,三元运算符可以提高代码执行的速度,因为在if-else语句中可能存在多次判断;而由于三元运算符只会执行一次条件判断,所以它可以带来更快的代码执行速度;
(3)语法结构:类型 变量名 = (条件表达式)? 表达式1:表达式2;
①详解:()括号内进行逻辑运算,结果为boolean值,当值为true时返回表达式1的值给左边的变量,当括号内值为false时则返回表达式2的值给左边的变量;
②注意1:表达式1与表达式2的类型要求是一致的,左边的变量名不要求一致,可以通过强制转换达到变换类型的目的;
③注意2:三元运算可以嵌套使用,表达式1可以是一个新的三元运算,只要其返回值类型与表达式2一致即可;
④注意3:凡是三元运算均可以转换为if-else,但是反过来不一定可以;
(4)三元运算符与if-else的区别和联系
①三元运算符可简化if-else语句;
②三元运算符要求必须返回一个结果;
③if后的代码块可有多个语句;
//例:
String str=(1+2==3)?"算对了!":"算错了!";
//int str=3>2?1:0;
System.out.println(str);
//相当于:
String str="";
if(1+2==3){
str ="算对啦!";
}else{
str ="算错啦!";
}
System.out.println(str);
5、Java随机数
(1)Math.random()方法
①公式:(数据类型)(Math.random()*(最大值-最小值)+最小值);
在Math类中存在一个random()方法,用于产生随机数字,这个方法默认生成大于等于0.0小于1.0的double型随机数,即0<=Math.random()<1.0,其实只要在Math.random()语句上稍加处理,就可以使用这个方法产生任意范围的随机数;
//例1:
//得到1~10位整数
int num=(int)(Math.random()*9+1);
//例2:
public class Demo01{
public static void main(String[] args){
// 生成100至999的随机整数
int result = (int) (Math.random() * (999 - 100)+100);
System.out.println(result);
}
}
6、equals(" ")与==的区别
(1)变量.equals(""):用在字符串中比较两个对象的内容是否相等,都是比较内存地址是否相等;
(2)变量==:用在基本数据类型的值中比较是否相等,都是比较内存地址是否相等;