大数据必学Java基础:基本数据类型

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据必学Java基础:基本数据类型相关的知识,希望对你有一定的参考价值。

文章目录

基本数据类型

一、整数类型整

1、数类型常量

2、整数类型变量

 二、浮点类型

1、浮点类型常量

2、浮点类型变量

三、字符类型 

四、布尔类型


基本数据类型

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.0Unicode 3.2
Unicode 1.1Unicode 4.0
Unicode 2.0Unicode 4.1
Unicode 2.1未使用
Unicode 3.0不作编码
Unicode 编码表
0000-0FFF8000-8FFF10000-10FFF20000-20FFF28000-28FFF
1000-1FFF9000-9FFF21000-21FFF29000-29FFF
2000-2FFFA000-AFFF22000-22FFF2A000-2AFFF
3000-3FFFB000-BFFF23000-23FFF
4000-4FFFC000-CFFF1D000-1DFFF24000-24FFF2F000-2FFFF
5000-5FFFD000-DFFF25000-25FFF
6000-6FFFE000-EFFF26000-26FFF
7000-7FFFF000-FFFF27000-27FFFE0000-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+0123456789ABCDEF
0000NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
0010DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
0020!"#$%&'()*+,-./
00300123456789:;<=>?
0040@ABCDEFGHIJKLMNO
0050PQRSTUVWXYZ[\\]^_
0060`abcdefghijklmno
0070pqrstuvwxyz|~DEL
0080PADHOPBPHNBHINDNELSSAESAHTSHTJVTSPLDPLURISS2SS3
0090DCSPU1PU2STSCCHMWSPAEPASOSSGCISCICSISTOSCPMAPC
00A0NBSP¡¢£¤¥¦§¨©ª«¬SHY®¯
00B0°±²³´µ·¸¹º»¼½¾¿
00C0ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
00D0ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß
00E0àáâãäåæçèéêëìíîï
00F0ðñòóôõö÷øùúûüýþÿ
U+0123456789ABCDEF
0100ĀāĂ㥹ĆćĈĉĊċČčĎď
0110ĐđĒēĔĕĖėĘęĚěĜĝĞğ
0120ĠġĢģĤĥĦħĨĩĪīĬĭĮį
0130İıIJijĴĵĶķĸĹĺĻļĽľĿ
0140ŀŁłŃńŅņŇňʼnŊŋŌōŎŏ
0150ŐőŒœŔŕŖŗŘřŚśŜŝŞş
0160ŠšŢţŤťŦŧŨũŪūŬŭŮů
0170ŰűŲųŴŵŶŷŸŹźŻżŽžſ
0180ƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏ
0190ƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟ
01A0ƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯ
01B0ưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿ
01C0ǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏ
01D0ǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟ
01E0ǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯ
01F0ǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿ
U+0123456789ABCDEF
0200ȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏ
0210ȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟ
0220ȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯ
0230ȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿ
0240ɀɁ
0250ɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟ
0260ɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯ
0270ɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿ
0280ʀʁʂʃʄʅʆʇʈʉʊʋʌ大数据必学Java基础(十三):基本数据类型的转换

大数据必学Java基础(十三):基本数据类型的转换

大数据必学Java基础(七十三):数据流DataInputStream和DataOutputStream介绍

大数据必学Java基础(四十八):包装类和日期类的讲解

大数据必学Java基础(五十七):Set接口讲解

大数据必学Java基础(五十八):Map接口讲解

(c)2006-2024 SYSTEM All Rights Reserved IT常识