2024年大数据最新【手把手带你学JavaSE】第三篇:运算符和程序逻辑控制(1),大数据开发高级开发面试题

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

增量赋值运算符 += -= *= /= %=
在这里插入图片描述
自增/自减运算符 ++ –
在这里插入图片描述
结论:
1 . 如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别.
2. 如果取表达式的返回值, 则前置自增的返回值是自增之后的值, 后置自增的返回值是自增之前的值.

1.2 关系运算符

关系运算符主要有六个:
在这里插入图片描述
注意: 关系运算符的表达式返回值都是 boolean 类型.

1.3 逻辑运算符

逻辑运算符主要有三个: && || !
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4 位运算符

位运算符主要有四个: & | ~ ^
在这里插入图片描述

1.5 移位运算

移位运算符有三个:

<< >> >>>
Java相当于C语言多了一个>>>
这个是无符号为右移:最右侧位不要了,最左侧补0
右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1 )
左移 <<: 最左侧位不要了, 最右侧补 0.

注意:
1 . 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
4. 移动负数位或者移位位数过大都没有意义

1.6 条件运算符

条件运算符只有一个: 表达式1 ? 表达式2 : 表达式3(都是布尔表达式)

表达式1为真,结果就是表达式2。表达式1为假,结果就是表达式3
在这里插入图片描述

二、注释

注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要.

时刻牢记! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的.

2.1 基本规则

Java中的注释主要分为以下三种

单行注释: // 注释内容(用的最多)
多行注释: /* 注释内容*/(不推荐)
文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可用来自动生成文档

2.2 注释规范

1 . 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
4. 积极向上: 注释中不要包含负能量(例如 领导 SB 等).

三、关键字

初识一些关键字
在这里插入图片描述

四、顺序结构

在这里插入图片描述
如果调整代码的书写顺序, 则执行顺序也发生变化
在这里插入图片描述

五、分支结构

5.1 if语句

在这里插入图片描述

示例:

public static void main(String[] args) {
        int n = 10;
        //if里面只能是布尔表达式
        if(n % 2 == 0) {
            System.out.println("偶数");
        }else{
            System.out.println("奇数");
        }
 
    }
}

在这里插入图片描述
读入字符串
在这里插入图片描述
读入字符串,如果字符串存在空格的情况下,遇到空格结束
在这里插入图片描述

如果你要读取字符串和整数,要先读取字符串再读取整数

如果要简单使用输入函数,可以用。项目当中,慎重!!!!!!

判断是不是闰年:

public class TestDemo {
 
  方法1: public static void main1(String[] args) {
        int year = 2000;
        if (year % 100 == 0) {
            if (year % 400 == 0) {
                System.out.println("是闰年");
            } else {
                System.out.println("不是闰年");
            }
        } else {
            if (year % 4 == 0) {
                System.out.println("是闰年");
            } else {
                System.out.println("不是闰年");
            }
        }
    }
 
  方法2:  public static void main(String[] args) {
        int year = 2000;
        if(year % 100!= 0 && year % 4== 0 ||year % 400 == 0){
            System.out.println("是闰年");
        }else{
            System.out.println("不是闰年");
        }
 
 
    }
}

悬垂 else 问题
在这里插入图片描述
if / else 语句中可以不加 大括号 . 但是也可以写语句(只能写一条语句). 此时 else 是和最接近的 if 匹配.

但是实际开发中我们 不建议 这么写. 最好加上大括号.
代码风格问题

//java里面比较喜欢
int x = 10;
if(x == 10){
	//满足条件
}else{
	//不满足条件
}

虽然两种方式都是合法的, 但是 Java 中更推荐使用风格1 , { 放在 if / else 同一行.

分号问题

int x = 20;
if(x == 10):{
	System . out . p ri ntl n (" hehe") ;
}
//打印结果
hehe

此处多写了一个 分号, 导致分号成为了 if 语句的语句体, 而 { } 中的代码已经成为了和一个 if 无关的代码块.

5.2 switch 语句

在这里插入图片描述
举例:

    public static void main(String[] args) {
        //long double float boolean是不能做switch语句里面的参数的
        int a = 10;
        switch (a){//小括号里面是一个表达式,必须是一个简单的表达式,不能像c语言一样,比如说a>=10 && a<=20
            case 1:
                System.out.println("1");
                break;
            case 2:
                System.out.println("2");
            default:
                System.out.println("参数不匹配");
                break;
        }
    }
}

String类型可以作为Java中switch语句的参数

根据 switch 中值的不同, 会执行对应的 case 语句. 遇到 break 就会结束该 case 语句
如果 switch 中的值没有匹配的 case, 就会执行 default 中的语句.
我们建议一个 switch 语句最好都要带上 default
我们发现, 不写 break 的时候, case 语句会依次向下执行, 从而失去了多分支的效果

注意事项1
break 不要遗漏, 否则会失去 “多分支选择” 的效果
注意事项2
switch 中的值只能是 整数|枚举|字符|字符串
注意事项3 switch 不能表达复杂的条件
例如: 如果 num 的值在 10 到 20 之间, 就打印 hehe
这样的代码使用 if 很容易表达, 但是使用 switch 就无法表示.

六、循环结构

6.1 while循环

基本语法格式:

while(布尔表达式){

语句块;

}

循环条件为 true, 则执行循环语句; 否则结束循环
举例:

 求1到10的和   
public static void main(String[] args) {
       int i = 1;
       int sum = 0;
       while(i <=10) {
           sum += i;
           i++;
       }
        System.out.println(sum);
    }
}
 
求n的阶乘
 
    public static void main(String[] args) {
        int j = 3;
        int ret = 0;
            int sum = 1;
            int i = 1;
                while(i<=j) {
 
                    sum \*=i;
                    i++;
                }
        System.out.println(sum);
 
        }


![img](https://img-blog.csdnimg.cn/img_convert/36ae89fce6d409816efcfe9f2a3e1638.png)
![img](https://img-blog.csdnimg.cn/img_convert/93e7c6789cb00723da12d5ad98ac6a90.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

.out.println(sum);
 
        }


[外链图片转存中...(img-mwFS1jcF-1715616734447)]
[外链图片转存中...(img-4un1Up4U-1715616734447)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值