从初学者到专家:Java 数据类型和变量的完整指南

这篇具有很好参考价值的文章主要介绍了从初学者到专家:Java 数据类型和变量的完整指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、字面常量

1.1什么常量?

1.2常见的六种常量类型

二、数据类型

2.1什么是数据类型?

2.2基本数据类型:

2.3引用数据类型

三、变量

3.1什么是变量?

3.2变量的命名规则

3.3变量的作用域

3.4变量的被final修饰

四.类型转换

4.1什么是类型转换?

4.2自动类型转换

4.3强制类型转换 

4.4注意事项

4.5类型提升

五.字符串类型

5.1什么是Java字符串类型?

5.2如何创建和使用字符串?

5.3常见的字符串操作

 5.3字符串与不同类型之间的转换


从初学者到专家:Java 数据类型和变量的完整指南,Java入门指南,算法,java,笔记,ide

从初学者到专家:Java 数据类型和变量的完整指南,Java入门指南,算法,java,笔记,ide

声明:Java的数据类型与变量

在Java中,数据类型是指变量存储数据的类型,Java支持多种基本数据类型,包括整型、浮点型、字符型、布尔型等等。对于不同的数据类型,Java也提供了不同的字面常量来表示它们的值。在使用Java进行编程时,了解数据类型及其特点是非常重要的。

一、字面常量

1.1什么常量?

字面常量是指程序中直接使用的常量值,不需要进行计算或处理。在Java中,字面常量包括以下几种类型:

1.2常见的六种常量类型

1. 整型常量
整型常量表示整数值,可以用十进制、八进制或十六进制来表示。


int decimalValue = 10; // 十进制
int octalValue = 012; // 八进制
int hexValue = 0xA; // 十六进制

2. 浮点型常量
浮点型常量表示实数值,包括单精度浮点型双精度浮点型


float floatValue = 3.14f; // 单精度浮点型
double doubleValue = 3.14; // 双精度浮点型

3. 字符常量
字符常量表示单个字符,用单引号括起来。

char charValue = 'a'; // 字符常量

4. 字符串常量
字符串常量表示多个字符组成的字符串,用双引号括起来。

String stringValue = "Hello, World!"; // 字符串常量

5. 布尔型常量
布尔型常量表示真或假,用truefalse关键字表示。

boolean boolValue_1 = true; // 布尔型常量
boolean boolValue_2 = false; // 布尔型常量

6. null常量
null常量表示空对象引用

String strValue = null; // null常量

二、数据类型

2.1什么是数据类型?

Java的数据类型分为两类:基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、字符型和布尔型,它们都是Java语言提供的内置类型。引用数据类型包括类、接口、数组等,它们都是在程序中自定义的类型。

2.2基本数据类型:

1. 整型
整型数据类型包括byte、short、int和long四种类型,它们分别占用1、2、4和8个字节,并且有不同的取值范围。如下表格:

整型数据类型
类型 占用空间 取值范围
byte 1字节 -128~127
short 2字节 -32768~32767
int  4字节 -2147483648~2147483647
long 8字节 -9223372036854775808~9223372036854775807

2. 浮点型
浮点型数据类型包括float和double两种类型,它们分别占用4和8个字节,并且有不同的精度和取值范围。


 

float f = 3.14f; 
double d = 3.14;
浮点数据类型
类型 占用空间 精度范围
float 4字节 精度为6~7位
double 8字节 精度为15~16位

3. 字符型
字符型数据类型char占用2个字节,用于表示Unicode编码的字符。

char c = 'a'; // 字符型数据类型

4. 布尔型
布尔型数据类型boolean只有两个取值:true和false,占用1个字节。

boolean b1 = true; // 布尔型数据类型
boolean b2 = false; // 布尔型数据类型

2.3引用数据类型

Java中的引用数据类型包括类、接口、数组、枚举、注解等。这些类型的数据都是通过引用方式存储在堆内存中的。

1. 类

