• Java基础语法2数据类型


    2.数据类型

    Java为强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

    String name = "miyazhu";
    int age = 18;
    

    弱类型语言:VB、JavaScript

    Java的数据类型分为两大类:基本类型、引用类型

    基本类型 primitive type

    数值类型

    • 整数类型
      • byte,占一个字节范围: -128~127,一个字节占8位,2的8次方
      • short,占2个字节范围:-32768~32767,2的16次方
      • int,占4个字节范围: -2147483648~2147483647,2的32次方
      • long,占8个字节范围:-9223372036854775808~9223372036854775807,2的64次方
    • 浮点类型
      • float占4个字节
      • double占8个字节
    • 字符类型char,占2个字节

    boolean类型-占1位其值只有true和false两个

    public class Demo1 {
        public static void main(String[] args) {
            // 整数
            int num1 = 10; // 最常用
            byte num2 = 20;
            short num3 = 30;
            long num4 = 40L; // Long类型要在数字后加L
    
            // 小数:浮点数
            float num5 = 50.1f; // 浮点数要在数字后加f
            double num6 = 63.345;
    
            // 字符类型
            char name = '朱';
            char name2 = 'm';
    
            // 字符串, String不是关键字,是类,不属于八大基本类型
            // String words = "hello,little mm";
    
            // 布尔值:是与否
            boolean flag1 = true;
            boolean flag2 = false;
    
        }
    }
    

    整数拓展-进制
    public class Demo2 {
        public static void main(String[] args) {
            int num1 = 12;  // 默认十进制
            int num2 = 012; // 0 八进制
            int num3 = 0x12; // 0x 十六进制
            int num4 = 0b1100; // 0b 二进制
            System.out.println(num1);
            System.out.println(num2);
            System.out.println(num3);
            System.out.println(num4);
        }
    }
    

    结果显示:

    12
    10
    18
    12
    

    浮点数拓展
    public class Demo3 {
        public static void main(String[] args) {
            // 银行业务怎么表示?后续可用:BigDecimal,数学工具类
            float num1 = 0.1f;
            double num2 = 1.0/10;
            System.out.println(num1);
            System.out.println(num2);
            System.out.println(num1==num2);  // 结果为false,无限接近却不等于
            System.out.println("=======");
    
            float dec1 = 2391231231415926f;
            float dec2 = dec1 + 1;
    
            System.out.println(dec1);
            System.out.println(dec2);
            System.out.println(dec1==dec2);  // 结果为true,因为数据超限导致的舍入误差
        }
    }
    

    字符拓展
    public class Demo4 {
        public static void main(String[] args) {
            char c1 = 'a';
            char c2 = 'A';
            char c3 = '1';
            char c4 = '朱';
            // 所有字符本质都是数字,根据Unicode表 97对应a  65对应A 26417对应汉字:朱  2字节 0-65536  = 2的2字节*8位次方,即2的16次方
            System.out.println(c1);
            System.out.println(c2);
            System.out.println(c3);
            System.out.println(c4);
            System.out.println((int)c1);
            System.out.println((int)c2);
            System.out.println((int)c3);
            System.out.println((int)c4);
            System.out.println("========");
            // Unicode表范围:U0000 ~ UFFFF,即0~16*16*16*16,0~2的16次方
            int num16 = 0x61;  // 定义十六进制的61
            System.out.println(num16);  // 97
            char ch1 = '\u0061';  // 十六进制的61为十进制的97,为字符:a
            System.out.println(ch1);
            System.out.println("========");
            // 转义字符
            // \t 制表符
            // \n 换行
            // 等...
            System.out.println("\t1.第一点\nHelloWorld");
        }
    }
    

    显示如下:

    a
    A
    1
    朱
    97
    65
    49
    26417
    ========
    97
    a
    ========
    	1.第一点
    HelloWorld
    

    关于字符串的一个知识点

    public class Demo5 {
    
        public static void main(String[] args) {
            String s1 = "hello";
            String s2 = "hello";
            System.out.println(s1==s2);  // 结果:true
    
            String sb1 = new String("hello");
            String sb2 = new String("hello");
            System.out.println(sb1==sb2);  // 结果:false
        }
    }
    

    引用类型 reference type

    类、接口、数组

  • 相关阅读:
    程序员的九重境界,你是第几重?
    一个常用的正则表达验证类(转载)
    学习程序设计的态度
    科技期刊学术不端文献检测系统(转载)
    用GridView设计固定行数的入库单报表
    JavaScript技巧集
    线程的概念
    java实验三 类的继承与多态
    常见的网络攻击手段及防御方法
    类和对象的概念(转载)
  • 原文地址:https://www.cnblogs.com/zhuzhutest/p/16227475.html
Copyright © 2020-2023  润新知