Lanson

V1

2022/07/20阅读:43主题:山吹

大数据必学Java基础(十二):基本数据类型

​基本数据类型

Java是一种强类型语言,每个变量都必须声明其数据类型。

Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。

PS:巧妙记忆:除了基本数据类型以外的所有类型都属于引用数据类型,本章重点:基本数据类型

一、整数类型整

1、数类型常量

十进制整数,如:99, -500, 0

八进制整数,要求以 0 开头,如:015

十六进制数,要求 0x 或 0X 开头,如:0x15

二进制:要求0b或者0B开头,如:0b11

几进制:就是逢几进1的问题:

平时实际生活中用的最多的是:十进制

计算机用二进制最多

扩展:进制转换问题

【1】二进制转换为十进制:

二进制: 1101

1\*2^3  +   1\*2^2   +  0\*2^1  +     1\*2^0

= 8 + 4 + 0 + 1

= 13

【2】十进制转换为二进制:

十进制 13

【3】八进制转换十进制:

八进制: 16

1*8^1 + 6*8^0

= 8 + 6

=14

【4】十进制转换为八进制:

十进制14:

【5】八进制转换为十六进制:

把十进制当做一个中转站:

八进制---》十进制---》十六进制

实际上根本不用自己转换这么麻烦:我们可以直接用系统中提供给我们的计算器:

2、整数类型变量

整型数据类型:

比如:byte的右侧表数范围127怎么算出来的?

byte: 1字节 = 8位

二进制:01111111

1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0

= 64 + 32 + 16 +8 +4 + 2 +1

= 127

代码:

public class TestVar05{
        public static void main(String[] args){
                //定义整数类型的变量:
                //给变量赋值的时候,值可以为不同进制的:
                int num1 = 12 ;//默认情况下赋值就是十进制的情况
                System.out.println(num1);
                int num2 = 012;//前面加上0,这个值就是八进制的
                System.out.println(num2);
                int num3 = 0x12;//前面加上0x或者0X,这个值就是十六进制的
                System.out.println(num3);
                int num4 = 0b10;//前面加上0b或者0B,这个值就是二进制的
                System.out.println(num4);
                
                //定义byte类型的变量:
                byte b = 126;//定义了一个byte类型的变量,名字叫b,赋值为12
                System.out.println(b);
                //注意:超范围的赋值会报错。
                short s = 30000;
                System.out.println(s);
                int i = 1234;
                System.out.println(i);
                //整数类型默认就是int类型的,所以12345678910是一个int类型的数,对于int类型来说,它超出范围了
                //要想把一个数给long类型变量,那么后面加上L(推荐)或者l就可以了
                long num5 = 12345678910L;
                System.out.println(num5);
                //注意:只有这个数超出int类型的范围了后面才需要加上L,否则无需加L也可以赋值给long类型:
                long num6 = 12;
                System.out.println(num6);
                
        }
}

二、浮点类型

1、浮点类型常量

(1)十进制数形式,例如:

3.14 314.0 0.314

(2)科学记数法形式,如

314e2 314E2 (E的大小写没有区分) 314E-2

double f = 314e2; //314*10^2-->31400.0

double f2 = 314e-2; //314*10^(-2)-->3.14

2、浮点类型变量

float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。

而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。

float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。

也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。

PS:有效数字指的是从左开始第一个不为0的数到最后一个数

代码:

public class TestVar06{
        public static void main(String[] args){
                //浮点类型的常量有两种形式:
                //十进制形式:
                double num1 = 3.14;
                System.out.println(num1);
                //科学计数法形式:
                double num2 = 314E-2;
                System.out.println(num2);
                
                //浮点类型的变量:
                //注意:浮点型默认是double类型的,要想将一个double类型的数赋给float类型,必须后面加上F或者f
                float f1 = 3.14234567898623F;
                System.out.println(f1);
                //注意:double类型后面可以加D或者d,但是一般我们都省略不写
                double d1 = 3.14234567898623D;
                System.out.println(d1);
                
                //注意:我们最好不要进行浮点类型的比较:
                float f2 = 0.3F;
                double d2 = 0.3;
                System.out.println(f2==d2);
                /*
                区别:
                = 赋值运算:  将等号右侧的值赋给等号左侧
                == 判断==左右两侧的值是否相等  :结果要么相等 要么不相等
                ==运算符的结果就是要么是true,要么是false
                */

                
        }
}

三、字符类型

【1】Java中使用单引号来表示字符常量,字符型在内存中占2个字节

char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。

【2】转义字符

【3】ASCII表

【4】Unicode编码表

Unicode编码表/0000-0FFF

图例:
Unicode 3.1