类是面向对象编程的基础,Java中的所有类都是引用数据类型。类可以包含属性、方法和构造函数等成员,通过创建对象来使用类的成员。

public class lhy {
    public static void main(String[] args) {
        class Person {
 String name;
 int age;

    void sayHello() {
 System.out.println("Hello, my name is " + name + ", I'm " + age + " years old.");
}
        }

        Person p = new Person(); // 创建Person类的对象p
        p.name = "Tom";
        p.age = 25;
        p.sayHello(); // 输出:Hello, my name is Tom, I'm 25 years old.

    }
}

输出如下:

从初学者到专家:Java 数据类型和变量的完整指南,Java入门指南,算法,java,笔记,ide


2. 接口

接口是一种抽象的类型,它定义了一组方法的签名,但没有实现这些方法的具体代码。接口可以被类实现,一个类可以实现多个接口。

interface Flyable {
  void fly();
}

class Bird implements Flyable {
  public void fly() {
    System.out.println("I'm a bird, I'm flying.");
  }
}

Bird b = new Bird(); // 创建Bird类的对象b
b.fly(); // 输出:I'm a bird, I'm flying.

输出如下: 

从初学者到专家:Java 数据类型和变量的完整指南,Java入门指南,算法,java,笔记,ide


3. 数组

数组是一种存储多个相同类型数据的容器,Java中的数组可以存储任何类型的数据,包括基本类型和引用类型。

int[] nums = new int[]{1, 2, 3}; // 声明一个int类型的数组nums
String[] names = new String[]{"Tom", "Jerry", "Alice"}; // 声明一个String类型的数组names

4. 枚举

枚举是一种特殊的类型,它限定了变量只能取枚举中定义的值,可以避免使用数字或字符串表示状态等情况下的错误。

enum Color {
  RED, GREEN, BLUE
}

Color c = Color.RED; // 声明一个Color类型的变量c

5. 注解

注解是一种用于提供元数据信息的标记,它可以用于类、方法、变量等元素上,用于描述它们的属性和特征。注解可以通过反射机制获取

除了以上提到的引用数据类型之外,Java还有许多其他的数据类型,如集合、映射等,这些数据类型在Java的开发中也是非常常用的。在实际开发中,开发人员需要根据具体的业务需求选择合适的数据类型来完成开发任务。

三、变量

3.1什么是变量?

在程序中,除了有始终不变的常量外,有些内容可能会经常改变,比如:人的年龄、身高、成绩分数、数学函数的 计算结果等,对于这些经常改变的内容,在Java程序中,称为变量而数据类型就是用来定义不同种类变量的

定义变量的语法格式为:

数据类型 变量名 = 初始值;
public class lhy {
    public static void main(String[] args) {
        int a = 10; // 定义整形变量a,a是变量名也称为标识符,该变量中放置的值为10

        double d = 3.14;
        char c = 'A';
        boolean b = true;
        System.out.println(a);
        System.out.println(d);
        System.out.println(c);
        System.out.println(b);
        a = 100; // a是变量,a中的值是可以修改的,注意:= 在java中表示赋值,即将100交给a,a中保存的值就是100
        System.out.println(a);
// 注意:在一行可以定义多个相同类型的变量
        int a1 = 10, a2 = 20, a3 = 30;
        System.out.println(a1);
        System.out.println(a2);
        System.out.println(a3);

    }
}


如下所示: 

从初学者到专家:Java 数据类型和变量的完整指南,Java入门指南,算法,java,笔记,ide


3.2变量的命名规则

变量的命名需要遵循一定的规则,变量名必须由字母、数字、下划线或美元符号组成,不能以数字开头,且不能是Java的关键字。

int myNumber; // 正确的变量名
double $price; // 正确的变量名
char _firstChar; // 正确的变量名
boolean isOK; // 正确的变量名
String 1stString; // 错误的变量名,不能以数字开头

3.3变量的作用域

变量的作用域是指变量在程序中可访问的范围,Java中的变量具有作用域,即变量只在声明它的代码块中可见。

