基本数据类型注意事项

  • 整型类型:long>int>short>byte

    • java默认类型为int型

      • long a = 123

        表示将int类型的数值赋给更大范围的long类型,当数据超过long类型时,必须声明long变量,且必须加l,声明为改数据为long型
      • long a = 2147483648L
  • 浮点类型:double>float
    • java默认类型为double型
    • 在java中声明float类型
      • 将整数赋值给float型不加F

        float b = 1;
      • 将小数赋给float需要加F

        float b = 1.0;
  • boolean: true 、false

一、类型自动提升, int 类型与 byte 、short、char类型的运算

  • int = byte+byte
  • int = short+short
  • int = char - int
    • char 跟int对象运算时先转为字节码,如:a---->97

      public class Test1 {

        public static void main(String[] args) {
      
            // 定义两个 byte类型变量
      byte b1 = 10;
      byte b2 = 20;
      // 定义int 类型变量 b3
      int b3 = b1 + b2;
      System.out.println("byte类型b1和b2的和为:");
      System.out.println(b3); // 定义两个 short类型变量
      short s1 = 1000;
      short s2 = 2000;
      // 定义int 类型变量 b3
      int s3 = s1 + s2;
      System.out.println("short类型s1和s2的和为:");
      System.out.println(s3); // 定义char类型变量
      char ch1 = 'a';
      // 定义int类型变量
      int i1 = 30;
      // 定义int 类型变量 ch3
      int ch3 = ch1 - i1;
      System.out.println("char类型ch1和int类型i1的差为:");
      System.out.println(ch3);
      }
      }

二、类型自动提升, 浮点型float、double的运算

  • float = long + int

  • long = long +int

  • double = double + int

  • double = float +double

    public class Test2 {

    public static void main(String[] args) {

    // 定义 int类型变量i1 和 long类型变量l1

    int i1 = 100;

    long l1 = 200;

    // 定义变量add,保存i1和l1的和,并输出.

    long add = i1 + l1;

    System.out.println("add 的值:"+add);

    // 定义 long类型变量l2 和 float类型变量f2

    long l2 = 1000000;

    float f2 = 0.45F;

          // 定义变量add2,保存l1和f1的和,并输出.
    float add2 = l2 + f2;
    System.out.println("add2的值:"+add2);
    // 定义 int类型变量i3 和 double类型变量d3
    int i3 = 1000000;
    double d3 = 0.45;
    // 定义变量add3,保存i2和d1的和,并输出.
    double add3 = i3 + d3;
    System.out.println("add3的值:"+add3);
    //定义 float类型变量f2 和 double类型变量d2
    float f4 = 1000000.789F;
    double d4 = 0.45;
    //定义变量add4,保存f2和d2的和,并输出.
    double add4 = f4 + d4;
    System.out.println("add4的值:"+add4);
    }

    }

三、 类型强制转换,由小 ----->大

  • 将int 类型转为char类型

    char = (char)int

  • 将double类型转为int类型

    int = (int)double

    public class Test3 {

    public static void main(String[] args) {

    // 定义char类型变量ch,赋值为'J'

    char ch = 'J';

    // 将变量ch转换为小写'j',并输出

    ch = (char) (ch + 32);

    System.out.println(ch);

              // 定义char类型变量ch2,赋值为'a'
    char ch2 = 'a';
    // 将变量ch2转换为大写'A',并输出
    ch2 -= 32;
    System.out.println(ch2); // 定义double类型变量d3,int类型变量i3
    double d3 = 3.5;
    int i3 = 100; // 定义变量sum3,保存d3和i3的和,将sum3去除小数部分并输出.
    double sum3 = d3 + i3;
    System.out.println("sum3的的值:" + sum3);
    System.out.println("sum3的整数部分的值:" + (int) sum3); // 定义double类型变量d4,int类型变量i4
    double d4 = 5.8;
    int i4 = 300;
    // 定义int变量mul4,保存d4和i4乘积的整数部分,并输出
    int mul4 = (int) (d4 * i4);
    System.out.println("mul4的整数部分值:"+mul4); }

    }

四、 % : 取余符号

public static void main(String[] args) {
// 定义两个int类型变量a1和a2,分别赋值10,11,判断变量是否为偶数,拼接输出结果
int a1 = 10;
int a2 = 11;
boolean b1 = a1 % 2 == 0;
boolean b2 = a2 % 2 == 0;
System.out.println("10是偶数?" + b1);
System.out.println("11是偶数?" + b2);
// 定义两个int类型变量a3和a4,分别赋值12,13,判断变量是否为奇数,拼接输出结果
int a3 = 12;
int a4 = 13;
boolean b3 = a3 % 2 == 1;
boolean b4 = a4 % 2 == 1;
System.out.println("12是奇数?" + b3);
System.out.println("13是奇数?" + b4);
}

五、++a 和 a++的区别

  • ++a, 先加再做运算

    a = 20

    ++a % 3

    两步运算:

    1. a = a+1 = 21
    2. a % 3 = 21 % 3 =0
  • a++,先运算后加加

    a = 20

    a++ % 7

    1. a % 7 = 20 % 7 ≠ 0
    2. a = a + 1 =21

    public static void main(String[] args) {

    //定义一个int类型变量a,赋值为20.

    int a = 20;

    //定义boolean类型变量bo , 判断++a 是否被3整除,并且a++ 是否被7整除,将结果赋值给bo

    boolean bo = ++a % 3 == 0 && a++ % 7 == 0;

    //输出a的值,bo的值.

    System.out.println("bo的值:" + bo);

    System.out.println("a的值:" + a);

    System.out.println("-------------");

    //定义一个int类型变量b,赋值为20.

    int b = 20;

    //定义boolean类型变量bo2 , 判断b++ 是否被3整除,并且++b 是否被7整除,将结果赋值给bo2

    boolean bo2 = b++ % 3 == 0 && ++b % 7 == 0;

    //输出b的值,bo2的值.

    System.out.println("bo2的值:" + bo2);

    System.out.println("b的值:" + b);

    }

