zoukankan      html  css  js  c++  java
  • 040_字符串连接符 041_条件运算符目 042_运算符优先级_逻辑与或优先问题 043_自动类型转化 044_强制类型转换 045_基本类型常见错误_溢出_L问题

    040_字符串连接符

    package test_package;

    /**
    * 字符串运算符
    * @author
    *
    */
    public class TestOperator05 {
    public static void main(String[] args) {
    String a = "3";
    int b = 4;
    int c = 5;
    char d = 'a';
    System.out.println(a+b+c);//因为3是字符串,后面都是字符串连接
    System.out.println(b+c+a);//9+a,a是字符串
    System.out.println(d+4); //97+4=101,d在ASCLL码中是97
    }
    }

    041_条件运算符目

    /**
    * 条件运算符(三元运算符)
    * @author
    *
    */
    public class TestOperator06 {
    public static void main(String[] args) {
    int score = 80;
    int x = -100;
    String type = score<60?"不及格":"及格";
    System.out.println(type);

    if(score<60){
    System.out.println("不及格");
    }else{
    System.out.println("及格");
    }

    System.out.println(x > 0 ? 1 : (x == 0 ? 0 : -1));

    }
    }

     心得:三元运算符可以用if条件分支语句替代

     042_运算符优先级_逻辑与或优先问题

     心得:

    1、尽量使用小括号来区分优先级。

    2、逻辑运算符优先级:非>与>或

    非的运算优先级在逻辑运算符内最高,最低的是或

    例:a||b&&c  的正确顺序是 a||(b&&c)

    043_自动类型转化

    package test_package;

    /**
    * 测试自动类型转化
    * @author
    *
    */
    public class TestTypeConvert {
    public static void main(String[] args) {
    int a = 324;
    long b = a;
    double d = b;
    // a = b; //不合法Type mismatch: cannot convert from long to int
    // long e = 3.23F;
    float f = 234324L;
    short y=12345;//6位short类型就溢出了
    //特例
    byte b2 = 123;

    }
    }

    心得:

    1、容量小的数据类型可以向容量大的数据类型的变量自动转化。

    044_强制类型转换

    在需要强制转化的数据类型前加小括号(),在括号内填入需要转为的目标数据类型。

    心得:

    强行转化的过程中要注意精度丢失的问题。 

     

    045_基本类型常见错误_溢出_L问题

    /**
    * 测试类型转换常见问题
    * @author
    *
    */
    public class TestTypeConvertError {
    public static void main(String[] args) {
    int money = 1000000000; //10亿
    int years = 20;
    //返回的total是负数,超过了int的范围
    int total = money*years;
    System.out.println("total="+total);
    //返回的total仍然是负数。默认是int,因此结果会转成int值,再转成long。但是已经发生//了数据丢失
    long total1 = money*years;
    System.out.println("total1="+total1);


    //返回的total2正确:先将一个因子变成long,整个表达式发生提升。全部用long来计算。
    long total2 = money*((long)years);
    System.out.println("total2="+total2);

    long total3 = 34L*3223*years*223423;//将第一个数数转位long,这样后续的计算就都是long了

    System.out.println(total3);
    //命名问题
    int l = 2; //分不清是L还是1,
    long a = 23451l;//建议使用大写L
    System.out.println(l+1);

    }
    }

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    Django学习 之 Django安装与一个简单的实例认识
    Django学习 之 HTTP与WEB为Django做准备
    Ansible ssh-key密钥认证配置
    Python 之并发编程之进程下(事件(Event())、队列(Queue)、生产者与消费者模型、JoinableQueue)
    Python 之并发编程之进程中(守护进程(daemon)、锁(Lock)、Semaphore(信号量))
    Python 之并发编程之进程上(基本概念、并行并发、cpu调度、阻塞 )
    Python 之网络编程之socket(3)hashlib模块
    Python 之网络编程之进程总体概要
    Python 之网络编程之socket(2)黏包现象和socketserver并发
    Python 之网络编程之socket(1)TCP 方式与UDP方式
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/12347809.html
Copyright © 2011-2022 走看看