Java语言基础

1. 引入

举例:比如你的同桌要大宝剑,发现钱不够,找你借5毛钱。 时间:2021年6月30日 事件:大宝剑借钱 人物:你的同桌 金额:0.5元 其他…… 以上是生活中我们可以通过一些方式记录数据,在程序中,我们也可以记录数据,通过变量 变量就是用来记录数据

2. NotePad++设置

安装完成以后将欢迎/设置页面关闭 点击设置—>首选项

image.png

3. 变量

3.1 定义方式

先声明,再赋值:【常用】
数据类型 变量名;
变量名 = 值;

声明并赋值:【常用】
数据类型 变量名 = 值;

多个同类型变量的声明与赋值:【了解】
数据类型 变量1 , 变量2 , 变量3 = 值3 , 变量4 , 变量5 = 值5;

  1. public class Test1{
  2. public static void main(String [] args){
  3. // 三种定义变量的方式
  4. // 方式1 先声明 再赋值
  5. int num1;
  6. num1 = 100;
  7. // println 表示每次打印一行 打印完会换行
  8. System.out.println(num1);
  9. // 方式2 连声明带赋值写为一条语句
  10. int num2 = 200;
  11. System.out.println(num2);
  12. // 方式3 同时声明多个同类型的变量 复制个别变量
  13. int numa,numb,numc = 10 , numd ,nume = 55;
  14. System.out.println(numc);
  15. System.out.println(nume);
  16. // 未赋值的(基本数据类型)变量不能直接使用 会编译报错 必须先赋值才能使用
  17. // System.out.println(numa);
  18. // System.out.println(numb);
  19. // System.out.println(numd);
  20. }
  21. }

3.2 单位换算

1TB = 1024GB 1GB = 1024MB 1MB = 1024KB 1KB = 1024byte 1byte = 8bit bit 称之为 位 一个字节(byte)占8位 计算机只认二进制的数值 也就是说每一位只能存储一个0或者1

3.3 整型

面试题: byte的取值范围和原理? 取值范围 -128 ~ 127 因为一个byte占8位,每一位可以存储一个0或者1,计算机以首位(最高位)为符号位,0表示正数,1表示负 数,所以byte最大的数值为0111 1111 转换为十进制为127,最小的数值为1000 0000 转换为十进制为-128

image.png

  1. public class Test2{
  2. public static void main(String [] args){
  3. // ctrl + s 保存
  4. // 整型数据类型 byte short int long
  5. // byte 取值范围 -128 ~ 127
  6. byte b1 = 120;
  7. System.out.println(b1);
  8. // byte b2 = 128; 超过范围不能存储 报错
  9. // System.out.println(b2);
  10. // short 取值范围 -32768 ~ 32767
  11. short s1 = 200;
  12. System.out.println(s1);
  13. // short s2 = 50000; 超过范围不能存储 报错
  14. // System.out.println(s2);
  15. // short s3 = -40000;
  16. // System.out.println(s3);
  17. // int 取值范围 -2147483648 ~ 2147483647
  18. System.out.println(Integer.MAX_VALUE);
  19. System.out.println(Integer.MIN_VALUE);
  20. int i1 = 2000;
  21. System.out.println(i1);
  22. int i2 = -20000;
  23. System.out.println(i2);
  24. // int i3 = 21474836470; 过大的整数 报错
  25. // System.out.println(i3);
  26. // long 取值范围 -9223372036854775808 ~ 9223372036854775807
  27. System.out.println(Long.MAX_VALUE);
  28. System.out.println(Long.MIN_VALUE);
  29. long l1 = 56897L;
  30. long l2 = -784512L;
  31. System.out.println(l1);
  32. System.out.println(l2);
  33. // 给long类型赋值 如果取值范围超过了int的取值范围必须加L 大小写都可以 要求大写
  34. long l3 = 21474836470l;
  35. System.out.println(l3);
  36. }
  37. }

3.4 浮点类型

