目录

数据类型.

先简单介绍java中的语法可以速速过一遍

1.基本类型(八个)

数值型

整型类型

  • byte型:1字节 8bit位 第一位是符号位

    byte a = 127;
  • short型:2字节

    short b = 32767;
  • int 型:4字节

    int c = 123;
    int c = 0b123;//二进制
    int c = 0123;//八进制
    int c = 0x123;//十六进制
  • long型:8字节

    long d = 123l;
    long d = 123L;//数字后缀L或l

0b0B开头数字 为二进制

0开头数字为 八进制

0x0X开头为16进制

浮点类型

  • float :4字节

  • 单精度,尾数可以精确到7位有效数字

    float e = 123.4f//数字后缀加f或F
  • double: 8字节

  • 双精度,精度是float的两倍。通常采用此类型。

    double f = 123.4
    %%java浮点型默认为double类型%%
    • 十进制数形式,例如: 3.14 314.0

    • 科学记数法形式,如 3.14e2 3.14E2

字符型 (char)2字节

  • 使用了Unicode 编码 兼容了Ascll码
  • 可以参与算术运算,本质是使用了Unicode编码表中对应的10进制编号来进行计算

逻辑型(boolean)

  • ture

  • false

2.引用类型

String类型(字符串)(相关API会在API.md文件里面介绍)

String是一个类,String的变量是对象的管理者而非所有者

  • '+'相当于字符串连接符

  • String s = "abcd";

  • 1.任意八种基本数据类型的数据与String类型只能进行连接“+”运算(字符串连接),且结果一定也是String类型

  • 2.String类型不能转为其他的基本类型

	String s = new String("a string");//创建一个String的对象,用“a string”初始化这个对象
String a = "hello";
String b = "world";
String c = a + b;
String d = a + b + 12;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

