基本数据类型和运算符(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);
  }
}

逻辑运算符

三目运算符

位运算符 了解

相关文章
|
16天前
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
|
2月前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
51 6
|
2月前
|
存储 Java API
深入剖析Java Map:不只是存储数据,更是设计艺术的体现!
【10月更文挑战第17天】在Java编程中,Map是一种重要的数据结构,用于存储键值对,并展现了设计艺术的精髓。本文深入剖析了Map的设计原理和使用技巧,包括基本概念、设计艺术(如哈希表与红黑树的空间时间权衡)、以及使用技巧(如选择合适的实现类、避免空指针异常等),帮助读者更好地理解和应用Map。
110 3
|
23天前
|
JSON Java 程序员
Java|如何用一个统一结构接收成员名称不固定的数据
本文介绍了一种 Java 中如何用一个统一结构接收成员名称不固定的数据的方法。
25 3
|
1月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
1月前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
71 2
|
1月前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
30 2
|
1月前
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
60 2
|
1月前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
44 2
|
2月前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
152 6
下一篇
DataWorks