欢迎光临
我们一直在努力

Java基础入门:day2变量、数据类型、表达式

最近Java老师讲了变量、数据类型和表达式,整理了一下笔记,分享给大家。内容比较基础,适合刚入门的小伙伴们。

一、变量——计算机里的“小盒子”

1.1 什么是变量?

变量就是计算机内存中的一块存储空间,用来存放数据。可以把它理解成一个带标签的“小盒子”,盒子里可以放数字、文字等。

1.2 变量的组成

· 数据类型:决定盒子能放什么类型的“东西”

· 变量名:盒子的标签,方便找到它

· 数据:盒子里实际存的值

1.3 如何定义变量?(三种方式)

```java

// 方式1:先声明,后赋值

int age; // 声明一个整型变量 age

age = 18; // 赋值

// 方式2:声明的同时赋值

int score = 95;

// 方式3:同时定义多个同类型变量

int a = 10, b = 20, c; // c 未赋值,后面再用

```

二、数据类型——8种基本类型 + 引用类型

Java是强类型语言,变量一旦定义类型,就只能存该类型的数据。

2.1 基本数据类型(8种)

(1)整数类型

关键字 字节数 取值范围

byte 1字节 -128 ~ 127

short 2字节 -32768 ~ 32767

int 4字节 -21.47亿 ~ 21.47亿

long 8字节 大约 -922京 ~ 922京-1

注意:long 类型的值后面要加 L(大写L更清晰),例如 long money = 10000000000L;

(2)浮点类型(小数)

类型 关键字 字节数 赋值注意

单精度 float 4字节 必须加 f 或 F

双精度 double 8字节 可加 d 或 D,也可不加

```java

float price = 19.9f;

double pi = 3.1415926;

```

面试小知识:int 和 float 都是4字节,但 float 能表示的范围更大,因为它采用科学计数法存储。

(3)字符类型(char)

· 占2字节,用单引号括起来

· 可以存中文、英文字母、数字字符

 

```java

char c1 = 'A';

char c2 = '中'; // Java 中一个汉字就是一个字符

char c3 = 65; // 用整数表示,对应 ASCII 码 'A'

char c4 = '\\u0041'; // Unicode 表示,也是 'A'

```

转义字符(常用):

· \\n —— 换行

· \\t —— 制表符(Tab)

· \\\\ —— 反斜杠本身

· \\' —— 单引号

· \\" —— 双引号

(4)布尔类型(boolean)

只有两个值:true 和 false。不能用 0 或 1 代替。

 

```java

boolean isPass = true;

boolean isOk = false;

```

2.2 引用数据类型

除了8种基本类型,其他都是引用类型,例如:类、接口、数组、字符串。

 

```java

String name = "张三"; // 字符串用双引号

```

三、数据类型转换

3.1 自动类型提升(小 → 大)

规则:byte → short → int → long → float → double

char → int → long → float → double

 

```java

int a = 10;

double b = a; // 自动提升,b = 10.0

```

3.2 强制类型转换(大 → 小)

语法:(目标类型) 变量

 

```java

double d = 12.9;

int i = (int) d; // 结果为 12(截断,不是四舍五入)

```

注意:如果大类型的数据超出了小类型的范围,会溢出(截断)。

例如 int i = 257; byte b = (byte) i; 结果为 1。

boolean 类型不能参与任何类型转换

 

四、表达式——式子也会“升类型”

表达式由变量、运算符、字面值组成,运算后会得到一个结果。

结果类型规则(重要!):

1. 有 double → 结果为 double

2. 无 double,有 float → 结果为 float

3. 无 double/float,有 long → 结果为 long

4. 其他情况(byte、short、char、int)→ 结果都为 int

 

```java

byte b = 1;

byte b2 = b + 1; // 编译报错!因为 b+1 结果是 int 类型

```

五、运算符

5.1 算术运算符

 

```java

+ – * / % // 加减乘除、取余(模)

```

如果 + 两边有字符串,则变成拼接:"Hello" + 123 → "Hello123"

5.2 赋值运算符

=   +=   -=   *=   /=   %=等。

注意:复合赋值运算符没有自动类型提升,但自带强转效果。

```java

byte b = 1;

b += 1; // 编译通过,相当于 b = (byte)(b + 1)

```

5.3 自增自减(++ / –)

· a++ :先使用 a 的值,再让 a 加 1

· ++a :先让 a 加 1,再使用新值

```java

int a = 1;

int c = a++; // c = 1, a = 2

 

int b = 1;

int d = ++b; // d = 2, b = 2

```

开发中一般单独写 a++ 或 ++a 自增即可,除非面试题才会区分前后。

 

5.4 关系运算符

结果都是 boolean 类型:true 或 false

 

```java

> >= < <= == !=

```

5.5 逻辑运算符

运算符 名称 说明

&& 逻辑与(短路) 两边都为 true,结果才为 true;若左边为 false,右边不执行

||逻辑或(短路) 至少一个为 true,结果为 true;左边 true 则右边不执行

! 逻辑非 取反

& 与(非短路) 两边都为 true 才为 true,不管左边结果如何,右边都会执行

| 或(非短路) 至少一个为 true 就为 true,右边必执行

 

面试常考:&& 和 & 的区别?

· 相同:都是“与”运算

· 不同:&& 短路,& 非短路(右边一定会执行)

 

5.6 条件运算符(三元运算符)

语法:布尔表达式 ? 表达式1 : 表达式2

 

```java

int score = 60;

String result = (score >= 60) ? "及格" : "不及格";

```

六、Scanner——让程序“听”键盘输入

6.1 使用步骤

```java

// 1. 创建扫描仪

java.util.Scanner sc = new java.util.Scanner(System.in);

 

// 2. 使用

int a = sc.nextInt(); // 输入整数

double d = sc.nextDouble(); // 输入小数

String s = sc.next(); // 输入字符串

char c = sc.next().charAt(0); // 输入一个字符(取第一个)

```

注意:需要先 import java.util.Scanner; 放在文件最上面会更方便。

 

完整例子:

```java

import java.util.Scanner;

 

public class TestScanner {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.print("请输入年龄:");

        int age = sc.nextInt();

        System.out.println("你的年龄是:" + age);

    }

}

```

 

总结:

知识点 要点

变量 数据类型 + 变量名,先声明后使用

基本类型 byte, short, int, long, float, double, char, boolean

类型转换 小→大自动,大→小强制

表达式结果类型 有 double→double,有 float→float,有 long→long,其余 int

运算符 ++/– 前后置要分清,&& 短路,`

Scanner nextInt() nextDouble() next() next().charAt(0)

 

这些都是Java入门的基础,一定要多敲代码,光看笔记很容易忘。下次准备写一下分支结构,欢迎关注~

如果觉得有用,点个赞再走呗~ 😊

赞(0)
未经允许不得转载:171主机测评 » Java基础入门:day2变量、数据类型、表达式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址