首页 > 编程语言 >Java基础-类型拓展

Java基础-类型拓展

时间:2023-12-30 17:58:24浏览次数:35  
标签:Java int money System 拓展 years println 类型 out

类型拓展

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

    • 低 -------------------------------------------------------------------> 高

    • byte,short,char —> int —> long —> float —>double

  • 运算中,不同类型的数据先转化为同一种类型,然后进行运算。

  • 强制类型转换

  • 自动类型转换

 

public class Demo05 {
  public static void main(String[] args) {
      //强制转换 (类型)变量名     高--低
      int i = 128;
      byte b = (byte)i;//内存溢出

      System.out.println(i);
      System.out.println(b);

      //自动转换   低--高
      int   a = 128;
      double c = a;

      System.out.println(a);
      System.out.println(c);

      /*
      注意点:
      1. 不能对布尔值进行转换
      2. 不能把对象类型转换为不相干的类型
      3. 在把高容量转换到低容量的时候,强制转换
      4. 转换的时候可能存在内存溢出,或者精度问题
        */

      System.out.println("======================================");
      System.out.println((int)23.7);     //23
      System.out.println((int)-45.89);   //-45

      System.out.println("======================================");
      char d = 'a';
      int f = d+1;
      System.out.println(f);
      System.out.println((char)f);
  }
}

 

public class Demo06 {
  public static void main(String[] args) {
      //操作比较大的数的时候,注意溢出问题
      //JDK7新特性,数字之间可以用下划线分割
      int money = 10_0000_0000;
      int years = 20;
      int total = money*years;       //-1474836480,计算的时候溢出了
      long total2 = money*years;       //默认是int,转换之前已经存在问题了
      long total3 = money*(long)years; //先把一个数转换为Long
       
      System.out.println(money);
      System.out.println(years);
      System.out.println(total);
      System.out.println(total2);
      System.out.println(total3);

      //L l
  }
}

标签:Java,int,money,System,拓展,years,println,类型,out
From: https://www.cnblogs.com/wyj1421305841/p/17936592.html

相关文章

  • Java基础-变量
    变量变量是什么:就是可以变化的量!Java是一种强类型语言,每个变量都必须声明其类型。Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域typevarName[=value][{,varName[=value]}];//数据类型变量名=值;可以使用逗号隔开来声明多个同类型变量。......
  • Java程序运行机制
     Java程序运行机制编译型编译型语言:编译型语言在执行之前要先经过编译过程,编译成为一个可执行的机器语言的文件,比如exe。因为翻译只做一遍,以后都不需要翻译,所以执行效率高。编译型语言的典型代表:C语言,C++。编译型语言的优缺点:执行效率高,缺点是跨平台能力......
  • Java基础-注释
    注释注释并不会被执行,是给我们写代码的人看的!平时写代码一定要注意规范! 单行注释 (//多行注释)只能注释一行文字多行注释(/*多行注释*/)可以注释一段文字文档注释(/**文档注释*/)可以加参数 publicclassHelloWorld{  publicstaticv......
  • Java基础 (关键字-字符)
    标识符Java所有的组成部分都需要名字、类名、变量名以及方法名都被称为标识符关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseenumextendsfinalfinallyfloatforgotoifimplementsimportinsta......
  • Java基础-数据类型
    数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。弱类型语言要求变量的使用可以不符合规定,所有变量都必须先定义后才能使用。 Java的数据类型分为两大类基本类型(primitivetype)引用类型(referencetype)  publ......
  • 无涯教程-Java 正则 - Matcher String group(String name)函数
    java.time.Matcher.group(Stringname)方法返回在上一次匹配操作期间给定组捕获的输入子序列。Stringgroup(Stringname)-声明以下是java.time.Matcher.group(Stringname)方法的声明。publicStringgroup(intgroup)group - 该匹配器模式中捕获组的索引。String......
  • JavawebDay7
    一:数据库操作DQL(用来查询数据库中的数据)1.基本查询设置别名中的as可写可不写,其中别名如果有空格或特殊符号需要给其加上单引号或双引号去除重复记录只是在查询界面不会重复出现,表格不会删除数据2.条件查询in中查询的多选一的值是在括号里的值eglike的用法,如果指定了字......
  • 无涯教程-Java 正则 - Matcher String group函数
    java.time.Matcher.group()方法尝试查找与模式匹配的输入序列的下一个子序列。Stringgroup()-声明以下是java.time.Matcher.group()方法的声明。publicStringgroup()Stringgroup()-返回值与上一个匹配项匹配的(可能为空)子序列,为字符串形式。IllegalStateExcep......
  • 无涯教程-Java 正则 - Matcher boolean find(int start)函数
    java.time.Matcher.find(intstart)方法将重置匹配器,然后尝试从指定的索引开始查找与模式匹配的输入序列的下一个子序列。booleanfind(intstart)-声明以下是java.time.Matcher.find(intstart)方法的声明。publicbooleanfind(intstart)start  - 输入字符串中的......
  • 二分查找算法---java----黑马程序员算法
    1.二分查找算法给定的条件:给定的有序数组A查找目标值为target,其中A标记为 数组序号从0开始,其下标最大为数组长度-1.举例数组:5  14  22 30 31  41 44条件:i>j  i表示左边下标   j表示右边下标   i从5开始   j 从44开始思想:每次计算其......