运行结果: ```java hello
world
helloworld
helloworld12 Process finished with exit code 0
  • 输入字符串

    in.next();读入一个单词,单词标志是空格(包括空格、tap和换行)

    in.nextLine();读入一整行

  • 比较两个String

    if(input == "bye"){//比较是否同一个
    ····
    }
    if(input.equals("bye")){//比较内容是否相同
    ····
    }

    Strings应该用.equals 来比较

接口(interface)(后面会介绍)

数组([])(后面专门介绍)

包裹类型(特殊的数据类型)

  • 它用于将基本数据类型包装成对象

基本数据类型的转换

  • 八种基本类型除了boolean类型以外,其他七种类型之间可以相互转化

转换规则:

1.默认转换

将取值范围小的的类型自动提升为取值范围大的类型

(byte,char,short(byte->short))->(int)->(long)->(float)->(double)

4个字节float比8个字节long取值范围要大

原因: 浮点数在存储时结构与整数计算方式不同

2.强制转换

容量大的转换为容量小的

格式 : (强制转换的类型) 变量名

int a =258;
byte b = (byte)a;

注:有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一 种数据类型,然后再进行计算会有精度损失

基本数据类型的包装类

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面

向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设

计类时为每个基本数据类型设计了一个对应的类进表示,这样八个和基

本数据类型对应的类统称为包装类

基本数据类型 包装类(包裹类型)
byte Byte
short Short
char Character
int I nteger
long Long
float Float
double Double
boolean Boolean

例如:Integer

声明

		Integer a=new Integer(12);
Integer b=new Integer(10);

调用非静态方法

int compareTo();
boolean equals();
 //调用非静态方法
System.out.println(a.compareTo(b));//前面大返回1,后面大返回-1,一样大返回0;
System.out.println(a.equals(b));//比较a与b内容是否相同 与"=="要区分 返回一个boolean类型
System.out.println(a==b);//比较a与b是否指向一个内容
//.....

调用静态方法

Integer valueOf
int compare(int a,int b)
Integer.parseInt(String str,int radix);
     //调用静态方法
Integer c=Integer.valueOf(12);//调用静态方法,返回一个Integer类型变量给C
Integer d=Integer.valueOf("10");//调用静态方法,把字符串类型(必须是数字)转换为Integer返回一个Integer类型变量
Integer.parseInt(String str,int radix);//把radix进制对应的str转化为十进制
System.out.println(Integer.compare(13,10));//前面大返回1,后面大返回-1,一样大返回0; System.out.println(Integer.max(13,10));//返回较大的数值
System.out.println(Integer.valueOf(10));//返回的是引用类型

装箱和拆箱

  • 装箱:

将基本类型可以自动转换为包装类型

Integer a=10;//默认调用Integer.valueOf(a)把10转化为引用类型即Integer类型
  • 拆箱:

将包装类型转化为基本类型

int c=a.intValue();//拆箱
int c=a;//自动拆箱
源码:
public static Integer valueOf(int i) {//low:-128;high:127
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
        Integer a=10;//默认调用Integer.valueOf(a)
Integer a=10;
Integer b=10;
System.out.println(a.equals(b));//结果为true
System.out.println(a==b);//结果也为true
Integer c=128;
Integer d=128;
System.out.println(c==d);//结果为false
System.out.println(c.equals(d));//结果为true

由源代码可知,当在方法内部对 -128~127之间进行缓存(数组),在此期间的自动装箱,不会创建新的Integer对象,直接从中获得,(因为a与b传过去对应i的参数都为10,则返回的是同一个对象地址的引用),而超出此区间的每次都会返回新的对象(所以c和d虽然值相等但是返回的都是一个新的对象地址,所有c==d结果为false)

JavaSE 数据类型以及基本转化与包装的更多相关文章

  1. 简单JavaSE数据类型入门

    新的一节学习了JavaSE,今天主要来说一下Java的数据类型及其输出,借用Xmind,可以生动形象的向大家来解释Java的数据类型: 其中数值整数型举例: public class A02{ pub ...

  2. Javascript基础系列之(三)数据类型 (类型转化)

    所有语言都有类型转化的能力,javascript也不例外,它也为开发者提供了大量的类型转化访法,通过全局函数,可以实现更为复杂的数据类型. var a = 3; var b = a + 3; var ...

  3. 简单讨论数据类型(byte)强制转化后的数值变化规律

    package com.wangzhu.datatype; /** * Java基本数据类型练习 * * @ClassName: DataTypes * @Description: TODO * @a ...

  4. JavaSE| 数据类型| 运算符| 进制与补码反码等

    JavaSE JavaSE是学习JavaWeb.JavaEE以及Android开发的基础 边听边思考边做“笔记” 不要完全依赖书和视频: 捷径:敲.狂敲: 规范:加注释: 难点,不懂的记录下时间再回头 ...

  5. python中的数据类型与json的数据类型之间的转化

    什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...

  6. ECMAScript1.4 对象 | 简单数据类型与复杂数据类型 | 内置对象 | 基本包装类型 | String

    对象 函数和对象的区别: 函数:封装代码 对象:封装属性和方法 创建对象的方法: 1,对象字面量{} // 模拟创建一只dog var dog = { // 属性 name: 'puppy', age ...

  7. javaSe数据类型

    在学完了java程序的结构以及注释后呢按照一般的教程我们应该学点什么呢?   没错就是变量和数据类型[其实我的内心是拒绝的,又是无聊的一大堆,不仅无聊,还得掌握] 好了首先介绍什么是变量: 变量:变量 ...

  8. Java_字符类(Character、String、StringBuffer)_char是基本数据类型,Character是其包装类型。

         在java中有三个类负责对字符的操作:Character.String.StringBuffer.其中,Character类是对单个字符进行操作,String是对一个字符序列的操作,Stri ...

  9. Integer缓存机制-基本数据类型和包装类型-自动拆装箱

    Integer缓存机制 总结: 1.jdk1.5对Integer新增了缓存机制,范围在-128-127(这个范围的整数值使用频率最高)内的自动装箱返回的是缓存对象,不会new新的对象,所以只要在缓存范 ...

  10. 一、java基础-数据类型_数据类型转化_字符编码_转义字符

    1.Java  支持的8种基本数据类型: java的四种整数数据类型:byte 1    short 2     int4     long8   byte     8位带符号整数 -128到127之 ...

随机推荐

  1. List拖拽功能的实现

    概述   如何在HarmonyOS应用中实现一个可拖拽的列表组件,通过这个组件,用户可以拖动列表中的项并将其放置在新的位置,实现列表的动态排序.   核心功能   列表初始化:创建并填充列表数据. 拖 ...

  2. 在RockyLinux 9.3环境中采用RPM模式部署Oracle 19C

    在RockyLinux 9.3环境中采用RPM模式部署Oracle 19C 用途 在开发数据库系统时,可以验证功能是否与Oracle的表现一致,验证正确性和兼容性 限制 虚拟机安装,CPU 2*4 内 ...

  3. vuex合作怎么用仓库

  4. D365增加Model reference,解决does not designate a class or table编译错误问题

    当我们导入基础数据时,需要创建一些基本的Emplyee信息,当引用到HcmHireNewWorkerContract和HcmWorkerTransition时,提示如下错误: 'HcmHireNewW ...

  5. 力扣119(java)-杨辉三角Ⅱ(简单)

    题目: 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: rowIndex = 3输出: [1 ...

  6. 性能提升 57% ,SMC-R 透明加速 TCP 实战解析 | 龙蜥技术

    ​简介:SMC-R 是如何加速 TCP 应用? 编者按:TCP 协议作为当前使用最为广泛的网络协议,场景遍布移动通信.数据中心等.对于数据中心场景,通过弹性 RDMA 实现高性能网络协议 SMC-R, ...

  7. 压测场景下的 TIME_WAIT 处理

    简介: 压测场景下的 TIME_WAIT 处理 1. 序 某专有云项目具备压测场景,在Windows的压测机上用 LoadRunner 进行业务的压力测试,压测运行一段时间后出现大量端口无法分配的报错 ...

  8. Flink 如何实时分析 Iceberg 数据湖的 CDC 数据

    简介: 数据湖的架构中,CDC 数据实时读写的方案和原理 本文由李劲松.胡争分享,社区志愿者杨伟海.李培殿整理.主要介绍在数据湖的架构中,CDC 数据实时读写的方案和原理.文章主要分为 4 个部分内容 ...

  9. 通用的 AI prompt 实操技巧

    1. 提供清晰.具体的目标在 Prompt 中明确指出你希望 AI 辅助完成的具体任务,包括要实现的功能.遵循的标准.适用的技术栈等. 2. 提供足够的上下文提供与任务相关的背景信息.现有代码片段.接 ...

  10. 探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义

    DTD 是文档类型定义(Document Type Definition)的缩写.DTD 定义了 XML 文档的结构以及合法的元素和属性. 为什么使用 DTD 通过使用 DTD,独立的团体可以就数据交 ...