运算符,分支结构和循环结构
1. 运算符
1.1 自增自减运算符
【注意】
自增自减运算符有且只能操作变量。
++:操作的变量自增 1
变量前: 先执行自增语句,再来参与当前代码行运行
变量后: 先执行当前代码行运行,再执行自增语句
--:操作的变量自减 1
变量前: 先执行自减语句,再来参与当前代码行运行
变量后: 先执行当前代码行运行,再执行自减语句
【开发建议】
1. 非要使用自增长运算符,建议单独成行。
2. 使用 += 1 和 -= 1 替换自增自减运算符 Swift iOS
自增自减运算符面试题
1.
int num = 5;
int ret = num++ * num;
num = ?; 6
ret = ?; 30
2.
int num = 10;
++(num++);
num = ?; 编译报错
(num++)首先执行,但是小括号里面的内容对外是一个整体,也就是一个常量!!!
自增自减运算符【不能操作常量】
1.2 逻辑运算符
&&
保险柜的门,顾客一把钥匙,管理员一把钥匙,缺一不可
同真为真,有假【即】假
||
自己家门,任何一个人带有钥匙,都可以开门
有真【即】真,同假为假
!
强牛 犟
取反
逻辑运算符的断路原则问题
class Demo4 {
public static void main ( String[ ] args) {
int num = 10 ;
boolean ret = 4 < 3 && num++ > 10 ;
System. out. println ( "ret : " + ret) ;
System. out. println ( "num : " + num) ;
int num1 = 20 ;
boolean ret1 = 10 > 5 || ++ num1 < 30 ;
System. out. println ( "ret1 : " + ret1) ;
System. out. println ( "num1 : " + num1) ;
}
}
2. 分支结构
2.1 开发中常见的结构
顺序结构
代码从上之下,从左至右执行!!!
分支结构
条件判断,条件满足执行对应代码
循环结构
在程序中重复执行功能代码
2.2 if
2.2.1 if分支
if ( ) {
}
class Demo5 {
public static void main ( String[ ] args) {
int money = 10 ;
if ( money > 2000000 ) {
System. out. println ( "Audi A8L W12" ) ;
}
System. out. println ( "白日做梦!!!" ) ;
}
}
2.2.2 if - else分支
if ( ) {
} else {
}
class Demo6 {
public static void main ( String[ ] args) {
int money = 20 ;
if ( money > 50 ) {
System. out. println ( "吃一顿红烧肉" ) ;
} else {
System. out. println ( "馒头 + 涪陵榨菜" ) ;
}
}
}
2.2.3 if - else if结构
if ( ) {
} else if ( ) {
} else if ( ) {
} else {
}
class Demo7 {
public static void main ( String[ ] args) {
int score = 59 ;
if ( score >= 90 ) {
System. out. println ( "秀儿" ) ;
} else if ( score >= 80 ) {
System. out. println ( "良儿" ) ;
} else if ( score >= 70 ) {
System. out. println ( "中儿" ) ;
} else if ( score >= 60 ) {
System. out. println ( "过儿" ) ;
} else {
System. out. println ( "叫恁爹穿着拖鞋来学校一趟" ) ;
}
}
}
【补充知识点 从键盘上获取用户输入的数据】
1. 点技能点 【导包】
在class之前复制粘贴
import java.util.Scanner;
2. 创建一个Scanner的变量
Scanner sc = new Scanner(System.in);
3. 使用Scanner的方法从键盘上获取数据
获取int类型数据
int类型变量 = sc.nextInt();
获取float类型数据
float类型变量 = sc.nextFloat();
获取char类型数据
char类型变量 = sc.nextLine().charAt(0);
【补充知识点 用户体验问题】
在代码运行过程中需要给予用户更好的体验!!!是非常友好的体验。
【补充知识点 用户输入数据合法性判断】
在实际代码运行过程中,用户提供的数据很有可能是非法情况。这是需要在满足用户基本需求的情况下,同时满足代码的正常运行!!!
增强代码的健壮性,稳定性
2.3 switch case
switch ( 变量) {
case 常量1 :
处理方式1 ;
break ;
case 常量2 :
处理方式2 ;
break ;
case 常量3 :
处理方式3 ;
break ;
default :
没有匹配任何case 之后的处理方式
break ;
}
3. 循环结构
3.1 为什么是用循环结构
代码中一定会出现多次使用的代码块,而代码中重复使用 如果仅仅是依赖于CV大法,那么会导致以下问题出现
1. 代码冗余
2. 代码阅读性极差
3. 代码维护性极差【给自己留个活路】
3.2 while循环结构
while ( ) {
}