image.png

  1. public class Test3{
  2. public static void main(String [] args){
  3. // float 取值范围 负数-3.4E+38 ~ -1.4E-45 正数1.4E-45 ~ 3.4E+38
  4. // 在给float类型赋值 必须在末尾加上F 大小写都可以 推荐大写
  5. float f1 = 3.14F;
  6. System.out.println(f1);
  7. float f2 = 20F;
  8. System.out.println(f2);
  9. float f3 = -340000000000000000000000000000000000000F;
  10. System.out.println(f3);
  11. float f4 = -0.0000000000000000000000000000000000000000000014F;
  12. System.out.println(f4);
  13. float f5 = 0.0000000000000000000000000000000000000000000014F;
  14. float f6 = 340000000000000000000000000000000000000F;
  15. System.out.println(f5);
  16. System.out.println(f6);
  17. // double类型取值范围 负数 -1.7E+308 ~ -4.9E-324 正数 4.9E-324 ~ 1.7E+308
  18. double d1 = 2.5;
  19. System.out.println(d1);
  20. double d2 = 20;
  21. System.out.println(d2);
  22. }
  23. }

3.5 布尔类型

image.png

public class Test4{
    public static void main(String [] args){
        // boolean 布尔类型 取值只有 真true/假 false
        int a = 20;
        int b = 30;
        System.out.println(a > b);
        System.out.println(a < b);

        boolean bl1 = true;
        boolean bl2 = false;
        System.out.println(bl1);
        System.out.println(bl2);
    }
}

3.6 字符类型

image.png

char类型可以使用三种赋值方式 字符赋值:char c1 = ‘A’;(通过’’描述为字符赋值) 整数赋值:char c2 = 65;(通过十进制数65在字符集中对应的字符赋值) 进制赋值:char c3 = ‘\u0041’;(通过十六进制数41在字符集中所对应的字符赋值)

public class Test5{
    public static void main(String [] args){
        // char 字符类型 任何被英文单引号包括的内容 且只能有一个 
        // char取值范围 0 ~ 65535 无符号
        char ch1 = 'a';
        char ch2 = 'B';
        char ch3 = '3';
        char ch4 = '中';
        char ch5 = ',';
        System.out.println(ch1);
        System.out.println(ch2);
        System.out.println(ch3);
        System.out.println(ch4);
        System.out.println(ch5);

        // char ch6 = '15'; 编译报错 因为字符只能存一个内容
        // System.out.println(ch6);
        // 当我们直接赋值0~65535 范围的数值将根据ASCII码表 或者 Unicode码表(万国码)来找到对应的内容
        // ASCII码表 美国标准信息交换码
        char ch7 = 97;
        System.out.println(ch7);

        char ch8 = 98;
        System.out.println(ch8);

        char ch9 = 99;
        System.out.println(ch9);

        char ch10 = 20013;
        System.out.println(ch10);

        char ch11 = 20320;
        System.out.println(ch11);

        // char类型也可以直接以unicode编码赋值
        // Unicode记录了世界大多数国家的语言 中文的取值范围是 \u4e00 ~ \u9fa5
        char ch12 = '\u4f60';
        System.out.println(ch12);

        char ch13 = '\u4e00';
        System.out.println(ch13);

        char ch14 = '\u9fa5';
        System.out.println(ch14);

    }
}

4. 转义字符

image.png

public class Test6{
    public static void main(String [] args){
        // 转义字符 表示用于处理一些特殊的符号 作为字符文本使用 不再具有特殊含义
        char ch1 = '\'';
        System.out.println(ch1);

        char ch2 = '\\';
        System.out.println(ch2);

        // \n 换行
        System.out.print("hello world \n 世界你好\n");

        // \t 制表位 符
        System.out.println("学Java\t到千锋\t郑州千锋找帅栋");
        System.out.println("学IT\t到千锋\t郑州千锋圆你梦");

        // \"
        char ch3 = '\"';
        System.out.println(ch3);    
    }
}

5. String类型

image.png

public class Test7{
    public static void main(String [] args){
        String str1 = "abcdefg";
        String str2 = "hel   lo ,;'['.p[.,./'  ";
        String str3 = "中国";
        String str4 = "                1";
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
        System.out.println(str4);

        String str5 = "\"";
        System.out.println(str5);

        String str6 = "\u4e00 \u4e01";
        System.out.println(str6);

        short s1 = -65;
        char ch1 = (char)s1;    //强制类型转换
        System.out.println(ch1);
    }
}