javase part2 - 运算符和三大结构

2017-11-09  本文已影响0人  不再饿肚子给人送饭
数学运算符 : + , - , * , /, % ,可以用于数学运算
int number1 = 10;
int number2 = 20;
//可以使用+运算符来将两个数字类型的变量进行加法运算
System.out.println("Sum of numbers : " + (number1 + number2));  
自增自减运算符 : ++ , --

技巧:
+号在前,表示先将变量自增,再将变量赋值
+号在后,表示先将变量赋值,再将变量自增

int number1 = 10;
int number2 = 20;
int number3;
//a++ , ++ 在后面,先将 a 赋值再自增, ++ 在前面,表示先将 a 自增再赋值

//第一个 number1 ++ 先将 number1 = 10 赋值给 number3,之后number1就变成11了
//第二个 ++ number1 先将 number1 自增为 12 然后赋值给number3
//number3 = 10 + 12
number3 = number1++ + ++number1;
逻辑运算符:

&& , || , ! 与或非,用于做逻辑校验

//表达式1和表达式2都成立
//短路操作,当 expression1 表达式不成立的时候,将判定整个表达式不成立
expression1 && expression2

//表达式1和表达式2有一个成立
//短路操作,当 expression1 成立的时候,判定整个表达式成立
expression1 || expression2

//表达式不成立
!expression
三大结构
- if  (如果)
- if - else (如果 - 否则)
- if - else if (如果 - 否则再如果)
- switch case break default (根据指定值判断)
demo : 如果账号和密码正确输出欢迎信息,否则退出

    public static void login(String username,String password){
        
        //在此处开始逻辑判断
        if(!"tom".equals(username)){
            System.out.println("用户名或密码错误");
            
            //如果账号正确
        }else{
            if(!"tom".equals(password)){
                System.out.println("用户名或密码错误");
            
            //如果密码正确
            }else{
                System.out.println("欢迎您: " + username);
            }
        }
    }
demo : 每满100-10

    public static int subTractMoney(int totalNumber){
        
        if(totalNumber<100){
            return totalNumber;
        }
        
        int count = totalNumber/100;
        totalNumber -= count*10;
        return totalNumber;
    }
demo : 根据数字判断等级

    public static String levelByNumber(int number){
        
        String level;
        
        if(number<0){
            throw new RuntimeException("数字不能小于0");
        }
        if(number>100){
            throw new RuntimeException("数字不能大于100");
        }
        
        if(number >= 90){
            level="3";
        }else if(number >= 60){
            level="2";
        }else{
            level="1";
        }
        
        return level;
    }
demo : 根据每天是周几判断吃啥


while(循环条件){
  循环体
}

do while 循环

do{
  循环体
} while(循环条件)

for 循环

for(初始条件; 临界条件; 循环条件){
  循环体
}

demo -  求出100以内的偶数和

     /**
     * 获取指定范围内的偶数和
     * @param bounds 要求的偶数的范围
     * @return 偶数和
     */
    public static int getEvenNumber(int bounds) {

        int total = 0;
        for (int i = 0; i <= bounds; i += 2) {
            total += i;
        }

        return total;
    }

foreach 循环

这只是一个语法糖
for(类型 变量名 : 集合){
  循环体
}
break和continue关键字
demo - 连续输错三次账号密码冻结账户
public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String lastErrorName = "";
        int errorNumber = 0;

        while (true) {
            System.out.println("请输入用户名");
            String name = scanner.next();
            System.out.println("请输入密码");
            String password = scanner.next();

            if ("tom".equals(name) && "tom".equals(password)) {
                System.out.println("登陆成功");
                break;
            } else {
                //将登陆失败的姓名保存
                //如果这一次输入的账号和上一次输入的账号不一样,就清空lastErrorName
                //如果输入的账号一样就累加errorNumber

                System.out.println("账号密码错误");
                if (!(name.equals(lastErrorName))) {
                    lastErrorName = name;
                } else {
                    errorNumber++;
                }
                if (errorNumber == 2) {
                    System.out.println("账号冻结");
                    break;
                }
            }
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读