基本数据类型和运算符(java)

简介: 基本数据类型和运算符(java)

基本数据类型和运算符(java)


基础数据类型

整数类型使用其他进制进行赋值

public class App1 {
  public static void main(String[] args) {
    // 通过二进制数据进行赋值
    byte b = 0b100;
    // 通过八进制数据进行赋值
    short s = 010;
    // 通过16进制数据进行赋值
    int i = 0x10;
    System.out.println(b);
    System.out.println(s);
    System.out.println(i);
    // 如果超出范围,编译报错
    byte b2 = 1000;
    System.out.println(b2);
  }
}

浮点型

float 单精度 4个字节 小数后面使用f或者F的后缀,表示单精度数据

double 双精度 8个字节

public class App2 {
  public static void main(String[] args) {
    // 单精度值增加后缀   f/F 
    float f = 12.3f;
    System.out.println(f);
    // 双精度类型
    double d = 14.5;
    double d1 = 14.5e2;
    double d2 = 14.5e-2;
    double d3 = 14.5E3;
    System.out.println(d);
    System.out.println(d1);
    System.out.println(d2);
    System.out.println(d3);
    // 输出 0.30000000000000004
    System.out.println(0.1 + 0.2);
  }
}

字符型

char 2个字节 0-65535

java 中 char使用unicode编码,兼容ascii

使用一对儿单引号表示字符数据

转义字符: \ 表示转移符号

\u

\t \n ’ " \

public class App3 {
  public static void main(String[] args) {
    // char 占两个字节
    // 使用单引号括起来的语法表示字符
    char c = 'A';
    char c2 = '男';
    System.out.println(c);
    System.out.println(c2);
    // 直接使用数字进行赋值
    char c3 = 97;
    System.out.println(c3); // a
    char c4 = 22899;
    System.out.println(c4);
    // "\u4e2d" 表示unicode编码
    char c5 = '\u4e2d';
    System.out.println(c5);
    char c6 = '\'';
    System.out.println(c6);
    char c7 = '\\';
    System.out.println(c7);
    System.out.println("Hello\nWorld");
    System.out.println("Hello\tWorld");
    System.out.println("Hello\"World");
  }
}

布尔型

boolean true/false

public class App4 {
  public static void main(String[] args) {
    // 布尔类型
    boolean b = true;
    boolean b2 = false;
    System.out.println(b);
    System.out.println(b2);
  }
}

强制类型转换

public class App5 {
  public static void main(String[] args) {
    // 自动类型转换 小转大
    byte b = 10;
    short s = b;
    System.out.println(s);
    int i = s;
    double d = i;
    System.out.println(d);
    // short 转 char
    // 错误: 不兼容的类型: 从short转换到char可能会有损失
    // char c = s;
    // System.out.println(c);
    // 错误: 不兼容的类型: 从byte转换到char可能会有损失
    // char c = b;
    long l = 100L;
    // (强制转换的类型)变量
    int i1 = (int)l;
    System.out.println(i1);
    // 强制转换后,数据会有损失
    // 将8个字节的数据硬塞到4个字节里
    long l1 = 1234567890123L;
    int i2 = (int)l1;
    System.out.println(i2); 
  } 
}

运算符

表达式

变量、数字、运算符组成的式子

a + b, a + 10, 12 + 13

算数运算符

算数表达式

+ - * / % ++ –

/ 除 如果参与运算都是整数,相当于取整

++ 自增 前自增、后自增

++i

先加1,再参与运算

i++

先参与运算,后加1

public class App6 {
  public static void main(String[] args) {
    // 算数运算符
    int a = 10 + 23;
    int b = a - 15;
    int c = b * 10;
    System.out.println(a);
    System.out.println(b);
    System.out.println(c);
    // 如果除号两边的数据都是整数,除法相当于取整(商)
    int d = 10 / 3; // 3
    System.out.println(d);
    // 浮点数使用除法,相当于数学上除法运算,得到小数
    // 类型不同的数据进行运算时,系统将小的范围的数据先转为大的范围,再进行运算
    System.out.println(10 / 3.0);
    // 取余  输出1
    System.out.println(10 % 3);
    // 输出1.0
    System.out.println(10 % 3.0);
  }
}
public class App8 {
  public static void main(String[] args) {
    int a = 10;
    // 前自增 单独使用 a = a + 1
    ++a;
    System.out.println(a);
    // 后自增  a =  a + 1
    a++;
    System.out.println(a);
    int m = 10;
    // 前自增的时候,变量的值先自增,然后再参与其他的运算
    // m的值先加1,然后再进行赋值运算的操作
    // m = m + 1;  n = m;
    int n = ++m;
    // 字符串使用 + ,表示字符串的拼接
    System.out.println("m = " + m);
    System.out.println("n = " + n);
    int p = 10;
    // 后自增的时候,变量先参与运算,然后再进行自增操作
    // q = p; p = p + 1;
    int q = p++;
    System.out.println("p = " + p);
    System.out.println("q = " + q);
    int x = 10;
    int y = x--;
    System.out.println("x = " + x);
    System.out.println("y = " + y);
  }
}

