26 01 2023

java基础面试题002

第六题:运算符

运算符是一些特殊的符号,主要用于数学函数,一些类型的符值语句和逻辑比较方面。

   ①符值运算符

   符值运算符使用 = 来表示,它的意思是把 = 号右边的值复制给左边,右边的值可以是任何常数、变量或者表达式,但左边的值必须是一个明确的,已经定义的变量。但是对于对象来说,复制的不是对象的值,而是对象的引用,所以如果说一个对象赋值给另外一个对象,实际上是将一个对象的引用赋值给另外一个对象。

  ②算数运算符

   算数运算符就和数学中的数值计算差不多。

预算符说明
+
-
*
/
%取余

算数运算符需要注意优先级的问题,在不确定优先级的情况下,直接使用括号就可以了,因为()的优先级最高。

   ③自增、自减运算符

        int a = 5;
        int b = ++a;
        int c = a--;

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        // 输出结果 5 6 6
        int a = 5;
        int b = ++a;
        int c = --a;

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        // 输出结果 5 6 5

这两种情况在计算时候是不一样的,但是最终变量a的值是相等的。

   ④比较运算符

   比较运算符用于程序中变量之间,变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是 boolean型。

运算符说明
>比较 左方 是否大于 右方
<比较 左方 是否小于 右方
==比较 左方 是否等于 右方
>=比较 左方 是否大于等于 右方
<=比较 左方 是否小于等于 右方
!=比较 左方 是否不等于 右方

   ⑤逻辑运算符

运算符作用
&&短路与
||短路或
!逻辑非
&逻辑与
|逻辑或
^逻辑异或

   ⑥按位运算符

   按位运算符用来操作整数基本类型中的每个 比特 位,也就是二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。

   按位与:按位进行与运算 AND,两个操作数都为1,结果才为1。

   按位或:按位进行或运算 OR,两个位只要有一个为1,那么结果就是1。

   按位非:按位进行取反运算 NOT,如果位为0,结果是1,如果位为1,结果是0。

   按位异或:按位进行异或运算 XOR,两个操作数的位中,相同则结果是0,不同则结果是1。

   ⑦移位运算符

   移位运算符用来操作数向某个方向移动指定的二进制位数。>> 右移运算符 << 左移运算符。

   ⑧三元运算符

   语法为:条件表达式?表达式1:表达式2 。问号前面的位置是判断的条件,判断结果为布尔型,为true时调用表达式1,为false时调用表达式2。

第七题:执行控制流程

   条件语句:根据不同的条件执行不同的语句。

   if条件语句:

        String blogs = "浪海博客";
        String url = "http://www.langhai.cc";
        if(!blogs.equals(url)){
            System.out.println("两者内容不相等");
        }
        
        // 因为二者内容不相等,输出字符串 两者内容不相等

   if...else条件语句:如果满足某种条件,就进行某种处理,否则就进行另一种处理。

        String blogs = "浪海博客";
        String url = "http://www.langhai.cc";
        if(!blogs.equals("浪海博客")){
            System.out.println("两者内容不相等");
        }else {
            System.out.println("两者内容相等");
        }
        
        // 因为两者内容相等,输出字符串 两者内容相等

   if...else if多分支语句:适用于多个判断条件的情况。

        String url = "http://www.langhai.cc";
        if(url.length() > 10){
            System.out.println("url字符串长度大于10");
        }else if (url.length() > 0){
            System.out.println("url字符串长度大于0");
        }else {
            System.out.println("url字符串长度等于0");
        }
        
        // 输出内容 url字符串长度大于10

   switch多分支语句:

        String blogs = "浪海博客系统";
        switch (blogs){
            case "浪海博客系统":
                System.out.println("浪海博客系统");
                break;
            case "A博客系统":
                System.out.println("A博客系统");
                break;
            default:
                System.out.println("其他博客系统");
                break;
        }

   循环语句:在满足一定条件下反复执行某一表达式的操作,直到满足循环语句的要求。

   while循环语句:利用一个条件来控制是否要继续反复执行这个语句。

        String blogs = "浪海博客系统";
        int count = 5;
        while (count > 0){
            System.out.println(blogs);
            count--;
        }
        
        // 最终会输出五遍 浪海博客系统

   do...while循环语句:和while语句的唯一区别就是do...while语句至少执行一次。

        String blogs = "浪海博客系统";
        int count = 5;
        do {
            System.out.println(blogs);
        }while (count > 10);
        
        // 无论满不满足判断条件,至少都会执行一次代码。

   for循环语句:每次迭代前会测试布尔表达式。

        String blogs = "浪海博客系统";
        int count = 5;
        for (int i = 0; i < count; i++) {
            System.out.println(blogs);
        }
        
        // 最终会输出五遍 浪海博客系统

   for-each语句:JDK1.5中引入的更简洁、方便的方法。

        int[] array = {1, 2, 3};
        for (int i : array) {
            System.out.println(i);
        }
        
        // 遍历数组里面的内容

   跳转语句:

   break语句:用于终止循环操作,强行退出当前循环。

        int[] array = {1, 2, 3};
        for (int i : array) {
            if(i == 2){
                break;
            }
            System.out.println(i);
        }
        
        // 遍历到2的时候,就会强制退出循环          

   continue语句:不会退出当前循环,而是结束这一次的循环。

        int[] array = {1, 2, 3};
        for (int i : array) {
            if(i == 2){
                continue;
            }
            System.out.println(i);
        }
        
        // 遍历到2的时候,结束本次循环,下一次循环不会结束。 

   return语句:一个方法返回,要用到这个。控制权由这个决定。

    /**
     * 场景:用户更新文章,保存到数据库。
     *
     * @param articleDTO
     * @return 数据 200代表成功 其他代表失败
     */
    @PostMapping("/updateArticle")
    @ResponseBody
    public ResultResponse updateArticle(@RequestBody @Validated ArticleDTO articleDTO){
        articleService.updateArticle(articleDTO);
        return ResultResponse.success(ArticleReturnCode.ARTICLE_UPDATE_OK_00003);
    }


本文仅供学习使用,如果文章内容侵权请联系 [email protected] 删除。








延伸阅读
  1. 浪海博客系统友情链接说明
  2. 浪海同志的一生
  3. 浪海皇室 QQ飞车手游
  4. 浪海博客系统部署说明
  5. minio 相关说明
  6. java基础面试题002
  7. mysql相关说明
  8. rabbitMQ 相关说明
  9. nacos配置中心基本使用
  10. gateway服务网关基本使用
如果出现代码等内容显示不正常,使用以前的显示器:以前的显示器
发表评论