[笔记] Java 基础语法 01 - 常量变量&数据类型

关键字

概述

关键字:就是被 Java 语言赋予了 特定含义的单词

特点

  • 关键字的字母全部小写

  • 常用的代码编辑器,针对关键字有特殊颜色的标记,非常直观。

image

上图中被圈出来的就是关键字。

Java 中常用的关键字大约有50个左右。

常量

概述

常量:在程序运行过程中,其值不可以发生改变的量。

常量分类

image

public class ConstantDemo {
    public static void main(String[] args) {
        // 字符串常量
        System.out.println("HelloWorld");
        System.out.println("程序员");
        System.out.println("--------");
        
        // 整数常量
        System.out.println(666);
        System.out.println(-88);
        System.out.println("--------");
        
        // 小数常量
        System.out.println(13.14);
        System.out.println(-5.12);
        System.out.println("--------");
        
        // 字符常量
        System.out.println('A');
        System.out.println('5');
        System.out.println('我');
        System.out.println("--------");
        
        // 布尔常量
        System.out.println(true);
        System.out.println(false);
        System.out.println("--------");
        
        // 空常量
        System.out.println("HelloWorld");
        System.out.println("程序员");
    }
}

执行结果:

空常量不能直接打印输出

其他常量可以正常打印输出

image

数据类型

计算机存储单元

我们知道计算机是可以用来存储数据的,但物流是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称为“比特位”,通常用小写字母“b”表示。

而计算机最小的存储单元叫“字节(byte)”,通常用大写的“B”表示,字节是由连续的8个位组成。

常见的存储单元:
  • 1B(字节) = 8bit
  • 1KB = 1024 B
  • 1 MB = 1024 KB
  • 1 GB = 1024 MB
  • 1 TB = 1024 GB

数据类型

Java 语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。

image

分类:

  • 基本数据类型
    • 数值型
      • 整数
        • byte
        • short
        • int
        • long
      • 浮点数
        • float
        • double
      • 字符
        • char
    • 非数值型
      • 布尔
        • boolean
  • 引用数据类型
    • 类(class
    • 接口(interface
    • 数组([ ])

数组类型内存占用和取值范围

image

注: 整数默认用的是 int 类型,浮点数默认用 double 类型。

变量

概述

变量:在程序运行过程中,其值可以发生改变的量。

从本质上将,变量是内存中的一小块区域。

定义

image

  • 格式:数据类型 变量名 = 变量值;
  • 范例:
int a = 10;

使用

取值和修改值

取值:

  • 取值格式:变量名
  • 范例: a

修改值:

  • 修改值格式:变量名 = 变量值;
  • 范例: a = 20;

注意事项

  1. 在main 方法 一进来这范围内,变量名不能重复;

  1. 定义变量必须给值,不给值就无法使用;

  1. 下图中的10000000000 是 int 类型,所以超出了。因此,在定义 long 类型的变量时,为了防止 long 类型整数过大,需要在值最后加 L

  1. 因为浮点数默认使用的是 double,所以,在定义 float 变量时,为了防止不兼容的类型,值最后需要加上 F;

Java标识符

概述

在Java语言中,对于变量,常量,函数,语句块的名字,我们统统称之为Java标识符。

例如第一个Java 程序里关键字 class 后跟的 HelloWorld,就是我们自定义的类名,类名就属于标识符的一种。标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。

命名规范:

  1. 标识符有大小写、下划线 _、数字、$符号组成、不能有其他特殊符号不包含空格
  2. 开头可以是大小写字母、下划线 _和 $符号,数字不能开头;
  3. 不能是 Java 关键字/保留字;
  4. 标识符长度长度不限,严格区分大小写。

合法的标识符:

ComputeArea、radius、$cads _exe、zg_cssan、_csdv

非法标识符:

class (class是关键字,标识符不能是关键字)、10java (标识符不能以数字开头)、Hello java (标识符由字母、下划线、美元符或数字组成,不包含空格)

注意:由于 Java 标识符严格区分大小写,所以 bengo 和 BenGo 是完全不同的两个标识符哦

关键字/保留字

关键字:

(1)数据类型:boolean、int、long、short、byte、float、double、char、class、interface。

(2)流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。

(3)修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。

(4)动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。

保留字:

(1)Java中有两个未使用的保留字:goto、const。

(2)Java中有三个特殊含义的单词:null、true、false。

:smile:提示: 由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。

命名规则

1.类和接口名。

每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。

2.方法名。

首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。

3.常量名。

基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。

4.变量名。

可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。

5、包名

所有字母小写com.yc.oop1.case (前缀+项目名+模块名+层)

类型转换

分类

  • 自动类型转换
  • 强制类型转换

自动类型转换


把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量

范例:

double d = 10;
/*
类型转换
*/
public class ConversionDemo {
    public static void main(String[] args) {
        // 自动类型转换
        double d = 10;
        
        // 定义 byte 类型的变量
        byte b = 10;
        short s = b;
        int i = b;
        
        // byte 无法到转变为 char,类型不兼容
        // char c = b;
        
    }
}

强制类型转换

把一个表示数据范围大的数值变量赋值给另一个表示数据范围小的变量

格式: 目标数据类型 变量名 = (目标数据类型)值或者变量;

范例:

int k = (int)88.88;
/*
类型转换
*/
public class ConversionDemo {
    public static void main(String[] args) {
        // 强制类型转换
        int k = (int)88.88;
        System.out.println(k);
        // > 输出结果为 88
        
    }
}

强制类型转换,会出现数据丢失,所以不推荐使用。