跳转至

『从C到Java』零 - 1. 那些和C挺像的

T18:12:00+08:00

一、基本类型

整数:

数据类型 类型名 大小(Byte) 数据范围 默认值
byte(💥标准C没有💥) 字节型 1 -128 ~ 127 0
short 短整型 2 -32768 ~ 32767 0
int 整型 4 -2147483648 ~ 2147483647 0
long 长整型 8 -9223372036854774808~9223372036854774807 0L

小数:

数据类型 类型名 大小(Byte) 数据范围 默认值
float 浮点型 4 3.402823e+38~1.401298e-45 0.0f
double 双精度浮点型 8 1.797693e+308~4.9000000e-324 0.0d

字符:

数据类型 类型名 大小(Byte) 数据范围 默认值
char 字符型 1 '\u0000'(0) 到 '\uffff'(65535) '\u0000'(空格)

💥 java 中的 字符 是一个 16位Unicode字符。💥

有关字符编码,见这篇 字符编码 【还没写】

布尔型:

数据类型 类型名 大小(Byte) 数据 默认值
boolean(💥标准C没有💥) 布尔型 是个谜,不过挺小 truefalse false

二、运算符

2.1 算数运算符

C/C++。

2.2 关系运算符

C/C++。

2.3 位运算符

C/C++,多了一个 >>> 就是左边会补零的按位右移。

什么?你没学?快滚去把 C语言的位运算看了!传送门:嘿嘿还没写

2.4 逻辑运算符

C/C++

同样有短路效应

2.5 赋值运算符

C/C++

2.6 三目运算符

C/C++

三、选择语句

3.1 if 语句

C/C++

3.2 switch 语句

C/C++

但是!!!有一点区别!!!

Java
switch(expression){
    case value1 :
        // statement
        break;
    case value :
        // statement
        break;
    default :
        // statement
}
  • 💥Java7expression 的值可以是字符串类型的,对应的 value 也应该是常量。💥
  • 💥Java14 起 正式支持 witch表达式,可以这么写:
Java
1
2
3
4
5
6
7
8
9
char grade = switch(expression){
  case value -> // statement
    case value1, value2, value3 -> {
        //statement
        //statement
        yield 'A'; // 返回 'A'
    }
    default -> 'F'
}

??但是在基础数据类型里不是没有字符串么??

不要着急,后面会讲

四、循环语句

4.1 for 语句

C/C++

4.2 while 语句

C/C++

4.3 do ... while 语句

C/C++

五、“函数”

定义的方式是一样的,不过在 Java 里,它们并不是一样的东西,以后慢慢讲。


差不多这些?

其他的数组啊、文件输入输出啊、字符串啊,什么的,慢慢讲吧。

评论