public void foo() {
    int a = 10; // 只在foo()方法中可见
    if (a > 5) {
        int b = 20; // 只在if语句块中可见
    }
    System.out.println(a); // 可以访问变量a
    System.out.println(b); // 错误,无法访问变量b
}

3.4变量的被final修饰

在Java中,变量还可以被final修饰,表示该变量是一个常量,一旦赋值就不能再被改变。

final int a = 10; // 声明一个常量a,不能再被改变
final double PI = 3.14; // 声明一个常量PI,不能再被改变

四.类型转换

4.1什么是类型转换?

Java 作为一个强类型编程语言 , 当不同类型之间的变量相互赋值的时候 , 会有较严格的校验 .
int a = 10;
long b = 100L;
b = a; // 可以通过编译
a = b; // 编译失败
Java 中,当参与运算数据类型不一致时,就会进行类型转换。 Java 中类型转换主要分为两类:自动类型转换 (隐式) 强制类型转换 (显式)

自动类型转换

4.2自动类型转换

代码不需要经过任何处理,在代码编译时,编译器会自动进行处理 特点: 数据范围小的转为数 据范围大的时会自动进行

如下代码: 

System.Out.println(1024); // 整型默认情况下是int
System.Out.println(3.14); // 浮点型默认情况下是double
int a = 100;
long b = 10L;
b = a; // a和b都是整形,a的范围小,b的范围大,当将a赋值给b时,编译器会自动将a提升为long类型,然后赋值
a = b; // 编译报错,long的范围比int范围大,会有数据丢失,不安全
float f = 3.14F;
double d = 5.12;
d = f; // 编译器会将f转换为double,然后进行赋值
f = d; // double表示数据范围大,直接将float交给double会有数据丢失,不安全
byte b1 = 100; // 编译通过,100没有超过byte的范围,编译器隐式将100转换为byte
byte b2 = 257; // 编译失败,257超过了byte的数据范围,有数据丢失

4.3强制类型转换 

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。特点:数据范围大的到数据范围小的。

如下代码:

int a = 10;
long b = 100L;
b = a; // int-->long,数据范围由小到大,隐式转换
a = (int)b; // long-->int, 数据范围由大到小,需要强转,否则编译失败


float f = 3.14F;
double d = 5.12;
d = f; // float-->double,数据范围由小到大,隐式转换
f = (float)d; // double-->float, 数据范围由大到小,需要强转,否则编译失败


a = d; // 报错,类型不兼容
a = (int)d; // int没有double表示的数据范围大,需要强转,小数点之后全部丢弃


byte b1 = 100; // 100默认为int,没有超过byte范围,隐式转换
byte b2 = (byte)257; // 257默认为int,超过byte范围,需要显示转换,否则报错


boolean flag = true;
a = flag; // 编译失败:类型不兼容
flag = a; // 编译失败:类型不兼容

4.4注意事项

1. 不同数字类型的变量之间赋值 , 表示范围更小的类型能隐式转换成范围较大的类型
2. 如果需要把范围大的类型赋值给范围小的 , 需要强制类型转换 , 但是 可能精度丢失
3. 将一个字面值常量进行赋值的时候 , Java 会自动针对数字范围进行检查
4. 强制类型转换不一定能成功,不相干的类型不能互相转换

4.5类型提升

什么是类型提升?

不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的
如下所示

1. intlong之间:int会被提升为long

int a = 10;
long b = 20;
int c = a + b; // 编译出错: a + b==》int + long--> long + long 赋值给int时会丢失数据
long d = a + b; // 编译成功:a + b==>int + long--->long + long 赋值给long

2. byte byte 的运算
byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);

// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
byte c = a + b;
       ^

解析:

