【Java从入门到放弃 之 Java程序基础】

Java程序基础

Java程序基础

基本数据类型和变量

数据类型

对Java语言而言,有如下基本数据类型。

  • 整数类型:有4种整型byte/short/int/long,它们占用的字节数不一样,也分别有不同的取值范围;
  • 小数类型:有两种类型float/double,有不同的取值范围和精度;
  • 字符类型:char,表示单个字符;
  • 真假类型:boolean,表示真假。

我们都知道Java是面向对象的编程语言,那我们介绍的基本数据类型是干啥的? 你可以这样理解,我们Java的世界是由Class组成的,而这些Class需要依靠这些基本数据类型拼装出来的。

变量

为了操作数据,我们需要把数据放到内存中去。而内存空间就是一快带地址编号的空间,我们把数据放到内存中的某个空间后,为了操作这个数据,给这个内存地址取了一个名字,这个名字就叫做变量。

赋值

  1. 整数类型

byte 占1个字节, short占2个字节,int占4个字节,long占8个字节

java 复制代码
        byte b = 1;
        short s = 2323;
        int i = 100000;
        long l = 32323222222l;

在给long类型赋值的时候,如果整数的值超过了int的表示范围,记得在常量的末尾加上L或者l。因为数字常量默认类型是int

  1. 小数类型
    float占用4个字节的内存,double占用8个字节的内存空间。
java 复制代码
        float f = 111.0;
        double d = 11.11;

对于float,需要在小数后面加F或者f,因为小数类型默认类型是double

  1. 真假类型
    Boolean 类型比较简单,一般使用true或者false赋值
java 复制代码
        boolean b = true;
        b = false;
  1. 字符类型
    char表示一个字符,占用两个字节。字符类型一般用单引号标注。
java 复制代码
        char c = 'c';

基本运算

基本运算包含三个方面:

  • 算术运算
  • 比较运算
  • 逻辑运算
算术运算

算术运算一般包括常见的加减乘除 取模,自增和自减。

java 复制代码
        int a = 1, b = 5, c = 0;
        c = a + b; // 加法操作
        c = a - b; // 减法操作
        c = a * b; // 乘法操作
        c = a / b; // 除法操作
        c = a % b; // 取模操作
        c = a++;  // 自增操作
        c = b--;  // 自减操作
        c = --b;  // 自减操作

注意事项

  1. 两个正数相乘可能会得到意外的数,比如 int a = 3333333333 * 33333333; 因为2147483647是int类型能表达的最大的数。
  2. 两个正数相加也会得到意外的数,比如 int a = 2147483647 + 2; 结果a = -2147483647,同样是整型溢出的问题
  3. 小数计算不精确,因为float跟double都可以表达很大的数,它们有很多的值表达不到,所以小数计算结果是近似的
比较运算

比较运算就是计算两个值之间的关系,结果是一个布尔类型(boolean)的值。比较运算适用于所有数值类型和字符类型。数值类型容易理解。比较操作符有大于(>)​、大于等于(>=)​、小于(<)​、小于等于(<=)​、等于(==)​、不等于(!=)​。

逻辑运算

逻辑运算符具体有以下这些。

  • 与(&):两个都为true才是true,只要有一个是false就是false;
  • 或(|):只要有一个为true就是true,都是false才是false;
  • 非(!):针对一个变量,true会变成false, false会变成true;
  • 异或(^):两个相同为false,两个不相同为true;
  • 短路与(&&):两个都为true才是true,只要有一个是false就直接返回false
  • 短路或(||):只要有一个为true就返回true,都是false才是false;
相关推荐
喜欢吃豆14 分钟前
从指令遵循到价值对齐:医疗大语言模型的进阶优化、对齐与工具集成综合技术白皮书
人工智能·python·语言模型·自然语言处理·大模型·强化学习·constitutional
JAVA学习通15 分钟前
SpringBoot Layui ThymeLeaf 一点点学习心得
java·spring
Access开发易登软件22 分钟前
Access调用Azure翻译:轻松实现系统多语言切换
后端·python·低代码·flask·vba·access·access开发
考虑考虑22 分钟前
JDK25中的StructuredTaskScope
java·后端·java ee
yumgpkpm24 分钟前
CMP (类Cloudera) CDP7.3(400次编译)在华为鲲鹏Aarch64(ARM)信创环境中的性能测试过程及命令
大数据·hive·hadoop·python·elasticsearch·spark·cloudera
雨过天晴而后无语26 分钟前
Windchill的codebase目录打成jar
java·jar
SimonKing29 分钟前
「String到Date转换失败」:深挖@RequestBody的日期坑
java·后端·程序员
qq_124987075343 分钟前
基于Spring Boot的网上招聘服务系统(源码+论文+部署+安装)
java·spring boot·后端·spring·计算机外设
高山上有一只小老虎1 小时前
杨辉三角的变形
java·算法
hz_zhangrl1 小时前
CCF-GESP 等级考试 2025年9月认证C++四级真题解析
开发语言·c++·算法·程序设计·gesp·c++四级·gesp2025年9月