Unicode 1.0
Unicode 3.2


Unicode 1.1
Unicode 4.0


Unicode 2.0
Unicode 4.1


Unicode 2.1
未使用


Unicode 3.0
不作编码
图例: Unicode 3.1 Unicode 1.0 Unicode 3.2 Unicode 1.1 Unicode 4.0 Unicode 2.0 Unicode 4.1 Unicode 2.1 未使用 Unicode 3.0 不作编码 Unicode 编码表


0000-0FFF
8000-8FFF
10000-10FFF
20000-20FFF
28000-28FFF


1000-1FFF
9000-9FFF

21000-21FFF
29000-29FFF


2000-2FFF
A000-AFFF

22000-22FFF
2A000-2AFFF


3000-3FFF
B000-BFFF

23000-23FFF



4000-4FFF
C000-CFFF
1D000-1DFFF
24000-24FFF
2F000-2FFFF


5000-5FFF
D000-DFFF

25000-25FFF



6000-6FFF
E000-EFFF

26000-26FFF



7000-7FFF
F000-FFFF

27000-27FFF
E0000-E0FFF
Unicode 编码表 0000-0FFF 8000-8FFF 10000-10FFF 20000-20FFF 28000-28FFF 1000-1FFF 9000-9FFF 21000-21FFF 29000-29FFF 2000-2FFF A000-AFFF 22000-22FFF 2A000-2AFFF 3000-3FFF B000-BFFF 23000-23FFF 4000-4FFF C000-CFFF 1D000-1DFFF 24000-24FFF 2F000-2FFFF 5000-5FFF D000-DFFF 25000-25FFF 6000-6FFF E000-EFFF 26000-26FFF 7000-7FFF F000-FFFF 27000-27FFF E0000-E0FFF
图例: Unicode 3.1
Unicode 1.0 Unicode 3.2
Unicode 1.1 Unicode 4.0
Unicode 2.0 Unicode 4.1
Unicode 2.1 未使用
Unicode 3.0 不作编码
Unicode 编码表
0000-0FFF 8000-8FFF 10000-10FFF 20000-20FFF 28000-28FFF
1000-1FFF 9000-9FFF 21000-21FFF 29000-29FFF
2000-2FFF A000-AFFF 22000-22FFF 2A000-2AFFF
3000-3FFF B000-BFFF 23000-23FFF
4000-4FFF C000-CFFF 1D000-1DFFF 24000-24FFF 2F000-2FFFF
5000-5FFF D000-DFFF 25000-25FFF
6000-6FFF E000-EFFF 26000-26FFF
7000-7FFF F000-FFFF 27000-27FFF E0000-E0FFF

【Unicode 码表】

