当前位置: 首页 > news >正文

【IT转码 Day02】

# Day 02

## Char变量类型——单一字符

### 声明方式

```java
char c1 = 'A'; // 字符 A
char c2 = '中'; // 中文字符
char c3 = '\u0041'; // Unicode 表示的 'A'
char c4 = 65; // 数字 65 会转成 'A'
```

### 和‘String’有何不同?

char表示一个字符而Stirng表示一串字符(字符数据的封装)

```java
char c = 'A';
String s = "ABC";
```

### 常用转换

```java
char c = 'A';
int ascii = c; // 自动转成 int,结果是 65

int code = 66;
char ch = (char) code; // 转回 'B'
```

### 使用场景

1.处理单个字符('A')

2.遍历字符串

```java
String str = "Hello";
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
System.out.println(ch);
}
```

### 注意!

C语言里的char为1字节(ASCII),而Java里的char是2字节(Unicode),所以Java里的char能表示中文、日文等字符。

## 前置自增++x和后置自增x++

### ++x

```java
int x = 5;
int y = ++x; // 先 x = 6,再把 6 赋值给 y
// 结果:x = 6, y = 6
```

### --x

```java
int x = 5;
int y = x++; // 先把 5 赋值给 y,再 x = 6
// 结果:x = 6, y = 5
```

## 位运算符

### Java的常见位运算符

| 运算符 | 含义 | 作用 | 示例(以 8 位二进制为例) |
| ------ | ---------------------- | ---------------------------- | --------------------------------------------------- |
| `&` | 按位与 | 两位都为 1 结果才是 1 | `12 & 5 → 00001100 & 00000101 = 00000100 (4)` |
| ` | ` | 按位或 | 只要有一个为 1 结果就是 1 |
| `^` | 按位异或 | 相同为 0,不同为 1 | `12 ^ 5 → 00001100 ^ 00000101 = 00001001 (9)` |
| `~` | 按位取反 | 0 变 1,1 变 0(包括符号位) | `~12 → 11110011`(结果是 -13,见注意事项) |
| `<<` | 左移 | 向左移动指定位数,右边补 0 | `3 << 2 → 00000011 << 2 = 00001100 (12)` |
| `>>` | 右移(算术右移) | 向右移动,左边补符号位 | `-8 >> 2 → 11111000 >> 2 = 11111110 (-2)` |
| `>>>` | 无符号右移(逻辑右移) | 向右移动,左边补 0 | `-8 >>> 2 → 11111000 >>> 2 = 00111110 (1073741822)` |

## Swich-case选择结构

```java
switch(表达式){
case 常量值1:
语句块1;
//break;
case 常量值2:
语句块2;
//break;
// ...
[default:
语句块n+1;
break;
]
}

```

![image-20250812151100955](E:\AI课程\【01】Java\【IT转码Day02】\新建文件夹\assets\image-20250812151100955.png)

## Scanner从键盘输入

```
Scanner:键盘输入功能的实现
• 如何从键盘获取不同类型(基本数据类型、String类型)的变量:使用Scanner类。
• 键盘输入代码的四个步骤:
1. 导包:import java.util.Scanner;
2. 创建Scanner类型的对象:Scanner scan = new Scanner(System.in);
3. 调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量
4. 释放资源:scan.close();
• 注意:需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的类型不匹配时,会报异常 导致程序终止。

```

## 随机数获取

| 方法 | 范围 | 线程安全 | 性能 | 安全性 | 适用场景 |
| ------------------- | ---------- | -------- | ---- | ------ | ---------------- |
| `Math.random()` | [0.0, 1.0) | 否 | 高 | 低 | 普通随机数 |
| `Random` | 自定义 | 否 | 中 | 低 | 单线程游戏、模拟 |
| `ThreadLocalRandom` | 自定义 | 是 | 高 | 低 | 高并发环境 |
| `SecureRandom` | 自定义 | 是 | 低 | 高 | 加密、密码生成 |

## 数组

```java
//1. 声明并分配空间(默认值)
int[] arr = new int[5]; // 创建一个长度为5的int数组,默认每个元素为0
//2. 声明并直接赋值
int[] arr = {1, 2, 3, 4, 5}; // 声明并初始化数组
//3. 分开写(先声明,再赋值)
int[] arr;
arr = new int[]{1, 2, 3};
//4.二维数组
//1.创建空的二维数组(每个子数组长度相同)
int[][] matrix = new int[3][4]; // 3行4列的数组,默认值为0
//2,. 声明并初始化
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
//5.动态数组,不规定长度
// 创建 ArrayList,类型为整数
ArrayList<Integer> list = new ArrayList<>();

// 添加元素
list.add(10);
list.add(20);
list.add(30);

// 访问元素
System.out.println(list.get(1)); // 输出 20

// 修改元素
list.set(1, 25); // 将索引1的值改为25

// 删除元素
list.remove(0); // 删除索引0的元素(即10)

// 遍历
for (int num : list) {
System.out.println(num); // 输出 25, 30
}

// 获取大小
System.out.println("大小:" + list.size()); // 输出 2
}
```

 

http://www.aitangshan.cn/news/885.html

相关文章:

  • 锐捷
  • 思科
  • 华三
  • 竞速之渊
  • 注册 JVM 关闭钩子(Shutdown Hook)的方法
  • 2025.7.28 CSP-S模拟赛28
  • 服务器如何配置防火墙管理端口访问?
  • 【做题记录】数论(马思博)
  • 渗透测试十年回忆录:从漏洞扫描到社会工程的艺术
  • xx-准备工作
  • 月份选择每个月不能重复
  • 基于MATLAB实现的随机森林算法对共享单车签入签出数量进行预测
  • 8 月考试
  • .net MVC4中提示Newtonsoft.Json, Version=4.5.0.0
  • MySQL 并发控制和日志
  • 基于幅度的和差测角程序
  • ZR 25 summer D7T1 题解 | 树上问题,dp
  • EditText如何设置
  • 关于 git reset --hard 引发的代码故障(附故障原因及解决方案)
  • 【典型案例】利用高光谱遥感技术进行稀有矿产勘探 - ENVI
  • 学 STM32 第一步:入门工具怎么选?避免新手常见误区
  • Flutter 布局控件使用详解 - 指南
  • LHA6958D是ADS8588的代替料
  • 惠普笔记本电脑开机黑屏,一直响三长两短的滴滴声
  • selinux
  • 【转】Windows Server 系统的桌面上显示 此电脑 图标
  • hj_2025_0812
  • CF2062G Permutation Factory 题解
  • NBD(Network Block Device)简介及基本使用
  • 2024年12月齐鲁弱校联考