byte byte 都是相同类型 , 但是出现编译报错 . 原因是 , 虽然 a b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算 , 得到的结果也是 int, 这是赋给 c, 就会出现上述错误 .
由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据 . 为了硬件上实现方便 , 诸如 byte short 这种低于 4 个字节的类型 , 会先提升成 int, 再参与计算。
正确的写法:
byte a = 10;
byte b = 20;
byte c = (byte)(a + b);
System.out.println(c);
小结:
1. 不同类型的数据混合运算, 范围小的会提升成范围大的.
2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.

五.字符串类型

5.1什么是Java字符串类型?

在 Java 中,字符串是一个对象,它是由一系列字符组成的,可以包含字母、数字、符号等。Java 字符串类型是不可变的,这意味着一旦创建了一个字符串对象,就不能对其进行更改。如果需要修改一个字符串,需要创建一个新的字符串对象。

5.2如何创建和使用字符串?

 要创建一个字符串对象,可以使用字符串字面量或字符串构造函数。字符串字面量是由一对双引号括起来的字符序列,例如:

String str1 = "Hello, World!";

字符串构造函数可以通过传递一个字符数组或另一个字符串来创建一个新的字符串对象,例如: 

char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str2 = new String(charArray);
String str3 = new String("Hello");

 要访问字符串中的字符,可以使用字符索引或字符串方法。例如,要获取字符串中的第一个字符,可以使用以下代码:

String str1 = "Hello, World!";
char firstChar = str1.charAt(0);

5.3常见的字符串操作

Java 提供了许多用于操作字符串的方法,包括以下几个常见的例子:

字符串比较

要比较两个字符串是否相等,可以使用 equals() 方法,例如:

String str4 = "Hello";
boolean isEqual = str3.equals(str4); // true

字符串连接

可以使用加号运算符或 concat() 方法将两个字符串连接起来,例如:

String str5 = "Hello";
String str6 = "World";
String str7 = str5 + " " + str6; // "Hello World"
String str8 = str5.concat(" ").concat(str6); // "Hello World"

字符串长度

可以使用 length() 方法获取字符串中字符的数量,例如:

int length = str1.length(); // 13

字符串截取

可以使用 substring() 方法获取字符串的一个子串,例如:

String subStr = str1.substring(0, 5); // "Hello"

字符串转换

可以使用 将toUpperCase() 和 toLowerCase() 方法字符串转换为大写或小写形式,例如:

String str9 = "Hello";
String str10 = str9.toUpperCase(); // "HELLO"
String str11 = str9.toLowerCase(); // "hello"

 5.3字符串与不同类型之间的转换

字符串转换为整数

可以使用 Integer.parseInt() 方法将字符串转换为整数。例如:

String str = "123";
int num = Integer.parseInt(str);

字符串转换为浮点数 

可以使用 Double.parseDouble() 方法将字符串转换为浮点数。例如:

String str = "3.14";
double num = Double.parseDouble(str);

整数或浮点数转换为字符串

可以使用 String.valueOf() 方法将整数或浮点数转换为字符串。例如:

int num = 123;
String str1 = String.valueOf(num);

double num2 = 3.14;
String str2 = String.valueOf(num2);

 

字符串转换为字符数组

可以使用 toCharArray() 方法将字符串转换为字符数组。例如:

String str = "Hello";
char[] charArray = str.toCharArray();

字符数组转换为字符串

可以使用 String(char[] data) 构造函数将字符数组转换为字符串。例如:

char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str = new String(charArray);

 好了,到这里就结束了,如果有什么错误的地方请在评论区指出,谢谢。

创作不易,如果可以的的话,请大家多三连支持一下下。五条老师会很赞同的

从初学者到专家:Java 数据类型和变量的完整指南,Java入门指南,算法,java,笔记,ide文章来源地址https://www.toymoban.com/news/detail-624826.html