赋值运算符

= += -= *= /= %=

比如 a += b 相当于 a = a + b

public class App9 {
  public static void main(String[] args) {
    int a = 10;
    // a = a + 20
    a += 20;
    System.out.println(a);
    // a = a - 5
    a -= 5;
    System.out.println(a);
  }
}

关系运算符

进行数据的比较,返回的boolean

== != > < >= <=

public class App10 {
  public static void main(String[] args) {
    int age = 31;
    // 关系运算符 比较运算符
    // 条件成立,返回true;条件不成立,返回false
    System.out.println(age == 30);
    System.out.println(age != 30);
    System.out.println(age > 30);
    System.out.println(age < 30);
    System.out.println(age >= 30);
    System.out.println(age <= 30);
    // 判断一个值是否时偶数
    boolean ret = age % 2 == 0;
    System.out.println(ret);
  }
}

逻辑运算符

三目运算符

位运算符 了解

相关文章
|
4天前
|
存储 安全 Java
"Java编码魔法:揭秘图片与文件的Base64神秘转换术,让数据在指尖跳跃!"
【8月更文挑战第16天】Base64编码在Java开发中常用于将二进制数据如图片转换为ASCII字符串以便传输。编码使用64个字符及等号填充,每3字节数据编码为4个字符。Java利用`java.util.Base64`类实现此功能:读取图片或文件为字节数组后进行编码。解码时将Base64字符串还原为字节数组并写入文件。需注意编码效率降低、不提供安全性及特殊字符兼容性等问题。掌握这些技巧有助于解决Web开发中的数据传输需求。
17 4
|
6天前
|
监控 Java
Java文件夹复制解决方案:优化大文件与大量数据的处理
Java中复制文件夹及其内容,尤其是当处理大文件或文件夹(如几个GB)时,需要特别注意内存使用和性能优化。以下是一个详细的指导,包括如何避免内存溢出异常,并确保复制过程的高效性。
15 1
|
9天前
|
消息中间件 负载均衡 Java
"Kafka核心机制揭秘:深入探索Producer的高效数据发布策略与Java实战应用"
【8月更文挑战第10天】Apache Kafka作为顶级分布式流处理平台,其Producer组件是数据高效发布的引擎。Producer遵循高吞吐、低延迟等设计原则,采用分批发送、异步处理及数据压缩等技术提升性能。它支持按消息键值分区,确保数据有序并实现负载均衡;提供多种确认机制保证可靠性;具备失败重试功能确保消息最终送达。Java示例展示了基本配置与消息发送流程,体现了Producer的强大与灵活性。
28 3
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5
|
15天前
|
存储 安全 Java
揭秘Java序列化神器Serializable:一键解锁对象穿越时空的超能力,你的数据旅行不再受限,震撼登场!
【8月更文挑战第4天】Serializable是Java中的魔术钥匙,开启对象穿越时空的能力。作为序列化的核心,它让复杂对象的复制与传输变得简单。通过实现此接口,对象能被序列化成字节流,实现本地存储或网络传输,再通过反序列化恢复原状。尽管使用方便,但序列化过程耗时且存在安全风险,需谨慎使用。
27 7
|
19天前
|
监控 前端开发 JavaScript
|
5天前
|
前端开发 Java
如何实现 Java SpringBoot 自动验证入参数据的有效性
如何实现 Java SpringBoot 自动验证入参数据的有效性
13 0
|
5天前
|
存储 缓存 Java
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中的数据的问题如何解决
Java本地高性能缓存实践问题之使用@CachePut注解来更新缓存中的数据的问题如何解决
|
1月前
|
安全 Java 测试技术
day16:Java零基础-instanceof 运算符
【7月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 8
|
1月前
|
Java 关系型数据库 数据库
实时计算 Flink版操作报错合集之拉取全量数据时,如何解决Checkpoint失败并且报错为 "java.lang.OutOfMemoryError: Java heap space"
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。