0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin) 0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and Latin 1 Supplement) 0100-017F:拉丁文扩展-A (Latin Extended-A) 0180-024F:拉丁文扩展-B (Latin Extended-B) 0250-02AF:国际音标扩展 (IPA Extensions) 02B0-02FF:空白修饰字母 (Spacing Modifiers) 0300-036F:结合用读音符号 (Combining Diacritics Marks) 0370-03FF:希腊文及科普特文 (Greek and Coptic) 0400-04FF:西里尔字母 (Cyrillic) 0500-052F:西里尔字母补充 (Cyrillic Supplement) 0530-058F:亚美尼亚语 (Armenian) 0590-05FF:希伯来文 (Hebrew) 0600-06FF:阿拉伯文 (Arabic) 0700-074F:叙利亚文 (Syriac) 0750-077F:阿拉伯文补充 (Arabic Supplement) 0780-07BF:马尔代夫语 (Thaana) 07C0-077F:西非書面語言 (N'Ko) 0800-085F:阿维斯塔语及巴列维语 (Avestan and Pahlavi) 0860-087F:Mandaic 0880-08AF:撒马利亚语 (Samaritan) 0900-097F:天城文书 (Devanagari) 0980-09FF:孟加拉语 (Bengali) 0A00-0A7F:锡克教文 (Gurmukhi) 0A80-0AFF:古吉拉特文 (Gujarati) 0B00-0B7F:奥里亚文 (Oriya) 0B80-0BFF:泰米尔文 (Tamil) 0C00-0C7F:泰卢固文 (Telugu) 0C80-0CFF:卡纳达文 (Kannada) 0D00-0D7F:德拉维族语 (Malayalam) 0D80-0DFF:僧伽罗语 (Sinhala) 0E00-0E7F:泰文 (Thai) 0E80-0EFF:老挝文 (Lao) 0F00-0FFF:藏文 (Tibetan) 1000-109F:缅甸语 (Myanmar) 10A0-10FF:格鲁吉亚语 (Georgian) 1100-11FF:朝鲜文 (Hangul Jamo) 1200-137F:埃塞俄比亚语 (Ethiopic) 1380-139F:埃塞俄比亚语补充 (Ethiopic Supplement) 13A0-13FF:切罗基语 (Cherokee) 1400-167F:统一加拿大土著语音节 (Unified Canadian Aboriginal Syllabics) 1680-169F:欧甘字母 (Ogham) 16A0-16FF:如尼文 (Runic) 1700-171F:塔加拉语 (Tagalog) 1720-173F:Hanunóo 1740-175F:Buhid 1760-177F:Tagbanwa 1780-17FF:高棉语 (Khmer) 1800-18AF:蒙古文 (Mongolian) 18B0-18FF:Cham 1900-194F:Limbu 1950-197F:德宏泰语 (Tai Le) 1980-19DF:新傣仂语 (New Tai Lue) 19E0-19FF:高棉语记号 (Kmer Symbols) 1A00-1A1F:Buginese 1A20-1A5F:Batak 1A80-1AEF:Lanna 1B00-1B7F:巴厘语 (Balinese) 1B80-1BB0:巽他语 (Sundanese) 1BC0-1BFF:Pahawh Hmong 1C00-1C4F:雷布查语(Lepcha) 1C50-1C7F:Ol Chiki 1C80-1CDF:曼尼普尔语 (Meithei/Manipuri) 1D00-1D7F:语音学扩展 (Phonetic Extensions) 1D80-1DBF:语音学扩展补充 (Phonetic Extensions Supplement) 1DC0-1DFF:结合用读音符号补充 (Combining Diacritics Marks Supplement) 1E00-1EFF:拉丁文扩充附加 (Latin Extended Additional) 1F00-1FFF:希腊语扩充 (Greek Extended) 2000-206F:常用标点 (General Punctuation) 2070-209F:上标及下标 (Superscripts and Subscripts) 20A0-20CF:货币符号 (Currency Symbols) 20D0-20FF:组合用记号 (Combining Diacritics Marks for Symbols) 2100-214F:字母式符号 (Letterlike Symbols) 2150-218F:数字形式 (Number Form) 2190-21FF:箭头 (Arrows) 2200-22FF:数学运算符 (Mathematical Operator) 2300-23FF:杂项工业符号 (Miscellaneous Technical) 2400-243F:控制图片 (Control Pictures) 2440-245F:光学识别符 (Optical Character Recognition) 2460-24FF:封闭式字母数字 (Enclosed Alphanumerics) 2500-257F:制表符 (Box Drawing) 2580-259F:方块元素 (Block Element) 25A0-25FF:几何图形 (Geometric Shapes) 2600-26FF:杂项符号 (Miscellaneous Symbols) 2700-27BF:印刷符号 (Dingbats) 27C0-27EF:杂项数学符号-A (Miscellaneous Mathematical Symbols-A) 27F0-27FF:追加箭头-A (Supplemental Arrows-A) 2800-28FF:盲文点字模型 (Braille Patterns) 2900-297F:追加箭头-B (Supplemental Arrows-B) 2980-29FF:杂项数学符号-B (Miscellaneous Mathematical Symbols-B) 2A00-2AFF:追加数学运算符 (Supplemental Mathematical Operator) 2B00-2BFF:杂项符号和箭头 (Miscellaneous Symbols and Arrows) 2C00-2C5F:格拉哥里字母 (Glagolitic) 2C60-2C7F:拉丁文扩展-C (Latin Extended-C) 2C80-2CFF:古埃及语 (Coptic) 2D00-2D2F:格鲁吉亚语补充 (Georgian Supplement) 2D30-2D7F:提非纳文 (Tifinagh) 2D80-2DDF:埃塞俄比亚语扩展 (Ethiopic Extended) 2E00-2E7F:追加标点 (Supplemental Punctuation) 2E80-2EFF:CJK 部首补充 (CJK Radicals Supplement) 2F00-2FDF:康熙字典部首 (Kangxi Radicals) 2FF0-2FFF:表意文字描述符 (Ideographic Description Characters) 3000-303F:CJK 符号和标点 (CJK Symbols and Punctuation) 3040-309F:日文平假名 (Hiragana) 30A0-30FF:日文片假名 (Katakana) 3100-312F:注音字母 (Bopomofo) 3130-318F:朝鲜文兼容字母 (Hangul Compatibility Jamo) 3190-319F:象形字注释标志 (Kanbun) 31A0-31BF:注音字母扩展 (Bopomofo Extended) 31C0-31EF:CJK 笔画 (CJK Strokes) 31F0-31FF:日文片假名语音扩展 (Katakana Phonetic Extensions) 3200-32FF:封闭式 CJK 文字和月份 (Enclosed CJK Letters and Months) 3300-33FF:CJK 兼容 (CJK Compatibility) 3400-4DBF:CJK 统一表意符号扩展 A (CJK Unified Ideographs Extension A) 4DC0-4DFF:易经六十四卦符号 (Yijing Hexagrams Symbols) 4E00-9FBF:CJK 统一表意符号 (CJK Unified Ideographs) A000-A48F:彝文音节 (Yi Syllables) A490-A4CF:彝文字根 (Yi Radicals) A500-A61F:Vai A660-A6FF:统一加拿大土著语音节补充 (Unified Canadian Aboriginal Syllabics Supplement) A700-A71F:声调修饰字母 (Modifier Tone Letters) A720-A7FF:拉丁文扩展-D (Latin Extended-D) A800-A82F:Syloti Nagri A840-A87F:八思巴字 (Phags-pa) A880-A8DF:Saurashtra A900-A97F:爪哇语 (Javanese) A980-A9DF:Chakma AA00-AA3F:Varang Kshiti AA40-AA6F:Sorang Sompeng AA80-AADF:Newari AB00-AB5F:越南傣语 (Vi?t Thái) AB80-ABA0:Kayah Li AC00-D7AF:朝鲜文音节 (Hangul Syllables) D800-DBFF:High-half zone of UTF-16 DC00-DFFF:Low-half zone of UTF-16 E000-F8FF:自行使用區域 (Private Use Zone) F900-FAFF:CJK 兼容象形文字 (CJK Compatibility Ideographs) FB00-FB4F:字母表達形式 (Alphabetic Presentation Form) FB50-FDFF:阿拉伯表達形式A (Arabic Presentation Form-A) FE00-FE0F:变量选择符 (Variation Selector) FE10-FE1F:竖排形式 (Vertical Forms) FE20-FE2F:组合用半符号 (Combining Half Marks) FE30-FE4F:CJK 兼容形式 (CJK Compatibility Forms) FE50-FE6F:小型变体形式 (Small Form Variants) FE70-FEFF:阿拉伯表達形式B (Arabic Presentation Form-B) FF00-FFEF:半型及全型形式 (Halfwidth and Fullwidth Form) FFF0-FFFF:特殊 (Specials)

U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
0010 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
0020 ! " # $ % & ' ( ) * + , - . /
0030 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
0040 @ A B C D E F G H I J K L M N O
0050 P Q R S T U V W X Y Z [ \ ] ^ _
0060 ` a b c d e f g h i j k l m n o
0070 p q r s t u v w x y z { | } ~ DEL
0080 PAD HOP BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS3
0090 DCS PU1 PU2 STS CCH MW SPA EPA SOS SGCI SCI CSI ST OSC PM APC
00A0 NBSP ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ SHY ® ¯
00B0 ° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
00C0 À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
00D0 Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
00E0 à á â ã ä å æ ç è é ê ë ì í î ï
00F0 ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0100 Ā ā Ă ă Ą ą Ć ć Ĉ ĉ Ċ ċ Č č Ď ď
0110 Đ đ Ē ē Ĕ ĕ Ė ė Ę ę Ě ě Ĝ ĝ Ğ ğ
0120 Ġ ġ Ģ ģ Ĥ ĥ Ħ ħ Ĩ ĩ Ī ī Ĭ ĭ Į į
0130 İ ı IJ ij Ĵ ĵ Ķ ķ ĸ Ĺ ĺ Ļ ļ Ľ ľ Ŀ
0140 ŀ Ł ł Ń ń Ņ ņ Ň ň ʼn Ŋ ŋ Ō ō Ŏ ŏ
0150 Ő ő Œ œ Ŕ ŕ Ŗ ŗ Ř ř Ś ś Ŝ ŝ Ş ş
0160 Š š Ţ ţ Ť ť Ŧ ŧ Ũ ũ Ū ū Ŭ ŭ Ů ů
0170 Ű ű Ų ų Ŵ ŵ Ŷ ŷ Ÿ Ź ź Ż ż Ž ž ſ
0180 ƀ Ɓ Ƃ ƃ Ƅ ƅ Ɔ Ƈ ƈ Ɖ Ɗ Ƌ ƌ ƍ Ǝ Ə
0190 Ɛ Ƒ ƒ Ɠ Ɣ ƕ Ɩ Ɨ Ƙ ƙ ƚ ƛ Ɯ Ɲ ƞ Ɵ
01A0 Ơ ơ Ƣ ƣ Ƥ ƥ Ʀ Ƨ ƨ Ʃ ƪ ƫ Ƭ ƭ Ʈ Ư
01B0 ư Ʊ Ʋ Ƴ ƴ Ƶ ƶ Ʒ Ƹ ƹ ƺ ƻ Ƽ ƽ ƾ ƿ
01C0 ǀ ǁ ǂ ǃ DŽ Dž dž LJ Lj lj NJ Nj nj Ǎ ǎ Ǐ
01D0 ǐ Ǒ ǒ Ǔ ǔ Ǖ ǖ Ǘ ǘ Ǚ ǚ Ǜ ǜ ǝ Ǟ ǟ
01E0 Ǡ ǡ Ǣ ǣ Ǥ ǥ Ǧ ǧ Ǩ ǩ Ǫ ǫ Ǭ ǭ Ǯ ǯ
01F0 ǰ DZ Dz dz Ǵ ǵ Ƕ Ƿ Ǹ ǹ Ǻ ǻ Ǽ ǽ Ǿ ǿ
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0200 Ȁ ȁ Ȃ ȃ Ȅ ȅ Ȇ ȇ Ȉ ȉ Ȋ ȋ Ȍ ȍ Ȏ ȏ
0210 Ȑ ȑ Ȓ ȓ Ȕ ȕ Ȗ ȗ Ș ș Ț ț Ȝ ȝ Ȟ ȟ
0220 Ƞ ȡ Ȣ ȣ Ȥ ȥ Ȧ ȧ Ȩ ȩ Ȫ ȫ Ȭ ȭ Ȯ ȯ
0230 Ȱ ȱ Ȳ ȳ ȴ ȵ ȶ ȷ ȸ ȹ Ⱥ Ȼ ȼ Ƚ Ⱦ ȿ
0240 ɀ Ɂ
0250 ɐ ɑ ɒ ɓ ɔ ɕ ɖ ɗ ɘ ə ɚ ɛ ɜ ɝ ɞ ɟ
0260 ɠ ɡ ɢ ɣ ɤ ɥ ɦ ɧ ɨ ɩ ɪ ɫ ɬ ɭ ɮ ɯ
0270 ɰ ɱ ɲ ɳ ɴ ɵ ɶ ɷ ɸ ɹ ɺ ɻ ɼ ɽ ɾ ɿ
0280 ʀ ʁ ʂ ʃ ʄ ʅ ʆ ʇ ʈ ʉ ʊ ʋ ʌ ʍ ʎ ʏ
0290 ʐ ʑ ʒ ʓ ʔ ʕ ʖ ʗ ʘ ʙ ʚ ʛ ʜ ʝ ʞ ʟ
02A0 ʠ ʡ ʢ ʣ ʤ ʥ ʦ ʧ ʨ ʩ ʪ ʫ ʬ ʭ ʮ ʯ
02B0 ʰ ʱ ʲ ʳ ʴ ʵ ʶ ʷ ʸ ʹ ʺ ʻ ʼ ʽ ʾ ʿ
02C0 ˀ ˁ ˂ ˃ ˄ ˅ ˆ ˇ ˈ ˉ ˊ ˋ ˌ ˍ ˎ ˏ
02D0 ː ˑ ˒ ˓ ˔ ˕ ˖ ˗ ˘ ˙ ˚ ˛ ˜ ˝ ˞ ˟
02E0 ˠ ˡ ˢ ˣ ˤ ˥ ˦ ˧ ˨ ˩ ˪ ˫ ˬ ˭ ˮ ˯
02F0 ˰ ˱ ˲ ˳ ˴ ˵ ˶ ˷ ˸ ˹ ˺ ˻ ˼ ˽ ˾ ˿
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0300 ̀ ́ ̂ ̃ ̄ ̅ ̆ ̇ ̈ ̉ ̊ ̋ ̌ ̍ ̎ ̏
0310 ̐ ̑ ̒ ̓ ̔ ̕ ̖ ̗ ̘ ̙ ̚ ̛ ̜ ̝ ̞ ̟
0320 ̠ ̡ ̢ ̣ ̤ ̥ ̦ ̧ ̨ ̩ ̪ ̫ ̬ ̭ ̮ ̯
0330 ̰ ̱ ̲ ̳ ̴ ̵ ̶ ̷ ̸ ̹ ̺ ̻ ̼ ̽ ̾ ̿
0340 ̀ ́ ͂ ̓ ̈́ ͅ ͆ ͇ ͈ ͉ ͊ ͋ ͌ ͍ ͎ CGJ
0350 ͐ ͑ ͒ ͓ ͔ ͕ ͖ ͗ ͘ ͙ ͚ ͛ ͜ ͝ ͞ ͟
0360 ͠ ͡ ͢ ͣ ͤ ͥ ͦ ͧ ͨ ͩ ͪ ͫ ͬ ͭ ͮ ͯ
0370 ʹ ͵ ͺ ;
0380 ΄ ΅ Ά · Έ Ή Ί Ό Ύ Ώ
0390 ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο
03A0 Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί
03B0 ΰ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο
03C0 π ρ ς σ τ υ φ χ ψ ω ϊ ϋ ό ύ ώ
03D0 ϐ ϑ ϒ ϓ ϔ ϕ ϖ ϗ Ϙ ϙ Ϛ ϛ Ϝ ϝ Ϟ ϟ
03E0 Ϡ ϡ Ϣ ϣ Ϥ ϥ Ϧ ϧ Ϩ ϩ Ϫ ϫ Ϭ ϭ Ϯ ϯ
03F0 ϰ ϱ ϲ ϳ ϴ ϵ ϶ Ϸ ϸ Ϲ Ϻ ϻ ϼ Ͻ Ͼ Ͽ
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0400 Ѐ Ё Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ѝ Ў Џ
0410 А Б В Г Д Е Ж З И Й К Л М Н О П
0420 Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
0430 а б в г д е ж з и й к л м н о п
0440 р с т у ф х ц ч ш щ ъ ы ь э ю я
0450 ѐ ё ђ ѓ є ѕ і ї ј љ њ ћ ќ ѝ ў џ
0460 Ѡ ѡ Ѣ ѣ Ѥ ѥ Ѧ ѧ Ѩ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ
0470 Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ ѷ Ѹ ѹ Ѻ ѻ Ѽ ѽ Ѿ ѿ
0480 Ҁ ҁ ҂ ҃ ҄ ҅ ҆ ҈ ҉ Ҋ ҋ Ҍ ҍ Ҏ ҏ
0490 Ґ ґ Ғ ғ Ҕ ҕ Җ җ Ҙ ҙ Қ қ Ҝ ҝ Ҟ ҟ
04A0 Ҡ ҡ Ң ң Ҥ ҥ Ҧ ҧ Ҩ ҩ Ҫ ҫ Ҭ ҭ Ү ү
04B0 Ұ ұ Ҳ ҳ Ҵ ҵ Ҷ ҷ Ҹ ҹ Һ һ Ҽ ҽ Ҿ ҿ
04C0 Ӏ Ӂ ӂ Ӄ ӄ Ӆ ӆ Ӈ ӈ Ӊ ӊ Ӌ ӌ Ӎ ӎ
04D0 Ӑ ӑ Ӓ ӓ Ӕ ӕ Ӗ ӗ Ә ә Ӛ ӛ Ӝ ӝ Ӟ ӟ
04E0 Ӡ ӡ Ӣ ӣ Ӥ ӥ Ӧ ӧ Ө ө Ӫ ӫ Ӭ ӭ Ӯ ӯ
04F0 Ӱ ӱ Ӳ ӳ Ӵ ӵ Ӷ ӷ Ӹ ӹ
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0500 Ԁ ԁ Ԃ ԃ Ԅ ԅ Ԇ ԇ Ԉ ԉ Ԋ ԋ Ԍ ԍ Ԏ ԏ
0510
0520
0530 Ա Բ Գ Դ Ե Զ Է Ը Թ Ժ Ի Լ Խ Ծ Կ
0540 Հ Ձ Ղ Ճ Մ Յ Ն Շ Ո Չ Պ Ջ Ռ Ս Վ Տ
0550 Ր Ց Ւ Փ Ք Օ Ֆ ՙ ՚ ՛ ՜ ՝ ՞ ՟
0560 ա բ գ դ ե զ է ը թ ժ ի լ խ ծ կ
0570 հ ձ ղ ճ մ յ ն շ ո չ պ ջ ռ ս վ տ
0580 ր ց ւ փ ք օ ֆ և ։ ֊
0590 ֑ ֒ ֓ ֔ ֕ ֖ ֗ ֘ ֙ ֚ ֛ ֜ ֝ ֞ ֟
05A0 ֠ ֡ ֢ ֣ ֤ ֥ ֦ ֧ ֨ ֩ ֪ ֫ ֬ ֭ ֮ ֯
05B0 ְ ֱ ֲ ֳ ִ ֵ ֶ ַ ָ ֹ ֻ ּ ֽ ־ ֿ
05C0 ׀ ׁ ׂ ׃ ׄ ׅ ׆ ׇ
05D0 א ב ג ד ה ו ז ח ט י ך כ ל ם מ ן
05E0 נ ס ע ף פ ץ צ ק ר ש ת
05F0 װ ױ ײ ׳ ״
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0600 ؋ ، ؍ ؎ ؏
0610 ؐ ؑ ؒ ؓ ؔ ؕ ؛ ؞ ؟
0620 ء آ أ ؤ إ ئ ا ب ة ت ث ج ح خ د
0630 ذ ر ز س ش ص ض ط ظ ع غ
0640 ـ ف ق ك ل م ن ه و ى ي ً ٌ ٍ َ ُ
0650 ِ ّ ْ ٓ ٔ ٕ ٖ ٗ ٘ ٙ ٚ ٛ ٜ ٝ ٞ
0660 ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ٪ ٫ ٬ ٭ ٮ ٯ
0670 ٰ ٱ ٲ ٳ ٴ ٵ ٶ ٷ ٸ ٹ ٺ ٻ ټ ٽ پ ٿ
0680 ڀ ځ ڂ ڃ ڄ څ چ ڇ ڈ ډ ڊ ڋ ڌ ڍ ڎ ڏ
0690 ڐ ڑ ڒ ړ ڔ ڕ ږ ڗ ژ ڙ ښ ڛ ڜ ڝ ڞ ڟ
06A0 ڠ ڡ ڢ ڣ ڤ ڥ ڦ ڧ ڨ ک ڪ ګ ڬ ڭ ڮ گ
06B0 ڰ ڱ ڲ ڳ ڴ ڵ ڶ ڷ ڸ ڹ ں ڻ ڼ ڽ ھ ڿ
06C0 ۀ ہ ۂ ۃ ۄ ۅ ۆ ۇ ۈ ۉ ۊ ۋ ی ۍ ێ ۏ
06D0 ې ۑ ے ۓ ۔ ە ۖ ۗ ۘ ۙ ۚ ۛ ۜ ۝ ۞ ۟
06E0 ۠ ۡ ۢ ۣ ۤ ۥ ۦ ۧ ۨ ۩ ۪ ۫ ۬ ۭ ۮ ۯ
06F0 ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۺ ۻ ۼ ۽ ۾ ۿ
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0700 ܀ ܁ ܂ ܃ ܄ ܅ ܆ ܇ ܈ ܉ ܊ ܋ ܌ ܍
0710 ܐ ܑ ܒ ܓ ܔ ܕ ܖ ܗ ܘ ܙ ܚ ܛ ܜ ܝ ܞ ܟ
0720 ܠ ܡ ܢ ܣ ܤ ܥ ܦ ܧ ܨ ܩ ܪ ܫ ܬ ܭ ܮ ܯ
0730 ܰ ܱ ܲ ܳ ܴ ܵ ܶ ܷ ܸ ܹ ܺ ܻ ܼ ܽ ܾ ܿ
0740 ݀ ݁ ݂ ݃ ݄ ݅ ݆ ݇ ݈ ݉ ݊ ݍ ݎ ݏ
0750 ݐ ݑ ݒ ݓ ݔ ݕ ݖ ݗ ݘ ݙ ݚ ݛ ݜ ݝ ݞ ݟ
0760 ݠ ݡ ݢ ݣ ݤ ݥ ݦ ݧ ݨ ݩ ݪ ݫ ݬ ݭ
0770
0780 ހ ށ ނ ރ ބ ޅ ކ އ ވ މ ފ ދ ތ ލ ގ ޏ
0790 ސ ޑ ޒ ޓ ޔ ޕ ޖ ޗ ޘ ޙ ޚ ޛ ޜ ޝ ޞ ޟ
07A0 ޠ ޡ ޢ ޣ ޤ ޥ ަ ާ ި ީ ު ޫ ެ ޭ ޮ ޯ
07B0 ް ޱ
07C0
07D0
07E0
07F0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0800
0810
0820
0830
0840
0850
0860
0870
0880
0890
08A0
08B0
08C0
08D0
08E0
08F0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0900
0910
0920
0930 ि
0940
0950
0960
0970
0980
0990
09A0
09B0 ি
09C0
09D0
09E0
09F0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0A00
0A10
0A20
0A30 ਿ
0A40
0A50
0A60
0A70
0A80
0A90
0AA0
0AB0 િ
0AC0
0AD0
0AE0
0AF0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0B00
0B10
0B20
0B30 ି
0B40
0B50
0B60
0B70
0B80
0B90
0BA0
0BB0 ி
0BC0
0BD0
0BE0
0BF0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0C00
0C10
0C20
0C30 ి
0C40
0C50
0C60
0C70
0C80
0C90
0CA0
0CB0 ಿ
0CC0
0CD0
0CE0
0CF0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0D00
0D10
0D20
0D30 ി
0D40
0D50
0D60
0D70
0D80
0D90
0DA0
0DB0
0DC0
0DD0
0DE0
0DF0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0E00
0E10
0E20
0E30 ฿
0E40
0E50
0E60
0E70
0E80
0E90
0EA0
0EB0
0EC0
0ED0
0EE0
0EF0
U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0F00
0F10
0F20
0F30 ༿
0F40
0F50
0F60
0F70 ཿ
0F80
0F90
0FA0
0FB0 ྿
0FC0
0FD0
0FE0
0FF0

代码1:

public class TestVar07{
        public static void main(String[] args){
                //定义字符类型的变量:
                char ch1 = 'a';
                System.out.println(ch1);
                char ch2 = 'A';
                System.out.println(ch2);
                char ch3 = '4';
                System.out.println(ch3);
                char ch4 = '中';
                System.out.println(ch4);
                char ch5 = '?';
                System.out.println(ch5);
                //java中无论:字母,数字,符号,中文都是字符类型的常量,都占用2个字节。
                char ch6 = ' ';
                System.out.println(ch6);
                //字符类型:单引号引起来的单个字符
                System.out.println("--------------------------------");
                /*
                转义字符:
                \将后面的普通字符转换为特殊含义
                */

                char ch7 = '\n';
                System.out.println("aaa"+ch7+"bbb");
                
                System.out.println("aaa\nbbb");// \n  换行
                
                System.out.println("aaaaaaa\tbbb");  //  \t  制表符
                
                System.out.println("aaa\bbbb");//aabbb  \b  向前退一格
                System.out.println("aaa\rbbb");//bbb   \r 将光标到本行开头 :回车
                
                System.out.println("\"java\""); // \" 将双引号原样输出  \' 将单引号原样输出 \\ 将\原样输出
        }
}

代码2:

public class TestVar08{
        public static void main(String[] args){
                char ch1 = 'A';
               System.out.println(ch1);//A
                System.out.println(ch1+90);//155
                System.out.println(155-ch1);//90
                //char类型我们看到的样子就是它本身的字面常量,但是底层在进行计算的时候,实际上是按照一个码进行计算的。
                //这个码就是ASCII
                //之前说char类型是按照Unicode码表进行存储的 (Unicode兼容了ASCII码,Unicode的前128位置ASCII)
                
                char ch2 = '中';
                System.out.println(ch2);// 中
                System.out.println(ch2+90);// 20103
                System.out.println(20103-ch2);// 90
                
                //转换:
                int num1 = (int)ch2;
                System.out.println(num1);//20013
                
                char ch = (char)20013;
                System.out.println(ch);
                
                int num2 = '中';
                char ch5 = 20013;
                System.out.println(ch5);
                
                //面试题:
                char ch6 = '2'+2;
                System.out.println(ch6);//'4'--->4
        }
}

编码和字符集

【1】什么是编码?

【2】通过生活案例

【3】由权威机构形成的编码表才可以称之为:字符集

  • ASCII

英文字符集

用一个字节的7位表示

  • IOS8859-1

西欧字符集

用一个字节的8位表示

  • GB2312

简体中文字符集

最多使用两个字节编码

PS:中文:2个字节

GB2312兼容了ASCII中的字符:

  • GBK

GB2312的升级,加入了繁体字

最多使用两个字节编码

疑问:

首位如果是0:一个字节代码代表一个字符

首位如果是1:那么一个字节不够,要加上后面的字节才能完整的表示一个字符。

  • Unicode

国际通用字符集,融合了目前人类使用的所有字符。为每个字符分配唯一的字符码。

退出了UTF标准:

三种编码方案: UTF-8,UTF-16,UTF-32

以UTF-8为案例讲解:

中文: 珊 ---》Unicode : 29642

底层存储:

UTF-8标准最多可以用6个字节表示:

以后我们用的最多的就是UTF-8

解释乱码问题

用记事本选择编码方法的时候一般要选择为ANSI---》获取当前操作系统的编码格式:GBK

四、布尔类型

boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。

public class TestVar09{
        public static void main(String[] args){
                //创建一个布尔类型的变量:
                boolean flag1 = true;
                System.out.println(flag1);
                boolean flag2 = false;
                System.out.println(flag2);
                boolean flag3 = 5==9;
                System.out.println(flag3);
                boolean flag4 = 5<9;
                System.out.println(flag4);
        }
}

分类:

后端

标签:

Java

作者介绍

Lanson
V1

CSDN大数据领域博客专家