老薛带你0基础学习Java标识符、关键词、字符集(带速记口诀)

码歌老薛带你0基础学习Java基础语法、标识符、关键词、字符集

一:第一个Java程序的注意点

1.1 代码示例

public class Demo{
 public static void main(String[] args){
 System.out.println("我的第一个Java程序");
 }
}

1.2 总结问题

1: public --> 表示的是公共的、公开的。注意通过public修饰的class我们称
之为主类,一个.java文件只能包含一个主类,且文件的名称和类的名称是
一样的。
2:class  --> 直译为班级,但是在java中是类的意思,注意,在java中单最
小单位就是类。
3:Demo   --> 是当前类的名称,这里要注意,类名要和.java的文件名保
持一致,上文也提到过。
4:{}     --> 代表的是一个块的概念,通过{}将一些代码段组合起来,有的
是类块,有的是方法块。
5:public static void main(String[] args){} 
 --> 代表的是主方法,程序经过主方法依次执行方法中的代码。注意这里
方法中的内容通过{}包裹起来。
7: []     --> 这里显示的中括号的意思是数组,注意以后看到[]代表数组出现  
6: System.out.println(); --> 整个一行称之为一条语句,通过;结束
7:""      --> 代表字符串,就是由多个单一的字符组成的一个字符序列。通
过输出语句可以达到原样输出的目的。
8:注意点   --> 在java中的所有符号均为英文的符号,所有的括号都是成
对出现的,不论大括号、小括号,并且在这 些括号中都可以写东西。

二: 标识符

2.1 What? 定义

标识符就是一个具有特殊含义的符号,用来标注程序中的变量,方法,类等。

起名字要有意义,中国人起名尤其讲究,六忌一便于,六忌:一忌太易重名,二忌不辨性别,三忌谐音不雅,四忌充满稚气,五忌花枝招展,六忌一字多音;一便于:便于书写和认读,避免太生僻的字。

所以起名字也是一门学问。

2.2 Why? 产生背景

我们在使用程序过程当中,不可避免要找到一些资源定位,你比如说你想找到老薛,需要老薛的电话吧。

同理,我们也需要找到程序运行过程中的一些资源,所以通过标识符去定义这些资源。

2.3 Where?使用场景

当我们在编写类的时候,会在class后追加当前类的名称,会建议大家类名首字母大写等规范。

当我们编写变量的时候,要求变量的名称要小写等。

此时就需要学习使用标识符,起名字完全按照规范去做。

2.3 How ?

在Java中起名字的时候,需要注意遵守3个必要2个标准1个注意事项。

2.3.1 三个必要

  • 必须以字母,*(下划线),(美元符号)开头,后跟字母,*(下划线),(美元符号),数字结尾。
//给类起名字以下内容错误的是:
<1> Demo1  <2> 1Demo    <3>_DEmo   <4> $Demo</pre>
  • 标识符不能使用Java中的关键词。
//给类起名字以下内容错误的是:
<1> class  <2> 1class    <3>_class   <4> $class
  • Java中严格区分大小写
//给类起名字以下内容错误的是:
<1> Public  <2> Class    <3>Static   <4> class

PS:3个必要条件是必须要满足的,不然你写的程序在编译期间就会直接报错。错误都是System.error

2.3.2 两个标准

  • 见名知意 (看到名称能够大致猜出意思)
//给类起名字以下内容标准的是:
<1> UserController  <2> AA    <3>Hi   <4> Understand</pre>
  • 驼峰原则(命名要大小写间隔)

    • 给类起名时,注意首字母大写,其它每个单词首字母均大写
public class UserController{}</pre>
  • 给变量起名字时,注意首字母小写,其它每个单词字母均大写
  public class UserController{
     int countSize;
    }
  • 给包起名字时,所有字母小写,单词之间通过.分割
 package com.mage.basic
  • 给常量起名字时,所有字母均大写,单词之间通过下划线(_)分割
public class UserDao{
     public static final String MYSQL_URL="jdbc:mysql://localhost:3306/XXX";
    }
  • 给方法起名字时,首字母小写,其它每个单词均大写
   public class UserController{
     public void userLogin(){}
    }

PS:2个标准不一定需要完全一致,程序不会由于你遵守标准报错,但是一般情况下我们推荐大家遵守标准。

2.3.3 一个注意事项

PS:Java是采用Unicode进行编码的,也导致其实我们在编写标识符的时候,严格意义上来说,是可以使用包括中文,英日文等文字的。但是一般情况下不建议大家使用中文。

//一下内容错误的是:
public class 用户控制器{
}

三: 关键词

3.1 What? (定义)

在刚刚标识符中,我们已经提及了标识符的概念。Java中的关键词,就是在整个Java中,存在一些Java

已经用作他用的词,这些词Java已经规定了其用法。我们称之为关键词。

3.2 Why?

在编程语言中总会出现一些已经定义好规则和用法的,而使用这些词作为比如上文提及的类名、变量名时,编译器可能就不知道是理解为Java本身赋予它的含义,还是仅仅只是作为一个名字了。

3.3 Where ?

常见的标识符包含一些内容,无需记忆。

image

3.3.1 简单分类:

用途 包含内容
数据类型 byte short int long float double char boolean class interface
流程控制 if else do while for switch case default break continue return try catch finally
修饰符 public protected private final void static strictfp abstract transient synchronized volatile native
动作 package import throw throws extends implements this super instanceof new
保留字 true false null goto const

PS:注意,JDK10之后增强了类型推断,变量可以通过var去直接声明,但是var还是没有作为关键词。

四:字符集合

4.1 What?(定义)

image

人在和机器沟通的时候,需要让机器能够看懂,信息被发送之后变成了对应的二进制代码段。

而文字和二进制代码段需要一个中间的表,通过表进行检索变成对应的二进制段。

4.2 Why?

4.2.1 前置学习条件 (三个必要)

image
  • 字库表:

    • 一个相当于所有可读或者可显示字符的数据库,字库表决定了整个字符集能够展现表示的所有字符的范围

    • 举例,相当于[字符集图]中的红色标注的内容。

  • 编码字符集:

    • 即用一个编码值code point来表示一个字符在字库中的位置。

    • 举例,相当于[字符集图]中的绿色标注的内容。

  • 字符编码:

    • 将编码字符集和实际存储数值之间的转换关系。一般来说都会直接将code point的值作为编码后的值直接存储。

    • 举例,例如在ASCII中A在表中排第65位,而编码后A的数值是0100 0001也即十进制的65的二进制转换结果。

4.3 How?

image

4.3.1 步骤思路

  • 通过字符库,查找字符对应字符是否存在。

  • 通过编码字符集,找到字符对应的代码点,比如A的代码点就是65。

  • 通过指定的转换关系,缺点是否将代码点转为二进制进行存储,上述方式就是直接转为代码点然后再计算机进行读取。

4.3.2 常用工具中更改编码的方式

  • Notepad++
image
  • 文本文档
image

PS:另存为,然后选择指定的字符集合。

4.3.3 乱码产生原因

image

PS:简单而言,乱码产生的原因就是由于编码(自己书写时的字符集合)和解码(程序解析时)的字符集合不同而造成的,就像上面说的字典不统一。

4.4 思考题

问题:考虑为什么不直接使用codePoint,通过codePoint直接转为对应二进制直接存储。

五:老薛口诀时间:

java基础要记牢,不然报错咔咔响。
为了远离报错响,以下内容要记牢;
标识符,标注记忆起名用,3必2标1注意:
关键词,关键词,不记不背,老薛言;
若问啥是字符集,新华康熙来分辨。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容