学习Java第*1*天-数据类型

学习Java第1天-数据类型

学java原因:到新公司近一个月了,之前搞了4年多python,自学了golang,入职岗位是golang开发,结果现在给我的一直是java代码,照葫芦画瓢写了几个接口,昨天听说接下来几个月还得继续写java,雪崩💔

环境配置

Hello world!

示例代码

public class hello {
    public static void main(String[] args) {
        System.out.println("hello world!");
    }
}

tips:

  • 在idea中输入psvm 会自动生成代码

    public static void main(String[] args) {
    

    }

  • 输入sout会自动生成代码

    System.out.println("Hello world!");
    

数据类型

  • 基本类型(八大基本数据类型)
    • 数值类型
      • byte 占用1个字节,即8比特位,2^8 = 256,范围 -128-127
      • short 占用2个字节 2^16
      • int 4个字节
      • long 8个字节
      • float 4个字节
      • double 8个字节
      • char 字符类型占用2个字节
    • boolean类型
      • 占用1个比特位,值只有:
        • true
        • false
  • 引用类型
    • 接口
    • 数组
整数拓展
二进制

0b

八进制

0

十进制
十六进制

0x

  • 进制代码
package day01;

public class datatype {
public static void main(String[] args) {
// 整数拓展 进制
int i = 10; // 十进制
int i1 = 0b1; // 二进制
int i2 = 010; // 八进制
int i3 = 0x10; // 十六进制
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
// 浮点拓展
// float 有限,离散,舍入误差,大约,接近但不等于
// double 同上
// 银行业务 统一使用BigDecimal工具类处理
float f = 0.1f;
double d = 1.0 / 10;
System.out.println(f == d); // false

    float d1 = 23232323232323f;
    float d2 = d1 + 1;
    System.out.println(d1 == d2); // true


    // 字符拓展 + 转义
    char a = 'a';
    char b = '中';
    System.out.println(a);  // a
    System.out.println((int)a); //强制类型转换 97
    System.out.println(b);  // 中
    System.out.println((int)b); //强制类型转换 20013
    // 编码   Unicode表 97 = a  65 = A   2字节  即 2^16 = 65536

    char c = '\u0061';
    System.out.println(c);

    // == 比较的是地址
    String sa = "hello";
    String sb = "hello";
    String sc = new String("hello");
    String sd = new String("hello");
    System.out.println(sa == sb);   // true
    System.out.println(sc == sd);   // false

}

}

  • 输出结果
10
1
8
16
false
true
a
97
中
20013
a
true
false
Process finished with exit code 0

类型转换

  • 代码
package day01;

public class 类型转换 {
public static void main(String[] args) {
// 位长 低 ----------------------------------> 高
// byte,short,char -> int -> long -> float -> double
// 强制类型转换 高->低
// 自动类型转换 低->高
int i = 128;
byte b = (byte)i; // 内存溢出
System.out.println(i); // 128
System.out.println(b); // -128

    char a = 'a';
    int c = a + 1;
    System.out.println(c);
    System.out.println((char) c);


    // 操作数比较大的时候,注意溢出问题
    // JDK7 新特性,数字之间可以用下划线分割,方便理解
    int money = 10_0000_0000;
    int years = 20;
    int total = money * years; //溢出了
    long total2 = (long) money * (long) years;
    long total3 = money * (long) years;
    System.out.println(total);
    System.out.println(total2);
    System.out.println(total3);
}

}

  • 输出

    128
    -128
    98
    b
    -1474836480
    20000000000
    20000000000
    

注意点:

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 高容量转换到低容量时,强制转换
  4. 转换可能存在内存溢出,或者精度(浮点转整型)问题

unicode编码表

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 Ұ ұ [Ҳ](http://www.wiki.cn/
posted @ 2021-02-20 00:44  elijahxb  阅读(209)  评论(0编辑  收藏  举报