首页 > 其他分享 >Day2-2 数据类型,数据类型拓展及类型转换

Day2-2 数据类型,数据类型拓展及类型转换

时间:2022-11-12 17:44:28浏览次数:46  
标签:类型转换 转换 int 数据类型 Day2 System 类型 println out

数据类型

强类型语言

要求变量的使用要严格符合规定,多有变量都必须先定义后才能使用

JAVA的数据类型分为两大类

  • 基本类型 primitive type

  • 引用类型 reference type

基本类型
  1. 数值类型

(1)整数类型

  • byte占1个字节

  • short占2个字节

  • int占4个字节

  • long占8个字节

(2)浮点类型

  • float占4个字节

  • double占8个字节

(3)字符类型char占2个字节

 

  1. boolean类型

占1位,其值还有true和false两个

 

引用类型

类、接口、数组

 public class Demo02 {
     public static void main(String[] args) {
         //八大基本数据类型
 ​
         //整数的四种表述方式
         int num1 = 10;//最常用
         byte num2 = 20;
         short num3 = 30;
         long num4 = 30L;//long类型要在数字后边加个L
 ​
         //小数:浮点数
         float num5 = 50.1F;//float类型要在数字后边加个F
         double num6 = 3.1415926;
 ​
         //字符,只能写1个字母或汉字
         char name = 'A';
         //字符串,String不是关键字,是一个类
         String namea = "ABC";
 ​
         //布尔值:是非
         boolean flag = true;
         //boolean flag=false;
     }
 }

 

 

数据类型扩展

整数拓展

二进制0b 十进制 八进制0 十六进制0x

浮点数拓展

最好完全避免使用浮点数进行比较

银行业务使用 BigDecimal类

字符拓展

布尔值拓展

 public class Demo03 {
     public static void main(String[] args) {
         //整数拓展  进制:二进制0b  十进制  八进制0  十六进制0x
 ​
         int i = 10;
         int i2 = 010;//八进制
         int i3 = 0x10;//十六进制 0-9 A-F
 ​
         System.out.println(i);
         System.out.println(i2);
         System.out.println(i3);
         System.out.println("==================================");
 ​
         //==================================================
         //浮点数拓展   银行业务怎么表示  钱
         //BigDecimal  数学工具类
         //float  有限  离散  舍入误差  大约  接近但不等于
         //double
         //最好完全避免使用浮点数进行比较
         //最好完全避免使用浮点数进行比较
         //最好完全避免使用浮点数进行比较
 ​
         float f = 0.1f;
         double d = 1.0 / 10;
 ​
         System.out.println(f == d);//输出f是否等于d
 ​
         float d1 = 213123123f;
         float d2 = d1 + 1;
 ​
         System.out.println(d1 == d2);
         System.out.println("==================================");
 ​
         //==================================================
         //字符拓展
 ​
         char c1='a';
         char c2='中';
 ​
         System.out.println(c1);
         System.out.println((int)c1);//强制装换为int类型
         System.out.println(c2);
         System.out.println((int)c2);//强制装换为int类型
         //所有的字符本质还是数字
         //编码  Unicode编码表 2个字节  65536个字符
 ​
         char c3='\u0061';
 ​
         System.out.println(c3);
 ​
         //转义字符
         //\t  制表符
         //\n  换行
         System.out.println("Hello\tWorld");
 ​
         //布尔值拓展
         boolean flag=true;
         if (flag==true){}
         if (flag){}
     }
 }

 

 

类型转换

java是强类型语言,所以有些运算需要用到类型转换

运算中,不同类型的数据先转化为同一类型,在进行运算

由低到高:

byte,short,char→int→long→float→double

 

强制转换:(类型)变量名 由高转到低

自动转换: 由低到高自动转换

注意点:

  1. 不能对布尔值进行准换

  2. 不能把对象类型转换为不相干的类型

  3. 再把高容量转换到低容量时,强制转换

  4. 转换时可能存在内存溢出或精度问题

 
public class Demo05 {
     public static void main(String[] args) {
         int i=128;
         byte b=(byte)i;//内存溢出
         //强制转换  (类型)变量名   由高到低
         //自动转换   由低到高自动转换
 ​
         System.out.println(i);
         System.out.println(b);
 ​
         /*
         注意点:
         1. 不能对布尔值进行转换
         2. 不能把对象类型转换为不相干的类型
         3. 高容量转换到低容量时,强制转换
         4. 转换的时候可能存在内存溢出,或者精度问题
          */
 ​
         System.out.println("=====================");
         System.out.println((int)23.4);//23
         System.out.println((int)-45.89f);//-45
 ​
         System.out.println("=====================");
         char c='a';
         int d=c+1;
         System.out.println(d);//98
         System.out.println((char) d);//b
     }
 }

 

 

大数值计算溢出问题

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

 

 

标签:类型转换,转换,int,数据类型,Day2,System,类型,println,out
From: https://www.cnblogs.com/actadams68/p/16884253.html

相关文章

  • Day2-1 注释、关键字、标识符
    注释注释并不会被执行书写注释是一个非常好的习惯单行注释多行注释文档注释 新建空项目空项目中建新模块项目结构中SDK选择1.8,语言级别选择8在项目src......
  • Redis笔记02-数据类型
    String类型数据127.0.0.1:6379>setnamezhangsan#设置单key-valueOK127.0.0.1:6379>getname"zhangsan"127.0.0.1:6379>msetname1xiaowangname2lisiname3......
  • 9. JS的数据类型,区别
    js有2大数据类型分类: 基本数据类型:1.string字符串使用单、双引号包裹,或者使用反引号包裹2.number数字类型3.boolean布尔值truefalse ......
  • C#之强制类型转换是错误和String到int用Convert()函数解决
    strings="2222"inti=(int)s 这种写法在C#中是错误的,属于强制类型转换,没有通过第三方,直接从A到B的转换,是不受欢迎的。 通过Convert()函数进行第三方转换,属于A到C,再到......
  • 5、Redis6三大新数据类型
    1、Bitmaps1、简介现代计算机用二进制(位)作为信息的基础单位,1个字节等于8位,例如“abc”字符串是由3个字节组成,但实际在计算机存储时将其用二进制表示,“abc”分别对应的......
  • JavaScript判断数据类型的几种方式
    一、数据类型JavaScript中数据类型分为两类:基本数据类型undefined、null、string、number、boolean、Symbol引用数据类型Object(Array、Function等)二......
  • day24 - 表格 内联等
    表格​实现表格的创建行操作:tr列操作:td​colspon实现跨列操作rowspon实现跨行操作1<!DOCTYPEhtml>2<htmllang="en"xmlns="http://www.w3.org/1999/html......
  • JS-Object.prototype.toString.call(value)-查看值的数据类型的通用方法
    前端开发项目中,常常会遇到判断一个变量的数据类型等操作,在JavaScript里使用typeof来判断数据类型,只能区分基本类型,即“number”,”string”,”undefined”,”boolean”,”......
  • JS基础之基本数据类型和包装数据类型
     leta=NewString();console.log(a);  //String{''}这个时候a就是包装类型==============================leta='';console.log(a);  //''这个时候就是基......
  • 判断一个变量的数据类型
    调用Object.prototype.toString.call()方法Object.prototype.toString.call('1')'[objectString]'Object.prototype.toString.call(1)'[objectNumber]'Objec......