初学Java 初始Java 与 数据类型与变量

1、初始Java 

1、标识符

我们先来看一段简单的HelloWorld的程序

public class HelloWorld {
    public static void main(String[] args){

        System.out.println(("Helloworld")); 

    }
}

在上述程序中,HelloWorld是类名,main称为方法名,也可以将其称为标识符。

即:在程序中由用户给类名、方法名或 者变量所取的名字。

标识符的规则:

  • 有效字符

    • 必须以字母(A-Z 或 a-z)、美元符号($)、或下划线(_)开头。
    • 后续字符可以是字母、美元符号、下划线或数字(0-9)
  • 关键字

    • 标识符不能是 Java 的关键字或保留字。例如,classpublicvoidnew 等都是关键字,不能作为标识符使用
  • 大小写敏感

    • Java 标识符是大小写敏感的。这意味着 myVariablemyvariable 是两个不同的标识符
  • 特殊字符

    • 标识符不能包含空格或其他特殊字符(如 @#%&*! 等)。唯一允许的特殊字符是美元符号($)和下划线(_)
  • 软性建议:
  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
  • 变量名:与方法名规则相同

2、关键字

观察上述所给的HelloWorld文字,可以发现public、void、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键字。下列是java关键字列表:

数据类型与变量

1、字面常量

在 Java 中,字面常量(literal)是指直接出现在代码中的固定值。字面常量的类型包括整数、浮点数、字符、字符串和布尔值等。

注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型。

2. 数据类型

在 Java 中,数据类型分为两大类:基本数据类型(primitive data types)和引用数据类型(reference data types)。了解这两类数据类型及其特性是学习 Java 的基础。此篇先讲基本数据类型。

  • 整数类型

    • byte:1字节,范围是 -128 到 127
    • short:2字节,范围是 -32,768 到 32,767
    • int:4字节,范围是 -2^31 到 2^31-1
    • long:8字节,范围是 -2^63 到 2^63-1
  • 浮点类型

    • float:4字节,单精度,适用于需要较小范围小数的场景
    • double:8字节,双精度,适用于需要较大范围小数的场景
  • 字符类型

    • char:2字节,表示单个Unicode字符,范围是 '\u0000' (或 0) 到 '\uffff' (或 65,535)
  • 布尔类型

    • boolean:表示一个布尔值,只有两个取值:truefalse

3. 变量 

在 Java 中,变量是用于存储数据的命名内存位置。变量的类型决定了它可以存储的数据类型。变量必须在使用前声明。

定义变量的语法格式为: 数据类型 变量名 = 初始

例如

public class Demo {
    public static void main(String[] args) {
        int a = 10;
        double d = 3.14;
        char c = 'A';
        boolean b = true;

    }
}        

定义变量 a,a是变量名也称为标识符,该变量中放置的值为10。

定义变量b,b是变量名也称为标识符,该变量中放置的值为3.14。

3.1 整型变量

整型变量(integer variables)用于存储整数值。

1. int不论在何种系统下都是4个字节

2. 推荐使用方式一定义,如果没有合适的初始值,可以设置为0

3. 在给变量设置初始值时,值不能超过int的表示范围,否则会导致溢出

4. 变量在使用之前必须要赋初值,否则编译报错 5. int的包装类型为 Integer

3.2 长整型变量

public class Demo {
    public static void main(String[] args) {
        long b = 10; // long定义的长整型变量
        long c = 10L; // 为了区分int和long类型,一般建议:long类型变量的初始值之后加L或者l
        long d = 10l; // 一般更加以加大写L,因为小写l与1不好区分

    }
}

1. 长整型变量的初始值后加L或者l,推荐加L

2. 长整型不论在那个系统下都占8个字节

3. 长整型的表示范围为:-2^{63} ~ 2^{63}-1

4. long的包装类型为Long

3.3短整型变量

public class Demo {
    public static void main(String[] args) {
        short a = 10;
        System.out.println(a);
    }
}

1. short在任何系统下都占2个字节

2. short的表示范围为:-32768 ~ 32767

3. short的包装类型为Short

3.4 字节型变量

public class Demo {
    public static void main(String[] args) {
        byte b = 10;
        System.out.println(b);
    }
}


1. byte在任何系统下都占1个字节

2. byte的范围是:-128 ~ 127

3. 字节的包装类型为Byte

3.5 双精度浮点型

public class Demo {
    public static void main(String[] args) {
        double d = 3.14;
        System.out.println(d);
    }
}

1. double在任何系统下都占8个字节

2. 浮点数与整数在内存中的存储方式不同,不能单纯使用2^{n}的形式来计算

3. double的包装类型为Double

4. 会存在一定的精度误差,因此浮点数是个近似值,并不是精确值。

3.6 单精度浮点型

public class Demo {
    public static void main(String[] args) {
        float num = 1.0f; // 写作 1.0F 也可以
        System.out.println(num);
    }
}

float 类型在 Java 中占四个字节。 由于表示的数据精度范围较小, 一般在工程上用到浮点数都优先考虑 double, 不太推荐使用 float。

float的包装类型为Float。

3.7字符型变量

public class Demo {
    public static void main(String[] args) {
        char c1 = 'A'; // 大写字母
        char c2 = '1'; // 数字字符
        System.out.println(c1);
        System.out.println(c2);
// 注意:java中的字符可以存放整形
        char c3 = '帅';
        System.out.println(c3);

    }
}

1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值。

2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此 一个字符占用两个字节, 表示的字符种类更多, 包括中文。

3.8 布尔型变量

public class Demo {
    public static void main(String[] args) {
        boolean b = true;
        boolean a = false;
        System.out.println(a);
        System.out.println(b);
        
    }
}

1. boolean 类型的变量只有两种取值, true 表示真, false 表示假。

2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法。

3. Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在 Oracle公司的虚拟机实现中,boolean占1个字节。

4. boolean的包装类型为Boolean。

4 类型转换

在 Java 中,类型转换(Type Casting)是将一种数据类型的值转换为另一种数据类型的过程。类型转换可以分为两种类型:自动类型转换(Widening Casting)和强制类型转换(Narrowing Casting)。

4.1 自动类型转换

自动类型转换也称为隐式类型转换,是指将一个较小范围的数据类型自动转换为一个较大范围的数据类型。Java 会自动进行这种转换,不需要显式地进行类型转换操作。通常,自动类型转换不会导致数据的丢失。

4.2 强制类型转换

强制类型转换也称为显式类型转换,是指将一个较大范围的数据类型转换为一个较小范围的数据类型。由于较小范围的数据类型可能无法容纳较大范围的数据类型的值,因此这种转换需要显式地进行,并且可能导致数据的丢失或精度的损失。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值