变量、常量和数据类型

101 阅读5分钟

一、数据类型

1、数据类型说明

根据类型一共可以将八大数据类型分为两大类,分别是数值型和非数值型。下面展开叙述:

①数值型

数值型里又分为整型和浮点型

整型(默认类型为int型):

数据类型大小取值范围
byte1字节8位-128 ~ +127
short2字节16位-32768 (-2^15) ~ + 32767 (+2^15-1)
int4字节32位-2147483648(-2^31) ~ + 2147483647(2^31-1)
long8字节64位-2^63 ~ + 2^63-1

浮点型(默认类型为double型):

数据类型大小取值范围
float4字节32位浮点数1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38
double8字节64位浮点数4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308

②非数值型

数据类型大小取值范围
char2字节16位,存储Unicode码0 ~ 65535
boolean1位true或false

值得一提的是,虽然String经常被使用,但String并不是基本的数据类型,而是引用的数据类型,是java提供的一个类。

2、变量命名规则

① 变量命名只能由字母、数字、下划线、美元符号$$组成,其中以美元符号($)开头命名的变量虽能通过编译,但不建议使用。

② 变量命名应当遵循小驼峰命名法,即除了第一个单词之外的所有单词的首字母都大写,例:calculateTotalAmount。

③ 变量命名不可以关键字命名,如public、int等,但是可以包含关键字。

3、变量声明及使用

第一步声明变量:数据类型 变量名; 例:int num;

第二步赋值:变量名 = 数值; 例:num = 100;

上述两步也可合并为:int num = 100;

4、常量

我们可以使用'final'关键字声明常量,被'final'修饰的常量表示变量的值不能被修改,即它是一个常量。在声明时必须初始化,并且一旦赋值,就不能再更改。 例:final int num = 520;

使用'final'声明常量有助于提高代码可读性和维护性,并传达了此变量值不可被修改的意图。

5、自动类型转换

自动类型转换是指当一个数据类型的取值范围小于另一个数据类型时,Java编译器会自动将较小范围的类型转换为较大范围的类型,以防止数据丢失。这种转换通常被称为"隐式类型转换"或"自动类型提升"。

例:byte a = 10; short b = 1000; int c = a+b;此时输出a=10,b=1000,c=1010

6、强制类型转换

强制类型转换是指在程序中明确指定将一个数据类型转换为另一个数据类型。这种转换可能导致数据溢出或精度损失,因此我们需要确保转换是安全的。

例:double doubleValue = 52.1; int intValue = (int) doubleValue;

二、Scanner的使用

Scanner是Java中的一个类,用于从控制台或其它输入源中获取用户输入,例如获取用户键盘输入的信息,下面是使用方法:

1、导入Scanner类 :import java.util.Scanner;通过此代码导入Java包中Scanner类方法。

2、创建Scanner对象:Scanner scanner = new Scanner(System.in);通过此代码创建Scanner对象。

3、获得数据:int num = scanner.nextInt();通过此代码获得键入的数据并存储。

三、运算符的使用

运算符是用于执行操作的特殊符号或关键字。在Java中,运算符用于执行各种算术、关系、逻辑和其他类型的操作。以下是一些常见的运算符及其使用方式:

1、算术运算符

用于执行基本的数学运算。

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • %:取模(取余)

例:int a = 5; int b = 2; int sum = a + b; int difference = a - b; int product = a * b; int quotient = a / b; int remainder = a % b;

2、关系运算符

用于比较两个值之间的关系,返回布尔值。

  • ==:等于
  • !=:不等于
  • <:小于
  • >:大于
  • <=:小于等于
  • >=:大于等于

例:int x = 5; int y = 10; boolean isEqual = (x == y); boolean isNotEqual = (x != y); boolean isLessThan = (x < y);

3、逻辑运算符

用于执行逻辑运算,返回布尔值。

  • &&:逻辑与
  • ||:逻辑或
  • !:逻辑非

例:boolean condition1 = true; boolean condition2 = false; boolean resultAnd = condition1 && condition2; boolean resultOr = condition1 || condition2; boolean resultNot = !condition1;

4、条件运算符

条件运算符(也称为三目运算符)用于根据条件的真假选择两个值之一。

语法:result = (condition) ? valueIfTrue : valueIfFalse;

这里的 condition 是一个布尔表达式,若真,则返回 valueIfTrueresult;若假,则返回valueIfFalseresult

例:

public class ConditionalOperatorExample {
    public static void main(String[] args) {
        int x = 10; int y = 20;
        // 使用条件运算符选择较大的值
        int result = (x > y) ? x : y;
        System.out.println("较大的值是: " + result);
    }
}

输出结果为:较大的值是: 20

5、运算符优先级

在Java中,不同的运算符有不同的优先级,这影响到它们在表达式中的计算顺序。

  • 单目运算符包括 !   ++  --;优先级别高
  • 优先级别最低的是赋值运算符
  • 可以通过()控制表达式的运算顺序,()优先级最高
  • 从右向左结合性的只有赋值运算符、三目运算符和单目运算符
  • 算术运算符 > 关系运算符 > 逻辑运算符