到了这里,关于从初学者到专家:Java 数据类型和变量的完整指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux configure命令精通:一个完整的初学者教程

    Linux中的configure命令用于配置和准备软件包以进行编译和安装。它是一个常见的脚本,由软件开发者提供,用于检查系统的环境和依赖关系,并相应地生成Makefile,从而可以在特定的Linux系统上编译和安装软件包。 开源软件中一般都有一个名为\\\"configure\\\"的脚本文件,需要运行这

    2024年02月03日
    浏览(38)
  • Python初学者友好丨详解参数传递类型

    摘要:  本文清晰地解释了Python中的不同参数传递类型,并提供了示例代码来说明每种类型的用法。对于初学者或不清楚Python传参的读者们来说是非常有益的,文中提供了足够的信息来理解和使用Python中的函数参数传递。 本文分享自华为云社区《提升Python函数调用灵活性:参

    2024年02月09日
    浏览(32)
  • 掌握 JavaScript:从初学者到高级开发者的完整指南(三)

    BOM的全称是Browser Object Model,翻译过来是浏览器对象模型。也就是JavaScript将浏览器的各个组成部分封装成了对象。我们要操作浏览器的部分功能,可以通过操作BOM对象的相关属性或者函数来完成。例如:我们想要将浏览器的地址改为 http://www.baidu.com ,我们就可以通过BOM中提供的

    2024年02月06日
    浏览(42)
  • 掌握 JavaScript:从初学者到高级开发者的完整指南(一)

    html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。 同样,js代码也是书写在html中的,那么html中如何引入js代码呢?主要通过下面的2种引入方式: 第一种方式 :内部脚本,将

    2024年02月07日
    浏览(44)
  • 掌握 JavaScript:从初学者到高级开发者的完整指南之JavaScript对象(二)

    可以大体分页3大类: 第一类:基本对象,我们主要学习Array和JSON和String 第二类:BOM对象,主要是和浏览器相关的几个对象 第三类:DOM对象,JavaScript中将html的每一个标签都封装成一个对象 1.1.1 基本对象 1.1.1.1 Array对象 语法格式 Array对象时用来定义数组的。常用语法格式有如下

    2024年02月07日
    浏览(42)
  • 苹果开发初学者指南:Xcode 如何为运行的 App 添加环境变量(Environmental Variable)

    Xcode 15 在运行 SwiftUI 代码时突然报告如下警告: Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem. 不仅如此,Xcode 调试控制台中还提示我们需要添加特定的环境变量以进一步与该错误“

    2024年04月24日
    浏览(23)
  • 【001-Java基础练习】-适合初学者的练习

    用于巩固java基础知识,初学者多练多敲,熟悉代码,熟悉语法就ok。 练习1、从控制台获取Java、ps、HTML三门课程的成绩,计算总分和平均分(平均分保留2位小数,要求四舍五入),输出总分和平均分 练习2、控制台输入学生信息,学号 姓名 性别 年龄,控制台展示学生信息如

    2024年02月01日
    浏览(37)
  • Java初学者也可以实现的图书系统小练习

           大家好呀,我是小戴🙌🙌🙌        最近大家不是快期末了嘛,有没有泡图书馆呀?今天的学习内容跟图书馆有关,没错,就是图书管理系统,但是目前所学知识水平有限,这是一个很简单的图书系统小练习。不要急,我们的 目的是在于如何使用已知学过的知识进

    2023年04月09日
    浏览(31)
  • MySQL数据库基础初学者必备知识

    目录 1.数据库的基本操作 1.1显示所有数据库 1.2创建数据库 1.3删除数据库 2.数据库的类型 2.1数值类型 2.2字符串类型 2.3日期类型 3.表的简单操作 3.1创建一个表 3.2显示表的结构 3.3显示数据库中的所有表 3.4删除指定表 4.实战练习 数据库的基本操作为:显示数据库,创建数据库

    2023年04月11日
    浏览(49)
  • JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)

    Java的包管理工具有Maven、Gradle等,其中Maven是一款服务于Java平台的自动化构建工具,把整个过程抽象成一个项目对象模型(Project Object Model,POM),它不仅可以用作包管理,还有许多的 插件 ,可以支持整个项目 的开发、打包、测试及部署 等一系列行为。Gradle是一个基于Apa

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包