六、 三元运算符 a>b ? true:false

  • 三元运算符的使用

      表达式 ?表达式成立返回值:表达式不成立返回值
    
       例: a > b ? true : false
    
       如果a > b成立,则返回true, 否则,返回false

    public class Test6 {

    public static void main(String[] args) {

    // 在main方法中调用printNum方法

    printNum();

    }

      	    private static void printNum() {
    
      	//        printNum方法中,定义int变量a赋值为9,b也赋值为9
    int a = 9;
    int b = 9; // printNum方法中,定义int变量num赋值为++a.
    int num = ++a;
    // printNum方法中,定义boolean变量bo,使用三元运算符赋值,当num>=10,赋值为true,否则为false,打印bo的值
    boolean bo = (num >= 10) ? true : false;
    System.out.println("bo的值"+bo); // printNum方法中,定义int变量num2赋值为b++.
    int num2 = b++;
    // printNum方法中,定义boolean变量bo2,使用三元运算符赋值,当num2>=10,赋值为true,否则为false,打印bo2的值
    boolean bo2 = (num2 >= 10) ? true : false;
    System.out.println("bo2的值"+bo2);
    }
    }

数据类型转换&运算符的更多相关文章

  1. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  2. 简谈-Python的输入、输出、运算符、数据类型转换

    输出: 格式化输出: 看到了 % 这样的操作符,这就是Python中格式化输出. 换行输出: 在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示 输入: 在python2.7当中, ...

  3. python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  4. [Day2]变量、数据类型转换以及运算符

    1.变量 变量是内存中装载数据的小盒子,你只能用它来存取数据 2.计算机存储单元 (1)计算机存储设备的最小信息单元叫“位(bit)”,“比特位” (2)8个比特位表示一个数据,是计算机的最小存储单元 ...

  5. JavaScript(四):运算符&数据类型转换

    +:算符的加法:连接字符串 加法会将其它类型的值,自动转为字符串,然后再进行连接运算! var a=1+2; console.log('first: '+a); var a=1+2+'3';//先计算 ...

  6. java===java基础学习(3)---数据类型转换,运算符级别,枚举类型

    数据类型转换: 有的时候,程序需要将数据类型,比如 int + float ,结果是float, 这里的int就被转换为float类型,属于合法转换. Java中的合法转换如下图: 红色表示无信息丢失 ...

  7. 前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏

    一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...

  8. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  9. javascript学习3、数据类型、数据类型转换、运算符

    数据类型包括:基本数据类型和引用数据类型 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值 ...

随机推荐

  1. 12.Linux重定向与管道|

    1.重定向概述 1.1什么是重定向 将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中 名称 文件描述符 作用 标准输入(STDIN) 0 默认是键盘,也可以是文件或其他命令的输出. 标准输出( ...

  2. 使用docker-compose部署nginx+gunicorn+mariadb的django应用

    目录 1. docker-compose 项目的组织目录 2. 构建 mysql 容器 3. 构建 django-blog 容器 4. 构建 nginx 容器 5. docker-compose.ya ...

  3. 记录手动签名APK的过程

    记录手动签名APK的过程 前两天更新了华为平台上的APK,被驳回,原因是新APK签名和老的APK不一致,老用户安装会失败,用命令行安装会报如下的错误: harlanc@harlancdeMacBook ...

  4. kubectl get 后按2次tab键命令补全的失效原因分析

    kubectl get 后按2次tab键命令补全的失效原因分析 2019/10/28 Chenxin a.bash客户端工具 在centos用户下, cd ~;echo "source &l ...

  5. 为什么要用dubbo,dubbo是什么,为什么要和zk结合使用?

    目录 为什么要用dubbo dubbo是什么 dubbo架构 dubbo和zk关系 为什么要用dubbo? 随着互联网的发展,网站的应用规模不断扩大,常规的垂直架构已经无法应,分布式服务架构势在必行, ...

  6. Leetcode Tags(3)String(TODO)

    一.Easy 696 Count Binary Substrings Input: "00110011" Output: 6 Explanation: There are 6 su ...

  7. phpstorm 2016.2.2 激活

    2016年7月14日 phpstorm 推送2016.2 更新 2016年10月25日phpstorm 推送2016.2.2 更新 2016年11月24日phpstorm 推送2016.3 更新 下面 ...

  8. Java 计算n对应的二进制位上有几个1,分别在什么位置

    Java计算n的二进制位上有几个1,分别在什么位置   public List<Integer> getBinOneCount(int n){     List<Integer> ...

  9. CentOS 7升级Python到3.6.6后yum出错问题解决总结

      最近将一台测试服务器操作系统升级到了Cent0S 7.5,然后顺便也将Python从2.7.5升级到Python 3.6.6,升级完成后,发现yum安装相关包时出现异常,报"File & ...

  10. mysql 5.6.44 zip 安装教程(基于windows )

    首先我们从官网下载最新版本的mysql 5.6.44版本,网页地址: ,我的电脑是64位的版本,所以我选择的是64位版本,如果是32位,根据实际情况下载所需要的安装包.