六大金刚运算符---三元运算符及字符串拼接符

雨霖先森 2022-09-22 19:06:08

六大金刚运算符---三元运算符及字符串拼接符

一、三目运算符/三元运算符

1.语法规则

变量 = (表达式)?值1:值2;

2.理解

表达式的结果必须是boolean true - 将值1赋值给变量 false- 将值2赋值给变量

3.实验

public class 文件名{
    public static void main(String[] args){
        int num = (false)?10:20;
            System.out.println(num);//20
    }
}

4.基本使用

1.输入两个int数字,比较大小,输出最大值

import java.util.Scanner;
public class 文件名{
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
                System.out.println("请输入第一个数字:");
                int a = scan.nextInt();
                System.out.println("请输入第二个数字:");
                int b = scan.nextInt();
                int max = (a>b)?a:b;
                System.out.println("最大值为:" + max);
    }
}

2.输入两个int数字,比较大小,输出最小值

import java.util.Scanner;
public class 文件名{
   Scanner scan = new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        int a = scan.nextInt();
        System.out.println("请输入第二个数字:");
        int b = scan.nextInt();
        int min = (a<b)?a:b;
        System.out.println("最小值为:" + min);
    }
}

3.输入三个int数字,比较大小,从小到大输出

import java.util.Scanner;
public class 文件名{
   Scanner scan = new Scanner(System.in);
            System.out.println("请输入第一个数字:");
            int a = scan.nextInt();
            System.out.println("请输入第二个数字:");
            int b = scan.nextInt();
            System.out.println("请输入第三个数字:");
            int c = scan.nextInt();     
                //最大值
            int max = (a>b)?a:b;
            max = (max>c)?max:c;
                //最小值
            int min = (a<b)?a:b;
            min = (min<c)?min:c;        
                //中间值
            int mid = a+b+c-max-min;
            System.out.println(min + "<" + mid + "<" + max);
    }
}

5.深入使用

经典面试题一

public class 文件名{
    public static void main(String[] args){
                int a = 5;
            System.out.println( (a<5)?10.9:9 );//9.0 - 值1和值2都是常量,按照取值范围大的类型返回数据
    }
}

经典面试题二

public class 文件名{
    public static void main(String[] args){
        char x = 'x';//ASCII - 120
            int i = 10;
            System.out.println(false?i:x);//120 - 值1和值2都是变量,按照取值范围大的类型返回数据
    }
}

经典面试题三

public class 文件名{
    public static void main(String[] args){
       char x = 'x';//ASCII - 120  0~65535
            System.out.println(false?100:x);//x  100未超出则打印x
            System.out.println(false?65536:x);//120   65536超出打印ASCII值
    }
}

6.扩展

1.表达式

5+6 -- 算数表达式

5>6 -- 关系表达式

true&&true -- 逻辑表达式

2.返回值规则

1.值1和值2都是常量,按照取值范围大的类型返回数据 2.值1和值2都是变量,按照取值范围大的类型返回数据 3.值1和值2有一个是常量一个是变量的情况 4.判断常量的值是否在变量所属类型取值范围内? 在 - 按照变量类型返回数据 不在 - 按照常量类型返回数据

3.小知识

不可变的量,数字字面量就是常量的一种

二、字符串拼接符

符号:+ 注意: +两侧都是数值,符号为算术运算符 +有一侧或两侧是字符串,符号为字符串拼接符

public class Test06{
    public static void main(String[] args){
        System.out.println(1 + 2 + "abc" + "def" + 1 + 2);
        //                   3   + "abc" + "def" + 1 + 2
        //                     "3abc"    + "def" + 1 + 2
        //                            "3abcdef"  + 1 + 2
        //                                "3abcdef1" + 2
        //                                   "3abcdef12"
    }
}  
...全文
48 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-Java 发布问题, 以便更快地解决您的疑问

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