前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 基础知识小抄整一份

Java 基础知识小抄整一份

作者头像
syy
发布2020-05-18 13:39:55
4520
发布2020-05-18 13:39:55
举报
文章被收录于专栏:多选参数多选参数

0. 前言

【先偷偷说一句文末有福利】大家好,我是多选参数的程序锅,是一个四年前在纸上做 Java 笔记的硬核“失业人员”。最近因为需要,想捡回并重新学习一波 Java,所以抽空将以前的手写笔记在结合自己的使用和理解之后,重新整理了一份电子版的资料。这是当初硬核的纸质版笔记节选。

本篇算是 Java 的基础知识小抄吧,之所以说小抄是因为觉得涵盖不是很细很全,但是基本的内容都有,当然后头还会继续完善,只是不会再用笔记录了!按照现在的习惯,先附上一张思维导图:

1. 安装与环境配置

  • Path 的设置 jdk 安装目录的 bin 子目录添加进去
  • CLASSPATH 的设置 . (当前目录)添加进去; jdk 安装目录的 lib 子目录添加进去
  • Java_Home 的设置 jdk 安装目录添加进去。

2. 注释

  • 行注释,//...
  • 块注释,/*...*/

3. 标识符

字母、下划线、数字、美元符号 等组成。开头不能是数字,也不能是关键字(如 true、false、null)等。

Java 使用 unicode 字符集,该字符集包含了世界上大部分语言的“字母表”。

4. 基础数据类型 --- 值类型

4.1. 逻辑类型---boolean

true、false

4.2. 整型

关键字

常量表示

字节数

int

123(这个常量是十进制)、077(这个常量是八进制)、0xABC(这个常量是十六进制)

4

byte

(byte)-12、(byte)28---强制转换为 byte 型,但是可能会发生截断等行为,所以记得请把一定范围内的 int 型常量或者 int 型的值赋值给 byte

1

short

(short)-12、(short)28---同 byte

2

long

108L(这个常量是 long 型),用后缀 L 来表示

8

★上述类型都是有符号的,Java 中不存在 unsigned int m 这种的。 ”

4.3. 字符类型

  1. 2 字节,但是最高位不是符号位,不存在负数
  2. 单引号表示的是字符类型常量,如 'A'
  3. 转移字符表示的也是字符类型,如 \n、\b、\t、\'、\", \ 等
  4. 字符在 unicode 字符表中排序位置的十六进制表示也可以表示字符类型,如\u0041

4.4. 浮点数

关键字

常量表示

字节数

float

后缀 f 或者 F

4,保留 8 位有效数字

double

后缀 d 或者 D(默认情况下为该类型)

8,保留 16 位有效数字

4.5. 基础类型转换

Java 中使用 (类型名)要转换的值 的方式进行类型转换。级别低常量/变量赋值给级别高的变量时,系统自动进行转换,如 float x = 100;相反的赋值需要用上述方式进行显示转换。

★级别从低到高(其实就是按照字节数及表示的值范围进行排序):byte、short、char、int、long、float、double ”

需要注意的时:级别高常量/变量赋值给级别低的变量时,需要注意截断问题。所以最好不要超过级别低的变量所能表示的范围。若超过了,则级别低的值需要根据截断的字节情况算出来。比如 byte a = (byte) 128 ,实际 a 的值为 -128。

5. 数组 --- 引用类型

5.1. 数组声明

// 声明一维数组
int name[];
int[] name; 	// 后者更常用

// 声明二维数组,一个二维数组由若干个一维数组构成,相当于数组的数组
int name[][];
int[][] name;

// 一次性声明多个数组
float[] a, b; // 等价于 float a[], b[]
float[] a, b[];	// 等价于 float a[], b[][]

★与 C 不同的是 Java 不允许 int a[12] 或者 int[12] a

5.2. 数组创建

// 数组名 = new 数组元素的类型[大小]
// new int[4] 相当于在 Java 的堆区分配了内存,并且会返回该内存区的首地址。之后将该地址赋值给 name 数组变量,Java 中不使用指针这一概念,而是使用引用这一概念。
int[] name;
name = new int[4];

int[] name = new int[4];

// Java 允许使用 int 型变量来指定数组的大小
int size = 10;
int[] name = new int[size];

// Java 中构成二维数组的一维数组不必有相同的长度
int[][] a = new int[3][];
a[0] = new int[6];
a[1] = new int[12];
a[2] = new int[8];

★创建数组的时候没有指定分配的元素的值的话,那么 Java 会使用默认值填充,如 float 是 0.0 ”

5.3. 初始化

// 声明数组的时候,可以直接将一些初始化值付给数组变量;
// 个人认为其实,{1, 2, 3, 4} 也是一种创建数组的方式;
int[] data1 = {1, 2, 3, 4};
int[] data2 = new int[]{1, 2, 3, 4};
// int[] data2 = new int[4]{1, 2, 3, 4};  这种方式是会出错的

