老薛带你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注意:
关键词,关键词,不记不背,老薛言;
若问啥是字符集,新华康熙来分辨。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容