// 初始化一个二维数组,组成二维数组的一维数组的长度可以不相同
int[][] a = {{1}, {1, 1}, {1, 2, 1}, {1, 2, 3, 1}};

5.4. 数组操作

5.4.1. 访问

使用索引值进行访问,下标从 0 开始。

5.4.2. length 的使用

数组名.length(一维数组是数组中元素的个数;二维数组是一维数组的个数)。

5.4.3. 输出

使用 System.out.println() 输出的时候,char 型的数组输出的是数组全部元素的值,要想输出 char 型数组的运用值使用 System.out.println("" + a);int 型的数组输出则为引用值。

6. 运算符

运算符类型

表示

算术运算符

+、-、*、/(除外之后只取整数部分)、%

自增、自减

前++、--(先++、--,再使用该变量的值);后++、--(先用变量,再 ++、--)

关系运算符

、<、>=、<=、==、!=

逻辑运算符

&&、||、!(操作元必须是 boolean 型数据;&& 左边为 false 时,右边的值不会再判断;|| 左边为 true 时,右边则不会再判断了)

赋值运算符

=(左边的操作元必须是变量,不能是常量或者表达式)

位运算符

&、|、~、^(异或:相同为 0,不相同为 1)

instanceof

instanceof (左边的操作元是一个对象,右边是一个类,当左边的对象是右边的类或者子类创建的对象时,为 true)

★算数混合运算的精度是:double、float、long、int 的顺序来,也就是说假如同时存在 double 和 int 类型的,那么则按照 double 类型的来。这个时候赋值需要特别注意,不要把超过 int 范围的算术表达式赋值给 int,因为会发生截断(其他类型的值也是类似的)。 ”

7. 控制语句

7.1. 条件分支语句 --- if

if (expression) {
    .....
}

if (expression) {
    ......
} else {
    ......
}

if (expression) {
    ......
} else if (expression) {
    ......
} else {
    ......
}

7.2. 选择语句 --- switch

switch (expression) {
    case constant1:
        ......;
        break;
    case constant2:
        ......;
        break;
    case ......:
        ......;
        break;
    default :
        ......;
}

  1. 需要加 break,假如一个 case 后面不加 break 的话,那么匹配到这个 case 之后,后面的 case 也会执行,直到碰到 break;
  2. switch 中 expression 的值可以是 byte、short、int、char,不可以是 long;

7.3. 循环语句

// for 语句
for (int i = 0; i < 10; i++) {
    ......
}

// while 语句
while (i < 10) {
    ......
}

// do ... while 语句
do {
    
} while(i < 10)
    
// for each 语句
// for (声明循环变量:数组的名字){}
int[] a = {1, 2, 3, 4, 5};
for (int i:a){
    System.out.println(i);
}
// 声明循环变量,必须变量声明的形式,而不能拿已声明过的变量来,如下是错误的
int i = 0;
for (i:a) {
    ......
}

★break 和 continue 同样可以应用在循环语句中,当然 break 还可以用于 switch 语句 ”

7.4. 其他语句

break、continue、return

8. 输入输出

8.1. 输入

Scanner reader = new Scanner(System.in);
boolean b = reader.nextBoolean();	// 读取用户输入的数据
byte b = reader.nextByte();
short s = reader.nextShort();
int i = reader.nextInt();
long l = reader.nextLong();
float f = reader.nextFloat();
double d = reader.nextDouble();

8.2. 输出

// 允许使用 “+” 将变量、表达式、一个常数值或一个字符串进行合并输出
System.out.println(); // 输出之后自动换行
System.out.print();	  // 不换行

// 格式化输出
System.out.printf("格式化控制部分", 表达式1, 表达式2, ..., 表达式n);
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 多选参数 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. 前言
  • 1. 安装与环境配置
  • 2. 注释
  • 3. 标识符
  • 4. 基础数据类型 --- 值类型
    • 4.1. 逻辑类型---boolean
      • 4.2. 整型
        • 4.3. 字符类型
          • 4.4. 浮点数
            • 4.5. 基础类型转换
            • 5. 数组 --- 引用类型
              • 5.1. 数组声明
                • 5.2. 数组创建
                  • 5.3. 初始化
                    • 5.4. 数组操作
                      • 5.4.1. 访问
                      • 5.4.2. length 的使用
                      • 5.4.3. 输出
                  • 6. 运算符
                  • 7. 控制语句
                    • 7.1. 条件分支语句 --- if
                      • 7.2. 选择语句 --- switch
                        • 7.3. 循环语句
                          • 7.4. 其他语句
                          • 8. 输入输出
                            • 8.1. 输入
                              • 8.2. 输出
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档